第二章学习小结

一、学习小结:

      这一章主要是介绍线性表的两种的存储结构:顺序存储结构(顺序表)和链式存储结构(链表),前者可通过数组来实现,看着亲切,学起来也容易些;后者与指针相关,但比较不容易理解。下图为思维导图:

第二章学习小结_第1张图片

       

  顺序表和链表的六个基本操作:定义、创建、初始化、查找、删除、插入,还有相关的时间复杂度的分析计算,注意是否带头结点、是否需要回传等问题。

  注意:在长度为n的顺序表中查找第x个元素,随机访问,T(n) = O(1);查找值为x的元素,需要分析查找和比较的时间复杂度,T(n) = O(n)。

 

二、学习难点

  1、一开始对“头指针、头结点、首元结点”以及“指针变量、结点变量”的概念混乱,时长搞错,后来看老师的视频后跟着画图,化抽象为具体,就不容易搞混啦。

  2、动手写代码的时候总会出现非正常退出的情况,调试后才发现是老师强调过的问题,如:

 第二章学习小结_第2张图片

  3、还有经常遗忘的Destory函数,老是忘记释放new回来的空间,下次一定不能再忘啦!!!

第二章学习小结_第3张图片

   4、时间复杂度有时还是会算错,这个看来要多找些题来计算。

 

三、小组讨论

  小组讨论的形式挺好的,大家一起解决同一个任务,一起分工打码,一起找bug;

  第一次小组讨论进行得比较顺利,第二次因为对两个结构体的关系理解得不透彻,代码写得十分曲折。

  在这里要感谢一下佩佩、鸾怡和秋哥的帮助,我终于知道怎么把这两个类型定义关联起来了!

第二章学习小结_第4张图片第二章学习小结_第5张图片

 

四、讨论点评

       讨论题基本都会自己先写出来,再去看其他同学的解法和思路,有些还挺有意思的,有时能看到和自己解法相似的答案,还能发现一些测试盲点。

       不过上上次的讨论二,打包头尾指针的那个,我真的一脸迷茫,不会打包,因为觉得头指针作用不大,后来在梓盈的帮助下我才理解了打包是为了方便其他操作的作用,而非局限于当前操作。

你可能感兴趣的:(第二章学习小结)