哪个更好,Link-list或Tree,Memory-wise(RAM)..?

时间:2015-08-05 07:58:26

标签: data-structures

哪一个更好,Link-list或Tree,Memory-wise(RAM)..?

Link-list是一个线性结构。或树是水平结构(子节点)。 哪一个更好记忆。不是搜索明智的。

2 个答案:

答案 0 :(得分:1)

除了Damien的诙谐评论:什么样的树?二进制?红黑 ?三元?每个节点都有一个子项链表?节点是否引用其父节点?

选择数据结构后,只需查看每个节点的开销即可。例如,单链表节点的开销是指向下一个元素的一个指针。一个简单的二叉树节点的开销通常是两个指针:每个子节点一个。所以你去,就这么简单。该特定列表的开销将比特定树少两倍,只考虑数据结构本身。

答案 1 :(得分:1)

在比较链表和树时,很少考虑内存,因为这两种数据结构的目的完全不同。在内存方面,链表可以与向量(数组)进行比较:因为向量在相邻内存中存储项,所以它不需要指针和每个项,因此向量/数组占用的内存较少。树需要每个节点中的子向量,而此向量中的每个项都是指向子节点的指针。因此,一棵树消耗的内存至少与链表一样多,因为对于除根之外的每个节点,指向该节点的指针都存储在其父节点中。