数据结构-第二章 学习小结
一、对本章的学习小结:
第二章的难度明显比第一章多好多,这一章主要是对线性表的操作。线性表的线性关系有两类不同的存储结构:顺序存储结构(顺序表)和链式存储结构(链表)。这一章,我们对线性表的链式存储结构练习的比较多。顺序表给我的感觉就跟数组差不多。本章思维导图如图:
二、完成作业或实践时的心得体会:
这一章开始动手写代码实现操作
1、讨论:
这一章的讨论明显比上一章难度提高很多,这些讨论题帮助我们理解线性表,特别是刚开始时的结点、指针域、数据域啥的,搞不懂这些基本的东西,后面根本就做不了题。
2、小组讨论:
这一章进行了两次小组讨论,作为组长,清楚自己还没有尽到组长的职责。两个组员都很棒!继续加油!还要加强自己看代码、分析代码、打代码的能力,还要更加合理地安排讨论方式。
进行互评时,也能看到很多很棒的代码,学到了很多!
3、作业:
作业的完成还是磕磕碰碰,漏这忘那,错这错那的,写代码时还是要翻翻书,看看慕课。
4、经常忘记释放链表!
void DestroyList(LinkList L) {//释放回收链表空间 LNode *p = L ; LNode *q; while(p->next!=NULL) { q= p->next ; delete(p) ; p = q ; } }
5、头尾结点结构体类型的定义
typedef struct node { ElemType data; struct node *next; }LNode; typedef struct { LNode *head; LNode *tail; }List; void init(List &M) {//初始化单链表 M.head = new LNode; M.tail = new LNode; M.head->next = NULL; }
三、分享资料
因为循环链表和双向链表讲得比较少,推荐 循环链表的基本操作 和 双向链表的基本操作 ,这两篇博文讲得很详细,里面涉及malloc函数,可以看这一篇博文 malloc函数用法
四、接下来的目标
1、跟紧脚步学习第三章
2、继续巩固线性表
3、多打码