标题大多不言自明:链表相对于二叉树的优势是什么?我能想到的唯一更有效的情况是遍历每个元素,在这种情况下它仍然非常接近。看起来二叉树在访问数据和插入新元素方面都更快。那么为什么要使用链表呢?
发布于 2010-01-10 14:00:40
如果存储链表的尾部,那么插入到链表中肯定比插入到二叉树中快。如果二叉树是不平衡的,那么插入到二叉树的最坏情况是O(N) (最好的情况是O(Log))。如果它是平衡的,那么插入就是O(log N),但是需要内部管理来保持它的平衡。如果保持尾部不变,则插入链表的时间为O(1)。
此外,与BillyONeal mentioned一样,二叉树通常是关联结构,而链表不是。
发布于 2010-01-10 13:59:05
与二叉树相比,从链表中删除项更容易/更快,因为二叉树只需要很少的操作就可以修复树。
发布于 2010-01-10 13:48:11
链表通常不用作关联容器(READ:不用作字典) --仅用作项的文字列表,如数组。当需要这样一种简单的数据结构时,二叉树的性能很差。
https://stackoverflow.com/questions/2036251
复制相似问题