数据结构严蔚敏 数据结构顺序表和链表在看严蔚敏的数据结构的时候 说经常要对第i(1

2017-07-25
字体:
浏览:
文章简介:回答1:可能周末了,大神们都周末娱乐区了!!! 顺序表能根据下表直接定位到要删除的元素,然而删除后要将此元素后面的所有元素一个一个前移,这就很费时间, 然而链表虽然没有顺序表查找那么快速,但是一旦查找到,只需要将需要删除的节点free掉就OK了,只需要将此节点的next指针给其前一个节点就OK了 查找只需要比较,移动数据需要的步骤就多了 <个人理解,纯属虚构> 2014-05-22 hhuchouse 0回答2:LZ可以写个程序跑跑,然后对其profile. 2014-05-22 hhue 0

回答1:可能周末了,大神们都周末娱乐区了!!! 顺序表能根据下表直接定位到要删除的元素,然而删除后要将此元素后面的所有元素一个一个前移,这就很费时间, 然而链表虽然没有顺序表查找那么快速,但是一旦查找到,只需要将需要删除的节点free掉就OK了,只需要将此节点的next指针给其前一个节点就OK了 查找只需要比较,移动数据需要的步骤就多了 《个人理解,纯属虚构》 2014-05-22 hhuchouse 0

回答2:LZ可以写个程序跑跑,然后对其profile。 2014-05-22 hhue 0

回答3:效率不是这么说说感觉的! 其实写写程序才知道其中的各种条件的考虑判断! 2014-05-22 hhugxj 0

回答4:lz 看清楚了,对于已知下标号的插入,数组在寻找上是快,但大量的实际操作是已知元素的值,此时数组在寻找上毫无优势可言 对于不同的要求,选择不同的数据结构,没有谁一定比谁好 2014-05-22 hhue 0

回答5:效率问题很复杂,你最好做下相应的测试,自己体会下。 当然还要考虑样本的情况,比如已排序的、刚好在开始位置附近找到该节点什么的。可以分为平均情况,最坏情况等等。 每种东西都有自己的特点,就比如元素数量未知的情况,链表就要优于线性表。

线性表容易查找,但操作也相当不方便。链表可能会查找麻烦,但操作却方便很多。数据的样本不同,需要的操作不同,最后需要的容器也会不同,不能因为你说两者都差不多就不用另外一个吧。

比如我有N个元素,但N是多少我不知道,我难道事先分配1000000个空间?不现实吧。但我只有10个元素,而且只要简单的一些操作,可能不会有删除等操作,那我用链表不是麻烦了很多? 总之考虑如何选择一个容器、算法,要结合实际情况,样本特例等等,最后得出一个合适的结论。

不会因为多数情况这个容器、算法没有优势就不去考虑,说不定你的样本几乎全是另一个容器的特例也不一定。 2014-05-22 hhui_zhang 0