- 数据结构和算法是什么:
数据结构是对计算机内存或者磁盘中的数据的一种安排方式,算法是对这种结构中的数据进行各种处理,不然说查找一条数据或者对数据进行排序。
数据结构 | 优点 | 缺点 |
数组 | 插入块,如果知道下标,可以非常快速的存取 | 查找慢、删除慢、大小固定 |
有序数组 | 比无序的数组查找快 | 删除慢、插入慢、大小固定 |
栈 | 提供后进先出的方式存取 | 存取其他数据项很慢 |
队列 | 提供先进先出的方式存取 | 存取其他数据项很慢 |
链表 | 插入块、删除块 | 查找慢 |
二叉树 | 查找、插入、删除都很快(如果树保持平衡) | 删除算法复杂 |
红-黑树 | 查找、插入、删除都很快、树总是平衡的 | 算法复杂 |
2-3-4 树 | 查找插入删除都快、树总是平衡的。类似的树对磁盘存储有用 | 算法复杂 |
哈希表 | 如果关键字已知则存取极快、插入快 | 删除慢、不知道关键字则存取很慢,对存储空间使用不充分 |
堆 | 插入、删除快、对最大数据项的存取很快 | 对其他数据项存储慢 |
图 | 对现实世界建模 | 有些算法慢并且复杂 |