首页 > 代码库 > Java数据结构和算法(一):综述
Java数据结构和算法(一):综述
数据结构和算法能起到什么作用?
数据结构是指数据在计算机内存空间或磁盘中的组织形式。数据结构包括数组、链表、栈、二叉树、哈希表等等。算法对这些结构中的数据进行各种处理,例如,查找一条特殊的数据项或对数据进行排序。
数据结构的概述
数据结构 | 优点 | 缺点 |
数组 | 插入快,如果知道下标,可以非常快地存取 | 查找慢,删除慢,大小固定 |
有序数组 | 比无序数组查找快 | 删除和插入慢,大小固定 |
栈 | 提供后进先出方式的存取 | 存取其他项很慢 |
队列 | 提供先进先出方式的存取 | 存取其他项很慢 |
链表 | 插入快,删除快 | 查找慢 |
二叉树 | 查找、插入、删除都快(如果树保持平衡) | 删除算法复杂 |
红-黑树 | 查找、插入、删除都快。树总是平衡的 | 算法复杂 |
2-3-4树 | 查找、插入、删除都快。树总是平衡的。 | 算法复杂 |
哈希表 | 如果关键字已知则存取极快。插入快 | 删除慢,如果不知道关键字则存取很慢,对存储空间使用不充分 |
堆 | 插入、删除快,对最大数据项的存取很快 | 对其他数据项存取慢 |
图 | 对现实世界建模 | 有些算法慢且复杂 |
算法的概述
许多将要讨论到的算法直接适用于某些特殊的数据结构。对于大多数数据结构来说,都需要知道如何
- 插入一条新的数据项
- 寻找某一特定的数据项
- 删除某一特定的数据项
还需要知道如何迭代地访问某一数据结构中的各数据项,以便进行显示或其他操作。另一种重要的算法范畴是排序,排序有许多种算法,后面将会讨论到。递归的概念在设计某些算法时十分重要。递归意味着一个方法调用它自身。
Java数据结构和算法(一):综述
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。