学习数据结构,重拾C++,对我来说心里真的很没底,以前的C++没认真学,就是擦着及格线过的。自己基础薄弱,我当时就担心会听不明白,但是上课听的时候,感觉理解的还可以。
对于链表这方面知识,通过做题,我的一些总结和想法如下。首先我想到的就是要掌握好链表基础的一些操作,插入、删除、按位查找、按值查找等。一些题目都是这些基础操作的变化。
其次就是指针的链接问题,这个很重要,也是我很容易犯糊涂的地方。因为链表就是通过每个结点的指针域将数据元素按其逻辑顺序链接在一起,在题目中,你要删除还是插入,要考虑到当前元素的前驱和后继这些问题。同时再加上循环体的一些判断条件,就很容易弄错此时的工作指针到底指向哪个元素。
第三个就是刚刚提到的工作指针问题,在解决问题时会有一些循环条件,这时就可能要发生指针的移动,指针结点的赋值等问题。所以在一些问题中重新定义了指针,便于操作,或者是重新申请一个结点便于返回等。
听明白了跟会做题确实是两回事儿,我做的时候就有好多时候没有思路,要不就是按自己的思路写下去,感觉很对啊,可就是不过,有时也很绝望啊。有些题在网上看了别人的解法才恍然大悟。
做题的时候还有一点很重要,就是要考虑全面,而这点往往也很难做好。总之,要始终抱着一颗学习和上进之心。