采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,我是边读算法导论然后一边看您的视频,然后,关于散列表这块,算法导论上说,如果解决冲突时候,用双链表来解决冲突,那么删除的时间就会是O(1),而单链表就是o(m)[就是每条链的平均长度],我很疑惑,这是为什么啊?双链表不也是从头开始查的吗?为什么双链表删除元素就是o(1)了
注意这里的函数定义,对于delete,传入的是x,不是k。k是键值,x是节点。所以,删除操作传入的是要删除的节点。所以,这个过程不需要查找。对于双链表,直接可以获得待删除节点的前驱,之后就可以直接删除该节点:)
继续加油!:)
登录后可查看更多问答,登录/注册
动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…
11.3k 16
1.8k 17
1.7k 14
1.8k 14
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号