数据结构:数据在计算机内容中或者磁盘中的一种安排;如数组,链表,栈,二叉树等。
算法:对这些结构中的数据进行各种处理。
数据结构 优点 缺点
数组 插入快,如果知道下标,快速存取 查找慢,删除慢,大小固定
有序数组 比无序数组查找快 删除跟插入慢 大小固定
栈 提供后进先出方式的存取 存取其他项很慢
队列 提供先进先出方式存取 存取其他项很慢
链表 插入跟删除快 查找慢
二叉树 查找 插入 删除快(如果书保持平衡) 删除算法复杂
红黑树 查找 插入 删除都快 树总是平衡的 算法复杂
2-3-4树 查找 插入 删除都快 树总是平衡的 算法复杂
哈希表 如果关键字已知则存取极快 插入快 删除慢
堆 插入 删除快 对最大数据项的存取很快 对其他慢
图 对现实世界建模 有些算法慢且复杂
算法:对这些结构中的数据进行各种处理。
数据结构 优点 缺点
数组 插入快,如果知道下标,快速存取 查找慢,删除慢,大小固定
有序数组 比无序数组查找快 删除跟插入慢 大小固定
栈 提供后进先出方式的存取 存取其他项很慢
队列 提供先进先出方式存取 存取其他项很慢
链表 插入跟删除快 查找慢
二叉树 查找 插入 删除快(如果书保持平衡) 删除算法复杂
红黑树 查找 插入 删除都快 树总是平衡的 算法复杂
2-3-4树 查找 插入 删除都快 树总是平衡的 算法复杂
哈希表 如果关键字已知则存取极快 插入快 删除慢
堆 插入 删除快 对最大数据项的存取很快 对其他慢
图 对现实世界建模 有些算法慢且复杂