第二章总结

第二章内容小结

 

上图为本章内容的思维导图,从上图中可以看出本章所学知识。线性表中的顺序表由于之前学习过,所以比较好理解,并且也可以较为熟练地应用。但是对于单链表,就没有顺序表那么好理解、掌握,我觉得学习起来有点困难,如果要使得单链表完成一定的功能,就必须掌握好每一条语句,每一条语句之间又有着相互的关联,所以在学习的过程中,不能一昧的死记硬背,要理解它们之间的逻辑关系,可以借助画图来逐渐掌握单链表。对于我来说,单链表最难的就是如何应用它,课本只是给出了它的基本操作语句,但是没有例题,所以在做题的时候会觉得无从下手,这个时候,我便会静下来思考,如何才能实现题目的要求,不去考虑如何使用单链表,而是考虑解决问题的方法,这样会便于找到解题的突破口。

完成作业或实践时解决困难的经验分享

在完成作业时,两道编程题本来我是按照老师的填空要求做的,但是在加入了我自己的思考后,我便对原本的填空题做了修改。顺序表的遍历改成使用数组会更为简单,单链表的遍历填好空后却无法输出,所以也进行了修改,改成了自己的想法,将distroyList函数去掉,display函数直接放入主函数中。

在做实践题时,刚开始我使用了双层循环,其实求两个数组的交集在上个学期已经学过了,在课本p114页,利用双层循环,将一个数组中的每一个元素与另一个数组中的其他的所有元素进行比较,相同则放入第三个数组,但是这样会导致运行超时。所以我去问了其他的同学的做法,有一位同学先使用了sort()函数进行排序,然后将两个数组中的第一个元素先进行比较,若a数组中的元素较小,则令a数组中的第二个元素与b数组第一个元素进行比较,b数组同理。如果比较的元素相同,则放入第三个数组,但是一定要记住将a数组和b数组的下标同时加1,否则会出现死循环。

资料分享

我觉得借鉴之前的课本也会有助于单链表的学习,比如P188——200中,课本详细地描述了链表及算法,还有相关例题,会更容易理解。

还有两篇值得推荐的博客:

https://blog.csdn.net/pnan222/article/details/51066498 这一篇博客是关于顺序表的遍历及查找。

https://www.cnblogs.com/wumac/p/4124962.html 这一篇则是单链表的创建及遍历。

待改进的问题、目标

我目前待解决的问题主要是熟练地掌握并运用单链表,也许是因为刚刚接触,所以还没有完全理解,需要多加练习,多多实践,多查阅资料。接下来的目标就是熟练掌握单链表,解决在编程过程中遇到的问题。

posted @ 2019-03-16 20:37  带我去喝冰可乐  阅读(237)  评论(1编辑  收藏  举报