请稍等 ...
×

采纳答案成功!

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

关于双向链表和单向链表

根据我自己写的单项链表和双向链表,我感觉其实无论哪种链表对于中间位置的元素的处理都是一个O(n)级别的操作,所以一般使用链表是对头和尾处理,那么其实单链表的头尾操作并没有比双链表差啊,甚至操作起来更简单,那为什么jdk里的链表要用双链表呢?可能是因为我见识太短浅,看不到更大的用处吧,不知道老师可否给我介绍一下双链表的作用呢?

正在回答

1回答

你说的“无论哪种链表对于中间位置的元素的处理都是一个O(n)级别的操作”是正确的:)


双向链表的意义在于,如果想快速删除尾结点的话,双向链表可以做到,但是单链表做不到。


因此,对于有一些数据结构,比如双端队列,适合使用双链表构建。


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 Ethan_Qjm #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-04-01 16:03:48
  • 老师,双向列表不就是Node里面多了一个pre指针吗 
    为什么可以快速删除尾节点?
    回复 有任何疑惑可以回复我~ 2020-06-17 16:45:47
  • 因为可以快速的找到尾结点的上一个节点,让上一个节点的 next 为空。
    回复 有任何疑惑可以回复我~ 2020-06-18 00:30:36

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信