数据结构-链表

前言

数据结构是计算机考研的时候,最为关键的一门专业课。不管是清华,还是北大的计算机或者信息科学,都占了超过90分的分数。因此这里总结一下数据结构中的链表常考知识点。

链表是什么,怎么考

可以说是一种常见的数据结构,也算是一种线性表。这些维基百科或者百度百科都能够查到的内容就不多说了。在数据结构中,常考的知识点肯定是对这一类的数据结构本身的应用或者本身的性质区别,这里当然就包括了时间复杂度和空间复杂度。那么问题来了,怎么知道这一类的应用方式,或者直接点,就是代码形式怎么写?这就是考点。首先我们要知道基本的 初始化、插入操作、遍历操作、删除和查找这四个操作的伪代码的写法。当然最好能够自行编写代码来自己研究一下该怎么写。理解了,自然就能够背下来了

链表知识点

注意,链表和顺序表统称为线性表。对于一个跨行考计算机的人来说,这个一开始总是记得不是很清楚。

  • 链表在查找第 i 个数据的时候,时间和 i 是成正比的。
  • 单循环链表的特点是什么?
  • 头指针和头结点的关系是什么?

诸如以上此类的知识点,以后会专门把我所认识的数据结构知识点整理成手册,开源。

但是现在问题来了,以上这些是容易混淆的知识点。那么很难理解的知识点有吗?

其实显而易见,链表本身和内存相关的部分就非常难以理解。

对链表的思考

一开始,我甚至没办法很好地理解为什么链表是这个样子,当然还有为什么顺序表和位置没有关系。这些都是非常让人疑惑的点。

另外,链表的写法也是十分疑惑的一点。node 进来,node 出去。-->位操作等等。这些都是很容易让人疑惑的。而且,带头的不带头的,单向的双向的,分别又有不同的初始化。这些都是很容易混淆的知识点。而我解决这方面的办法就是,写下来,用一张 A1 的纸总结成一张巨大的表。然后贴在墙上。每天和栈、树、图,这三个难兄难弟一起构建数据结构大家庭的全家福。

并且尝试在电脑上以更加具体的 C 语言或者 C++ 语言来编写相应的数据结构,这些都能够为你理解这个数据结构添砖加瓦。

而最关键的问题其实也不是以上的这些,而是,你要学会理解老师出题的思路或者面试官出题的思路。

因为某样重要或者某样比较偏门,所以会考。这是从小学到大学都流行的出题想法。


那么,说了也不多,更加具体的数据结构链表或者说合集都会在日后慢慢诉说。

Life is fantastic。好好学习。

谢谢阅读。

本文作者: Bon
本文地址https://bonxg.com/p/32.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

# Bon
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×