总结
- 线性表是一种逻辑结构,它的数据元素之间存在着
线性关系
- 线性表可以用
数组
或链表
等数据结构来实现,数组实现的线性表的访问效率较高,但插入、删除操作比较低效,链表实现的线性表则相反。 - 线性表的算法包括
插入、删除、查找
等操作 单向链表
、双向链表
、静态链表
、顺序表
等是线性表的常见实现方式
复习
typedef struct SequentialList
{
int actualLength;
int data[LIST_MAX_LENGTH];
} * SequentialListPtr;
typedef struct LinkNode
{
char data;
struct LinkNode *next;
} LNode, *LinkList, *NodePtr;
typedef struct StaticLinkedNode
{
char data;
int next;
} *NodePtr;
typedef struct StaticLinkedList
{
NodePtr nodes;
int* used;
} *ListPtr;
心得
对于这段时间关于线性表的学习,我收获很多。
在学习线性表时,要注意地址分配这些问题,是否连续,大小是多少,这时候可以通过打印地址自己来观察分析。
在平时的学习过程中,注重细节
问题,考虑要全面
,尤其要理清逻辑关系,学会分析。在实现一些相关的具体问题时,要学会设计
,学会利用各种数据结构的特点来实现相关的算法。
同时也要注重培养调试代码的能力,还有保持自己写的代码的可读性与风格问题。
在学习态度上,要更加积极,同时要不断动手敲代码,理论与实践相结合。最重要的是,不能遇到困难就放弃。倘若面前有一个坎,此时此刻应该沉下心来奋力跨过去,不是在那里抱怨与自暴自弃。共勉!