数据结构
数据结构是对在计算机内存中(有时在磁盘中)的数据的一种安排,数据结构包括数组、链表、栈、二叉树、哈希表等等,算法对这些结构中的数据进行各种处理,例如查找一条特殊的数据或者对数据进行排序。
- 数据结构可以解决的问题:
- 现实世界的数据存储
- 程序员的工具
- 建模
数据结构的概述
还可以从数据结构的优缺点来看待数据结构;
数据结构 | 优点 | 缺点 |
---|---|---|
数组 | 插入快,如果知道下标可以快速的存取 | 查找慢、删除慢、大小固定 |
有序数组 | 比无序数组查找快 | 删除和插入慢、大小固定 |
栈 | 提供后进先出方式存取 | 存取其他项很慢 |
队列 | 提供先进先出方式存取 | 存取其他项很慢 |
链表 | 插入快、删除快 | 查找慢 |
二叉树 | 查找、插入、删除都快(如果树保持平衡) | 删除算法复杂 |
红-黑树 | 查找、插入、删除都快(树总是平衡的) | 算法复杂 |
2-3-4树 | 查找、插入、删除都快(树总是平衡的、类似的树对磁盘存储有用) | 算法复杂 |
哈希表 | 如果关键字已知则存取极快,插入快 | 删除慢,如果 |