请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

散列表解决冲突使用双链表与单链表有何区别?

老师,我是边读算法导论然后一边看您的视频,然后,关于散列表这块,算法导论上说,如果解决冲突时候,用双链表来解决冲突,那么删除的时间就会是O(1),而单链表就是o(m)[就是每条链的平均长度],我很疑惑,这是为什么啊?双链表不也是从头开始查的吗?为什么双链表删除元素就是o(1)了图片描述

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2019-06-15 23:09:31

https://img1.sycdn.imooc.com//szimg/5d0509b80001313f07900354.jpg


注意这里的函数定义,对于delete,传入的是x,不是k。k是键值,x是节点。所以,删除操作传入的是要删除的节点。所以,这个过程不需要查找。对于双链表,直接可以获得待删除节点的前驱,之后就可以直接删除该节点:)


继续加油!:)

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号