韩顺平_PHP程序员玩转算法公开课(第一季)11_双向链表在内存中存在形式剖析_学习笔记_源代码图解_PPT文档整理

时间:2023-02-12 09:17:00

文西马龙:http://blog.csdn.net/wenximalong/

链表——双向链表的快速入门
双向链表(不需要辅助变量,就可以自我删除)


使用带head头的双向链表实现—水浒英雄排行榜管理
韩顺平_PHP程序员玩转算法公开课(第一季)11_双向链表在内存中存在形式剖析_学习笔记_源代码图解_PPT文档整理
单向链表的缺点分析:不能自我删除,需要靠辅助节点
而双向链表,则可以自我删除,同时在二叉树,广义表中都需要使用
到一个节点执行两个或者多个节点的时间运用

韩顺平_PHP程序员玩转算法公开课(第一季)11_双向链表在内存中存在形式剖析_学习笔记_源代码图解_PPT文档整理
现在有一个带head头的单向链表,光靠cur是不能删除那个节点(紫色的)的,但是你光靠cur是无法访问到它的前一个节点(绿色的)的,所以它没办法自我删除

韩顺平_PHP程序员玩转算法公开课(第一季)11_双向链表在内存中存在形式剖析_学习笔记_源代码图解_PPT文档整理
如果是双向链表就不一样了,cur要把自己删除,就不需要辅助节点了,只需要这样:
$cur->pre->next=$cur->next;
$cur->next->pre=$cur->pre;
在某些情况下,双向链表的效率要比单向链表要高一些,比如删除的时候,它不需要辅助节点

学完双向链表,在学二叉树的遍历就比较容易了

韩顺平_PHP程序员玩转算法公开课(第一季)11_双向链表在内存中存在形式剖析_学习笔记_源代码图解_PPT文档整理


韩顺平_PHP程序员玩转算法公开课_学习笔记_源代码图解_PPT文档整理_目录