你好,我是 zhenguo
我正在按照下面施工计划往前推进,标记小红旗部分已经讲完,你可以从这里:施工专题已完成 60 篇 汇总 找到过往推送文章
今晚总结基础算法模块里的链表,链表作为最最基础的计算机数据结构之一,有着广泛的应用,这几天我花很多时间打磨了一个《数组转链表》的短视频,发布在视频号中,欢迎观看:
别看这么一个不起眼的几十秒的短视频,制作起来却花费很长时间,因为使用专业的动画软件AE,一边摸索软件使用,一边探索如何更好解释算法,希望真正地帮助到你,如果可以,帮助视频点个赞。
下面我逐步解释数组转链表的完整过程,结合刚才制作好的动画。首先解释问题是什么:
想要输出的链表示意图如下:
算法的伪代码如下所示:
下面每个迭代步,逐个分析。
第一步,head 指向创建的第一个节点:
第二步,同时让tmp指针指向此节点:
第三步,进入遍历,并创建第二个节点,同时令第一个节点指向第二个节点,如下所示,同时 tmp 指向此节点,至此完成第二个节点的串接:
依次串接第三个节点:
串接第四个节点:
这步中,同时让 tmp 指向第四个节点:
同理,完成最后一个节点的串接:
至此数组a转化为链表,全部完成!最终形成的链表,表头为head,表尾为tmp