郑州大学远程教育学院数据结构试题与答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.在单链表中设置头结点有什么作用?
(四)算法题:
1.设带头结点的单链表(L为头指针)中的数据元素递增有序。设计算法,将x插入到链表的适 当位置上,并仍保持该表的有序性。
8.设n为正整数。则下面程序段的时间复杂度为。
k=0;
for(i=l;i<=n;i++){
for(j=i; j<=n; j卄)@k++;
}
A. 0(1) B. 0(n) C. O(nlogn) D. O(n')
(2)判断题:
1.在数据结构中,从逻辑上可以把数据结构分为动态结构和静态结构两大类。()
2.任何一个算法的设计•取决于数据的逻辑结构,而算法的实现则依赖于所釆用的存储结构。
第九章*
查找
8学时
重点掌握各种动态查找表的构造过程、 性能分析、插入/删除方法;掌握静态查 找表的顺序、折半和分块查找及ASL求 法
第十章*
排序
8学时
掌握关于排序的术语及分类方法;重点 掌握插入排序、交换排序、选择排序等 内排序方法及其性能分析方法
一、章节学习U标与要求
1、理解数据抽象和信息隐蔽原则
元素时需平均移动个元素。
A. nB. (n~l)/2C. n/2D. (n+l)/2
5.在带头结点的非空单链表中,头结点的位置由指示,首元结点的存储位置由
指示,除首元结点外,其它任一元素结点的存储位置由指示。
A.头指针B.头结点的指针域的指针C.前驱结点的指针域的指针
6.单链表的头指针为p,若有头结点,则表空的判断条件是:若不带头结点,
二、本章重点、难点
重点:线性表的பைடு நூலகம்点、两种表示方式及它们的运算实现,会求算法的时间复杂度。
难点:单链表结构、特点及其实现
三、章节练习
(-)选择题:
1.顺序表是一种的存储结构,单链表是的存储结构。
A.顺序存取B.随机存取C.索引存取
2.顺序表中第一个元素的起始存储地址为100,每个元素的长度为4,则第五个元素的起始地
则表空的判断条件是o
A. p二二NULLB. p->next==NULL C. p->next-〉next二二NULL
(二)判断题:
1.在单链表中插入或删除元素时是以结点的指针变化来反映逻辑关系的变化,因此不需要移动
元素。 ()
2.顺序表能够以元素在计算机内的物理位置的相邻性来表示线性表中元素之间的逻辑关系。
第四章
串
2学时
重点掌握串的术语、串操作结果和不同 存储结构的特点
第七章*
树和二叉树
10学时
重点掌握二叉树的定义、存储、性质、 遍历算法(递归)及应用、线索化;掌 握树和森林与二义树的转换以及Huffman树和Huffman编码的构造方法
第八章
图
8学时
重点掌握图的术语、存储、遍历算法及 应用;掌握最小生成树的2种构造方法 及特点、会求拓扑排序序列和单源最短 路径
■课程学习进度与指导
章节
课程内容
学时分配
学习指导
(均以课件学习为主)
第一章
绪论
4学时
重点掌握基本概念和时间复杂度的计算 方法
第二章*
线性表
10学时
重点掌握顺序结构和链式结构表示线性 表的方法和操作的实现;结合具体例子 理解编程实现一个问题的2种方法
第三章
栈和队列
8学时
重点掌握栈和队列的特点以及它们各自 的存储表示,尤其是顺序栈和循环队列 的实现;结合具体例子理解栈和队列的 应用
址是。
A.105B.110C.116D.120
3.非空循环单链表(head为头指针)的尾结点(由指针p所指示)应满足o
A. p-〉next=NULL;B. p二二NULL; C. p->next=head; D. p—head:
4.若在线性表的任何位置上插入元素的概率是相等的,那么在长度为n的顺序表中插入一个
()
3.数据元素是数据的不可分割的最小单位。()
4.算法分析的两个主要方面是时间复杂度和空间复杂度。()
第二章 线性表
一、章节学习目标与要求
1、理解线性表的逻辑结构特性、顺序表和链表表示线性表的优缺点、循环链表和双向链表的 特点。
2、掌握线性表的两种存储方式及其实现:熟练掌握顺序表和链表的创建、插入元素、删除元 素以及定位等常用操作的实现算法并会求相应算法的时间复杂度。
郑州大学现代远程教育
《数据结构》课程(本科)
学习指导书
郭纯一编
■课程内容与基本要求
“数据结构”在计算机科学中是一门综合性的专业基础课。本课程将主要介绍数据结构的 基本概念和术语、非数值计算中常用的数据结构(线性表、栈和队列、串、树和图)和基本技 术(查找和排序方法)三大部分。
本课程要求学生在掌握线性表、栈和队列、串、树和二义树、图等基本数据类型的基础 上,会分析各种数据结构的特性,会根据应用需求为所涉及的数据合理选择适当的逻辑结构和 存储结构,并能据此设讣实现问题的算法;还应初步掌握算法的时间和空间效率的分析方法。
2.计算机算法是指。
A.计算方法和运算结果B.调度方法
C.解决某一问题的有限运算系列D.排序方法
3.线性结构中,最后一个结点有个后继结点。
A.0B.1C.任意多
4.算法分析的目的是。
A.找出数据结构的合理性B.研究算法中输入和输出的关系
C.分析算法的效率以求改进D.分析算法的可读性和可行性
5.具有非线性结构的数据结构是。
A.图B.线性表C.串D.栈
6.算法具有5个特性:、、、输入和输出。
A.稳定性、确定性、可行性B.有穷性、确定性、可行性
C.有穷性、安全性、可行性D.有穷性、确定性、可移植性
7.设n为正整数。则下面程序段的时间复杂度为。
i二1;k=0;
while(i<=n~l){
@k+=10*i;
i卄;
}
A. 0(1) B. 0(n) C. O(nlogn) D. O(n')
()
3.在不带头结点的非空单链表中,首元结点的存储位置由头指针指示,除首元结点外,其它任
一元素结点的存储位置由前驱结点的指针域的指针指示。()
(三)问答题:
1.若线性表要求以最快的速度存取而表中元素变动不大,则应采取什么存储结构(顺序或链式
结构)?为什么?
2.若线性表经常做插入/删除操作,则应采取什么存储结构?为什么?
2、掌握所有的基本概念和术语、掌握时间复杂度的计算方法、会用C语言描述抽象数据类型
和算法;能够熟练使用C语言编写程序
二、本章重点、难点
重点:基本概念和术语,C语言描述算法的方式,简单程序的时间复杂度的求法。
难点:时间复杂度的讣算方法和原则。
三、章节练习
(-)选择题:
1.具有线性结构的数据结构是。
A.图B.树C.集合D.栈
(四)算法题:
1.设带头结点的单链表(L为头指针)中的数据元素递增有序。设计算法,将x插入到链表的适 当位置上,并仍保持该表的有序性。
8.设n为正整数。则下面程序段的时间复杂度为。
k=0;
for(i=l;i<=n;i++){
for(j=i; j<=n; j卄)@k++;
}
A. 0(1) B. 0(n) C. O(nlogn) D. O(n')
(2)判断题:
1.在数据结构中,从逻辑上可以把数据结构分为动态结构和静态结构两大类。()
2.任何一个算法的设计•取决于数据的逻辑结构,而算法的实现则依赖于所釆用的存储结构。
第九章*
查找
8学时
重点掌握各种动态查找表的构造过程、 性能分析、插入/删除方法;掌握静态查 找表的顺序、折半和分块查找及ASL求 法
第十章*
排序
8学时
掌握关于排序的术语及分类方法;重点 掌握插入排序、交换排序、选择排序等 内排序方法及其性能分析方法
一、章节学习U标与要求
1、理解数据抽象和信息隐蔽原则
元素时需平均移动个元素。
A. nB. (n~l)/2C. n/2D. (n+l)/2
5.在带头结点的非空单链表中,头结点的位置由指示,首元结点的存储位置由
指示,除首元结点外,其它任一元素结点的存储位置由指示。
A.头指针B.头结点的指针域的指针C.前驱结点的指针域的指针
6.单链表的头指针为p,若有头结点,则表空的判断条件是:若不带头结点,
二、本章重点、难点
重点:线性表的பைடு நூலகம்点、两种表示方式及它们的运算实现,会求算法的时间复杂度。
难点:单链表结构、特点及其实现
三、章节练习
(-)选择题:
1.顺序表是一种的存储结构,单链表是的存储结构。
A.顺序存取B.随机存取C.索引存取
2.顺序表中第一个元素的起始存储地址为100,每个元素的长度为4,则第五个元素的起始地
则表空的判断条件是o
A. p二二NULLB. p->next==NULL C. p->next-〉next二二NULL
(二)判断题:
1.在单链表中插入或删除元素时是以结点的指针变化来反映逻辑关系的变化,因此不需要移动
元素。 ()
2.顺序表能够以元素在计算机内的物理位置的相邻性来表示线性表中元素之间的逻辑关系。
第四章
串
2学时
重点掌握串的术语、串操作结果和不同 存储结构的特点
第七章*
树和二叉树
10学时
重点掌握二叉树的定义、存储、性质、 遍历算法(递归)及应用、线索化;掌 握树和森林与二义树的转换以及Huffman树和Huffman编码的构造方法
第八章
图
8学时
重点掌握图的术语、存储、遍历算法及 应用;掌握最小生成树的2种构造方法 及特点、会求拓扑排序序列和单源最短 路径
■课程学习进度与指导
章节
课程内容
学时分配
学习指导
(均以课件学习为主)
第一章
绪论
4学时
重点掌握基本概念和时间复杂度的计算 方法
第二章*
线性表
10学时
重点掌握顺序结构和链式结构表示线性 表的方法和操作的实现;结合具体例子 理解编程实现一个问题的2种方法
第三章
栈和队列
8学时
重点掌握栈和队列的特点以及它们各自 的存储表示,尤其是顺序栈和循环队列 的实现;结合具体例子理解栈和队列的 应用
址是。
A.105B.110C.116D.120
3.非空循环单链表(head为头指针)的尾结点(由指针p所指示)应满足o
A. p-〉next=NULL;B. p二二NULL; C. p->next=head; D. p—head:
4.若在线性表的任何位置上插入元素的概率是相等的,那么在长度为n的顺序表中插入一个
()
3.数据元素是数据的不可分割的最小单位。()
4.算法分析的两个主要方面是时间复杂度和空间复杂度。()
第二章 线性表
一、章节学习目标与要求
1、理解线性表的逻辑结构特性、顺序表和链表表示线性表的优缺点、循环链表和双向链表的 特点。
2、掌握线性表的两种存储方式及其实现:熟练掌握顺序表和链表的创建、插入元素、删除元 素以及定位等常用操作的实现算法并会求相应算法的时间复杂度。
郑州大学现代远程教育
《数据结构》课程(本科)
学习指导书
郭纯一编
■课程内容与基本要求
“数据结构”在计算机科学中是一门综合性的专业基础课。本课程将主要介绍数据结构的 基本概念和术语、非数值计算中常用的数据结构(线性表、栈和队列、串、树和图)和基本技 术(查找和排序方法)三大部分。
本课程要求学生在掌握线性表、栈和队列、串、树和二义树、图等基本数据类型的基础 上,会分析各种数据结构的特性,会根据应用需求为所涉及的数据合理选择适当的逻辑结构和 存储结构,并能据此设讣实现问题的算法;还应初步掌握算法的时间和空间效率的分析方法。
2.计算机算法是指。
A.计算方法和运算结果B.调度方法
C.解决某一问题的有限运算系列D.排序方法
3.线性结构中,最后一个结点有个后继结点。
A.0B.1C.任意多
4.算法分析的目的是。
A.找出数据结构的合理性B.研究算法中输入和输出的关系
C.分析算法的效率以求改进D.分析算法的可读性和可行性
5.具有非线性结构的数据结构是。
A.图B.线性表C.串D.栈
6.算法具有5个特性:、、、输入和输出。
A.稳定性、确定性、可行性B.有穷性、确定性、可行性
C.有穷性、安全性、可行性D.有穷性、确定性、可移植性
7.设n为正整数。则下面程序段的时间复杂度为。
i二1;k=0;
while(i<=n~l){
@k+=10*i;
i卄;
}
A. 0(1) B. 0(n) C. O(nlogn) D. O(n')
()
3.在不带头结点的非空单链表中,首元结点的存储位置由头指针指示,除首元结点外,其它任
一元素结点的存储位置由前驱结点的指针域的指针指示。()
(三)问答题:
1.若线性表要求以最快的速度存取而表中元素变动不大,则应采取什么存储结构(顺序或链式
结构)?为什么?
2.若线性表经常做插入/删除操作,则应采取什么存储结构?为什么?
2、掌握所有的基本概念和术语、掌握时间复杂度的计算方法、会用C语言描述抽象数据类型
和算法;能够熟练使用C语言编写程序
二、本章重点、难点
重点:基本概念和术语,C语言描述算法的方式,简单程序的时间复杂度的求法。
难点:时间复杂度的讣算方法和原则。
三、章节练习
(-)选择题:
1.具有线性结构的数据结构是。
A.图B.树C.集合D.栈