一开始学习链表的时候比较一头雾水,我觉得主要原因是我指针那一部分的知识都已经忘记了,所以我又看了一遍C++课本里指针那一部分的知识,就能大体搞懂链表了。然后开始做 LintCode 上的链表的一开始的几个简单的题练练手。后来又花了三四个小时看了老师讲的链表的插入排序那个题, 把每一个细节都搞懂,感觉做完这个插入排序做链表这里的题都比较得心应手了。
我感觉链表这个线性结构有好的地方也有不好的地方。跟数组比较的话,数组每次开辟的空间都是固定的,开大了比较浪费,开小了又容易越界,而链表就能在使用的时候不断追加,而且链表的插入也比数组好用。但链表比较不好的地方就是它不能像数组一样利用下标进行访问,必须挨个节点访问,比较麻烦。
链表这里我觉得需要掌握头插法、尾插法,搞懂链表的插入排序,明白什么时候需要给链表插头节点,其实插头节点就是为了统一处理空和非空的节点,使操作比较容易~
最后附到今天为止老师布置的题的完成情况截图~