第二章主要学习的是线性表,其中包含了顺序表以及链表,顺序表有两种结构体定义,一种是指针,再申请相应数组空间,一种是直接定义数组,前者数组为堆空间,后者则为栈空间,如果数组长度过大,得考虑空间是否充足问题,因而前者适用性更好;
链表主要为单链表,循环链表,双向链表;主要涉及到删除、查找、插入等操作,在学习链表过程中,主要问题是没能充分理解语句的意思,在插入语句中,类似p=s(p为辅助指针、s为指向新结点的指针)总是理解为这一步就插入成功了,插入应该是通过辅助指针来改变所指向的结点的数据域,这样才是有效的,如果只是p=s,只是改变p的指向,并没有改变链表内部的任何数据。在小组讨论插入函数时,还是会不小心混淆,误用到p=s类似这样的语句,说明自己还没能真正运用起来,还得多加练习。
在2.7的讨论2中,感觉自己对ADT的定义好像并没有真正明白,主要问题是数据关系,例如线性表,为什么数据关系<ai-1,ai>这样描述,课本中的复数例子我可以理解为是虚部和实部造就一个复数,那线性表的数据关系是为了表明前驱后继这种关系嘛?
原本觉得网上授课挺不方便的,现在反倒觉得会增强自主学习能力,在小组建立之后,群里也会很活跃得讨论问题,有时一些简洁的代码出来的时候就觉得很nice。
希望之后的自己继续努力!
原文地址:https://www.cnblogs.com/sjjgcxn/p/12625860.html
时间: 2024-11-04 04:46:16