数组
优点:插入快,如果知道下标可以非常快的存取;
缺点:查找慢,删除满,大小固定;
有序数组:
优点:比无序数组查找快;
缺点:删除和插入慢,大小固定
栈:
优点:提供后进先出的存取;
缺点:存取其他项很慢;
队列:
优点:提供后进先出的存取;
缺点:存取其他项很慢;
链表:
优点:插入快,删除快
缺点:查找慢
二叉树:
优点:查找,插入,删除都快(如果树保持平衡)
缺点:删除算法复杂;
红黑树:
优点:查找,插入,删除都快,树总是平衡的;
缺点:算法复杂;
2-3-4 树:
优点:查找,插入,删除都快,树总是平衡的;(类似于树对磁盘存储有用)
缺点:算法复杂;
哈希表:
优点:如果已知关键字贼存取极快,插入快
缺点:删除慢,如果不知道关键字存取很慢,对存储空间使用不充分;
堆:
优点:插入,删除快,对最大数据项的存取很快
缺点:对其他数据项存取慢;
图:
优点:对现实世界建模;
缺点:有些算法慢且复杂;