第一章 线性表:线性表是最简单、最基本、最常用的数据结构。线性表是线性结构的抽象,线性结构的特点是结构中的数据元素之间存在一对一的线性关系。这种一对一的关系是指数据元素之间的位置关系.本章介绍了线性表的概念,逻辑性质,抽象数据类型表示及其顺序存储结构,链式存储结构,并对相应存储方式的初始化、插入、删除等基本操作及其编程进行了详细深入讲解,最后介绍了其它线性表。1.1线性表的类型定义:介绍了线性表的概念,逻辑性质,抽象数据类型表示。
1.2线性表的顺序存储的表示及其编程实现:介绍线性表的顺序存储结构,并用C语句进行表示,并介绍了C语言的动态分配函数。
1.3线性表的顺序存储基本操作的编程实现:介绍顺序表的基本操作,如顺序表的初始化操作,插入,删除操作等,并用C语言对其编程实现,分步讲解C语句,并对宏定义,sizeof(),realloc()函数等进行重点讲解。
1.4顺序表应用综合举例:利用已实现的顺序表的运算组合可以实现其他更复杂的功能。
1.5线性表的链式存储结构的表示和编程实现:介绍线性表的链式存储结构,介绍用线性表链式存储的基本操作,如插入操作,删除操作等,并用C语言对其表示实现,并分步讲解C语句,对其中的函数,头节点,地址域中地址的修改等语句等进行重点讲解。
1.6单链表表应用综合举例:利用已实现的单链表的运算组合可以实现其他更复杂的功能。
1.7双向链表:介绍双向链表的链式存储结构,介绍其基本操作,如插入操作,删除操作等,并用C语言对其表示实现,并分步对重点难点语句进行讲解。
1.8循环链表和双向循环链表:循环链表和双向循环链表的定义,特征,判断表空的条件等。
1.9线性表的应用--数字钟游戏的编写:线性表的应用--数字钟游戏的编写
1.10实验编程---约瑟夫环问题:学会使用顺序表来解决算法的有关问题
1.1线性表的类型定义:介绍了线性表的概念,逻辑性质,抽象数据类型表示。
1.2线性表的顺序存储的表示及其编程实现:介绍线性表的顺序存储结构,并用C语句进行表示,并介绍了C语言的动态分配函数。
1.3线性表的顺序存储基本操作的编程实现:介绍顺序表的基本操作,如顺序表的初始化操作,插入,删除操作等,并用C语言对其编程实现,分步讲解C语句,并对宏定义,sizeof(),realloc()函数等进行重点讲解。
1.4顺序表应用综合举例:利用已实现的顺序表的运算组合可以实现其他更复杂的功能。
1.5线性表的链式存储结构的表示和编程实现:介绍线性表的链式存储结构,介绍用线性表链式存储的基本操作,如插入操作,删除操作等,并用C语言对其表示实现,并分步讲解C语句,对其中的函数,头节点,地址域中地址的修改等语句等进行重点讲解。
1.6单链表表应用综合举例:利用已实现的单链表的运算组合可以实现其他更复杂的功能。
1.7双向链表:介绍双向链表的链式存储结构,介绍其基本操作,如插入操作,删除操作等,并用C语言对其表示实现,并分步对重点难点语句进行讲解。
1.8循环链表和双向循环链表:循环链表和双向循环链表的定义,特征,判断表空的条件等。
1.9线性表的应用--数字钟游戏的编写:线性表的应用--数字钟游戏的编写
1.10实验编程---约瑟夫环问题:学会使用顺序表来解决算法的有关问题
[单选题]()是一种最简单的线性结构。

选项:[线性表, 集合, , ]
[单选题](    )线性表的数据元素可以由所描述对象的各种特征的数据项组成。


选项:[散列存储, 链式存储, 顺序存储, 有序存储]
[单选题]已知单向链表中指针p指向结点A,(     )表示删除A的后继结点(若存在)的链操作(不考虑回收)。


选项:[p=p—>next—>next, p—>next=p—>next—>next, p—>next=p, p=p—>next]
[单选题]已知last指向单向简单链表的尾结点,将s所指结点加在表尾,不正确的操作是____


选项:[last->next=s,last=s,last->next=NULL;, last->next=s,s->next=NULL,last=s;, s->next=NULL, last->next=s, s=last;, s->next=NULL, last->next=s,last=s;]
[单选题]已知h是指向单向加头链表的首指针,删除表头结点的操作是_____


选项:[p=h->next;free(p);h=h->next;, p=h,h=p->next;free(p);, free(h->next);h=h->next;, p=h->next,h->next=p->next;free(p);]
[单选题]有N个元素组成的线性表,我们说此线性表的长度为( )

选项:[n, n+1, 0, n-1]
[多选题]对线性表中的数据元素进行(  )和(  )等操作,实现表的长度的增长或缩短。

选项:[遍历, 删除, 访问, 插入]
[多选题]线性表的抽象数据类型定义

选项:[数据关系, 基本操作, 数据对象, 函数关系]
[单选题]我们使用(   ),实现线性表的顺序存储。

选项:[函数, 数值, 数组, 语句]
[单选题]线性表的基本操作是用C语言中的(   )对其进行表示的。

选项:[结构体, 循环语句, 函数, 条件语句]
[判断题] 在链表中第个结点之前插入新的元素 e ,表的逻辑结构不变。 

选项:[对, 错]
[多选题]在单链表中插入结点只需要()。但同时,若要在第( )个结点之前插入元素,修改的是第 ( )个结点的指针。 

选项:[ i , i-1 , 修改指针, i+1 ]
[判断题]单链表和线性表中所有基本操作相同,且编程实现方法相同。

选项:[对, 错]
[判断题]数字钟程序中使用的时间,可以是系统时间。

选项:[错, 对]
[多选题]和单链表的差别仅在于,判别链表中最后一个结点的条件不再是(  ),而是(  )

选项:[“后继是否为空”, “后继是否为头结点”, “前继是否为空”, “前继是否为头结点”]
[判断题]双向链表的删除 时需要同时修改两个方向上的指针,改变结点之间的逻辑关系。

选项:[错, 对]
[判断题]双向链表的插入 时不需要同时修改两个方向上的指针,改变结点之间的逻辑关系。

选项:[对, 错]
[多选题] 双向链表中,当指针p指向非空表中的非头尾结点时,以下哪个式子是正确的() 

选项:[p=p->next  , p=p->prior->next  , p->next->prior=p , p->next =p->prior ]
[单选题] 双向链表中,当指针p指向非空表中的非头尾结点时,以下哪个式子是正确的() 

选项:[p->prior=p->next, p->next=p ->prior, p=p->prior, p->next->prior=p ]
[多选题] 双向链表需要在结点中设两个指针域(   )

选项:[next指针域, prior指针域, 数据域, parent指针域]

点赞(0) dxwkbang
返回
顶部