线行链表的循环结构在查找数据方面比顺序结构好在哪里??

 我来答
鷹弈
2011-09-29 · TA获得超过5194个赞
知道大有可为答主
回答量:1257
采纳率:0%
帮助的人:632万
展开全部
这主要看是什么情况

如果你的数据是有序排列,那么顺序表利用某些算法(如二分法)进行查找,优点是显而易见的,虽然链表也可以构建一些算法(如利用标记结点进行分块查找),但这种算法绝没有二分法这么高效,只能在某些情况下接近二分算法效率

如果你的数据是无序排列,那么,不管顺序表还是链表都得从头检索(也就是线性查找),没有多大区别

链表的主要优点插入、删除易操作,代价小,缺点是要调用库函数malloc动态申请内存和free释放申请内存,代价高

顺序表缺点是插入或删除一个结点,这后面的结点都要做相应的改变,代价高。优点除了上面所说,还有就是引索快,如我要得到第i个位置的数据,直接用list[i-1]就可以得到,复杂度O(1)(前提是顺序表没有采用任何算法进行处理过)(而链表复杂度则为O(i-1))

我们就可以发现,这两种数据结构正好是互补关系

所以你应该根据自己的数据特点选择是顺序表还是链表
翦伯Q
2011-09-27
知道答主
回答量:28
采纳率:0%
帮助的人:19.8万
展开全部
如果你指的单链表和循环链表,那么循环链表在查找数据方面没有任何好处。用什么链表都要从头查,而且得挨个遍历。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
开朗网友F7
2011-09-27
知道答主
回答量:7
采纳率:0%
帮助的人:3.6万
展开全部
顺序结构只能从头部开始查找,但是循环结构则可以从任何位置查找。
追问
如果指针指在尾节点而我要查的数是倒数第二个那么这两种方法不都一样么???
追答
你说的是个例,要从平均情况来看。
当然,如果是大O时间来看,两者都是O(n)。只不过循环结构的查找位置比较灵活。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式