文档库 最新最全的文档下载
当前位置:文档库 › 数据结构第八章习题及答案教学提纲

数据结构第八章习题及答案教学提纲

数据结构第八章习题及答案教学提纲
数据结构第八章习题及答案教学提纲

数据结构第八章习题

及答案

习题八查找

一、单项选择题

1.顺序查找法适合于存储结构为()的线性表。

A.散列存储 B. 顺序存储或链式存储

C. 压缩存储

D. 索引存储

2.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。

A. (n-1)/2 B. n/2 C. (n+1)/2 D. n

3.适用于折半查找的表的存储方式及元素排列要求为( )

A.链接方式存储,元素无序 B.链接方式存储,元素有序C.顺序方式存储,元素无序 D.顺序方式存储,元素有序

4.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( ) A.必定快 B.不一定 C. 在大部分情况下要快 D. 取决于表递增还是递减

5.当采用分块查找时,数据的组织方式为 ( )

A.数据分成若干块,每块内数据有序

B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块

C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成

索引块

D. 数据分成若干块,每块(除最后一块外)中数据个数需相同

6.二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。这种说法()。

A.正确 B. 错误

7. 二叉查找树的查找效率与二叉树的((1) )有关, 在 ((2) )时其查找效率最低。

(1): A. 高度 B. 结点的多少 C. 树型 D. 结点的位置

(2): A. 结点太多 B. 完全二叉树 C. 呈单枝树 D. 结点太复

杂。

8.如果要求一个线性表既能较快的查找,又能适应动态变化的要求,则可采用( )查找法。

A. 分快查找

B. 顺序查找

C. 折半查找

D. 基于属性9.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( )。

A.(100,80, 90, 60, 120,110,130) B.(100,120,110,130,80, 60, 90)

C.(100,60, 80, 90, 120,110,130)

D. (100,80, 60, 90,120,130,110)

10.下图所示的4棵二叉树,( )是平衡二叉树。

(A)(B)(C)

(D)

11.散列表的平均查找长度()。

A.与处理冲突方法有关而与表的长度无关

B.与处理冲突方法无关而与表的长度有关

C.与处理冲突方法有关且与表的长度有关

D.与处理冲突方法无关且与表的长度无关

12. 设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造散列表,散列函数为H(key)=key MOD 13,散列地址为1的链中有()个记录。

A.1 B. 2 C. 3 D. 4

13. 关于杂凑查找说法不正确的有几个( )

(1)采用链地址法解决冲突时,查找一个元素的时间是相同的

(2)采用链地址法解决冲突时,若插入规定总是在链首,则插入任一个元素的时间是相同的

(3)用链地址法解决冲突易引起聚集现象

(4)再哈希法不易产生聚集

A. 1

B. 2

C. 3

D. 4

14. 设哈希表长为14,哈希函数是H(key)=key%11,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是( )

A.8 B.3 C.5 D.9

15. 将10个元素散列到100000个单元的哈希表中,则()产生冲突。

A. 一定会

B. 一定不会

C. 仍可能会

二、填空题

1. 顺序查找n个元素的顺序表,若查找成功,则比较关键字的次数最多为__ __次;当使用监视哨时,若查找失败,则比较关键字的次数为__ __。

2. 在顺序表(8,11,15,19,25,26,30,33,42,48,50)中,用二分(折半)法查找关键码值20,需做的关键码比较次数为____.

3.一个无序序列可以通过构造一棵_ _ _ _树而变成一个有序序列,构造树的过程即为对无序序列进行排序的过程。

4. 哈希表是通过将查找码按选定的__ __和 __ __,把结点

按查找码转换为地址进行存储的线性表。哈希方法的关键是_ __和

__ __。一个好的哈希函数其转换地址应尽可能__ __,而且

函数运算应尽可能__ __。

5. 平衡二叉树又称__________,其定义是_____

_____。

6. 在哈希函数H(key)=key%p中,p值最好取__________。

7.假定有k个关键字互为同义词,若用线性探测再散列法把这k个关键字存入

散列表中,至少要进行__________次探测。

8. __________法构造的哈希函数肯定不会发生冲突。

9. 动态查找表和静态查找表的重要区别在于前者包含有__________和

__________运算,而后者不包含这两种运算。

10.在散列存储中,装填因子α的值越大,则__ __;α的值越小,则__ __。

11. 已知N元整型数组a存放N个学生的成绩,已按由大到小排序,以下算法

是用对分(折半)查找方法统计成绩大于或等于X分的学生人数,请填空使

之完善。

#define N /*学生人数*/

int uprx(int a[N],int x ) /*函数返回大于等于X分的学生人数*/

{ int head=1,mid,rear=N;

do {mid=(head+rear)/2;

if(x<=a[mid]) __(1) __ else __(2)_ _;

}while(__(3)_ _);

if (a[head]

return head; }第九章查找

一、单项选择题

1.B

2.C

3.D

4.C

5.B

6.B

7. C C

8.A

9.C

10.B

11.A

12. D

13. B

14. D

15. C

二、填空题

1. n n+1

2. 4

3.二叉排序

4. (1)哈希函数(2)解决冲突的方法 (3)选择好的哈希函数 (4)处理冲突的方法

(5)均匀(6)简单

5. AVL树(高度平衡树,高度平衡的二叉排序树)

或为空二叉树,或二叉树中任意结点左子树高度与右子树高度差的绝对值小于等于1。

6. 小于等于表长的最大素数或不包含小于20的质因子的合数

7.k(k+1)/2

8. 直接定址法

9. 插入删除

10.存取元素时发生冲突的可能性就越大存取元素时发生冲突的可能性就越小

11.(1)rear=mid-1 (2)head=mid+1 (3)head>rear

数据结构与算法考试大纲

《数据结构》考试大纲 I.考查目标 考试目标是了解常见数据结构的概念,掌握数据结构的构造方法以及相应的算法思想,会对重点数据结构的操作方法和算法进行简单的伪代码编写。 II.考试形式和试卷结构 一、试卷总分及考试时间 试卷总分为150分,考试时间180分钟。 二、答题方式 答题方式为闭卷、笔试。 III.考查内容 第一章、线性表 1.线性表的逻辑结构 2.线性表的顺序存储结构 3.线性表的链式存储结构 3.1单链表 3.2循环链表 3.3双向链表 第二章、栈与队列

1.栈 1.1栈的基本概念 1.2顺序栈 1.3链式栈 2.队列 2.1队列的基本概念 2.2链队列 2.3循环队列——队列的顺序存储结构第三章、串 1.串类型的定义 2.字符串的实现 3.字符串模式匹配算法 3.1简单字符串模式匹配算法 3.2首尾字符串模式匹配算法 3.3KMP模式匹配算法 第四章、数组和广义表 1.数组 1.1数组的基本概念 1.2数组的顺序存储方式 2.矩阵 2.1矩阵的定义和操作

2.2特殊矩阵 2.3稀疏矩阵 3.广义表 3.1基本概念 3.2广义表的存储结构 第五章、树和二叉树 1.树的基本概念 1.1树的定义 1.2基本术语 2.二叉树 2.1二叉树的定义 2.2二叉树的性质 2.3二叉树的存储结构 3.二叉树的遍历 3.1遍历的定义 3.2遍历算法 4.树和森林 4.1树的存储表示 4.2森林的存储表示 4.3树和森林的遍历 4.4树和森林与二叉树的转换 5.哈夫曼树与哈夫曼编码

5.1哈夫曼树的基本概念 5.2哈夫曼树构造算法 5.3哈夫曼树编码 第六章、图 1.图的定义和术语 2.图的存储表示 2.1邻接矩阵 2.2邻接表 3.图的遍历 3.1深度优先搜索 3.2广度优先搜索 4.图的最小代价生成树 4.1Prim算法 4.2Kruskal算法 5.有向无环图的应用 5.1拓扑排序 5.2关键路径 6.最短路径问题 6.1单源点最短路径 6.2所有顶点之间的最短路径第七章、查找

数据结构试题库答案

数据结构试题及答案 一、单项选择题 (1)一个算法应该就是()。 A)程序???B)问题求解步骤得描述 C)要满足五个基本属性??D) A与C (2)算法指得就是()。 A)计算机程序???B)解决问题得计算方法 C)排序算法???D)解决问题得有限运算序列。 (3)与数据元素本身得形式、内容、相对位置、个数无关得就是数据得()。 A) 存储结构B) 逻辑结构C)算法D)操作 (4)从逻辑上可以把数据结构分为( )两大类。 A)动态结构、静态结构??B) 顺序结构、链式结构 C)线性结构、非线性结构???D)初等结构、构造型结构 (5)下列叙述中正确得就是()。 A)一个逻辑数据结构只能有一种存储结构 B)数据得逻辑结构属于线性结构,存储结构属于非线性结构 C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理得效率 D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理得效率 (6)数据得基本单位就是() ?A) 数据项??B) 数据类型C)数据元素??D)数据变量 (7)下列程序得时间复杂度为() i=0;s=0; while(s

2017年数据结构期末考试题及答案A

2017年数据结构期末考试题及答案 一、选择题(共计50分,每题2分,共25题) 1 ?在数据结构中,从逻辑上可以把数据结构分为 C 。 A. 动态结构和静态结构B?紧凑结构和非紧凑结构 C.线性结构和非线性结构 D .内部结构和外部结构 2?数据结构在计算机内存中的表示是指 A ° A. 数据的存储结构 B.数据结构 C.数据的逻辑结构 D .数据元 素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A. 逻辑B?存储 C.逻辑和存储 D.物理 4 .在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C ° A.数据的处理方法B?数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 5. 在决定选取何种存储结构时,一般不考虑 A ° A.各结点的值如何B?结点个数的多少 C?对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。 6. 以下说法正确的是D ° A. 数据项是数据的基本单位 B. 数据元素是数据的最小单位 C. 数据结构是带结构的数据项的集合 D. —些表面上很不相同的数据可以有相同的逻辑结构 7. 在以下的叙述中,正确的是B ° A. 线性表的顺序存储结构优于链表存储结构 B. 二维数组是其数据元素为线性表的线性表 C?栈的操作方式是先进先出 D.队列的操作方式是先进后出

8. 通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 A. 数据元素具有同一特点 B. 不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C. 每个数据元素都一样 D. 数据元素所包含的数据项的个数要相等 9 ?链表不具备的特点是 A 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C?不必事先估计存储空间 D.所需空间与其长度成正比 10. 若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一 个结点,则采用 D 存储方式最节省运算时间。 A.单链表B ?给出表头指针的单循环链表 C.双链表D ?带头结点 的双循环链表 11. 需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 A.单链表B .静态链表 C.线性链表 D .顺序存储结构 12 .非空的循环单链表head的尾结点(由p所指向)满足C 。 A. p—>next 一NULL B. p — NULL C. p—>next == head D. p = = head 13 .在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。 A .p—> prior-> prior=s B .p—> prior-> n ext=s C.s —> prior—> n ext = s D.s —> prior—> prior = s 14 .栈和队列的共同点是C 。 A.都是先进后出 B .都是先进先出 C.只允许在端点处插入和删除元素 D .没有共同点

991数据结构与C语言程序设计考试大纲(2013版).

编程技术精品! 991数据结构与C语言程序设计考试大纲(2013版) 2013年《数据结构与C语言程序设计》考试内容包括"数据结构"与"C语言程序设计"两门课程的内容,各占比例50%,试卷满分为150分。《数据结构》部分指定参考书:《数据结构教程(第二版)》唐发根编著北京航空航天大学出版社一、概述 1.数据的逻辑结构与存储结构的基本概念; 2.算法的定义、基本性质以及算法分析的基本概念,包括采用大?形式表示时间复杂度和空间复杂度。二、线性表 1.线性关系、线性表的定义,线性表的基本操作; 2.线性表的顺序存储结构与链式存储结构(包括单(向链表、循环链表和双向链表的构造原理; 3.在以上两种存储结构的基础上对线性表实施的基本操作,包括顺序表的插入与删除、链表的建立、插入与删除、查找等操作对应的算法设计(含递归算法的设计。三、堆栈与队列 1.堆栈与队列的基本概念与基本操作; 2.堆栈与队列的顺序存储结构与链式存储结构的构造原理; 3.在不同存储结构的基础上对堆栈与队列实施插入与删除等基本操作的算法设计; 4.堆栈和队列在解决实际问题中应用。四、树与二叉树 1.树与二叉树的基本概念,基本特征、名词术语; 2.完全二叉树与满二叉树的基本概念,二叉树的基本性质; 3.二叉树与树、树林之间的转换; 4.二叉树的顺序存储结构与二叉链表存储结构; 5.二叉树的前序遍历、中序遍历、后序遍历和按层次遍历,以及在二叉链表基础上各种遍历算法(重点为非递归算法的设计与应用; 6.二叉排序树的基本概念、建立(插入、查找与平均查找长度ASL 的计算; 7.哈夫曼(Huffman树的基本概念,哈夫曼树的构造与带权路径长度(WPL的计算。五、图 1.图的基本概念、名词术语; 2.图的邻接矩阵存储方法和邻接表(含逆邻接表存储方法的构造原理及特点; 3.图的深度优先搜索与广度优先搜索; 4.最小(代价生成树、最短路径、AOV网与拓扑排序以及AOE网与关键路径的基本概念与求解过程。六、文件及查找 1.顺序查找法以及平均查找长度(ASL的计算; 2.折半查找法以及平均查找长度(ASL的计算,包括查找过程对应的"判定树"的构造; 3.B-树和B+树的基本概念,B-树的插入与查找; 4.散列(Hash表的构造、散列函数的构造,散列冲突的基本概念、处理散列冲突的基本方法以及散列表的查找和平均查找长度的计算。七、内排序 1.排序的基本概念,各种内排序方法的基本

数据结构课程教学大纲

《数据结构》教学大纲 课程性质专业必修课 课程名称数据结构课程编号*04069 适用专业计算机科学与技术/软件工程开课学期第3学期 总学时64 理论50 学分数 4 实践14 一、课程性质与目标 数据结构课程属于专业必修课。通过本课程数据结构的学习,学生应实现如下目标: 1.知识目标:本课程主要讲述线性表、栈、队列、字符串、数组、树、二叉树、图、查找表、内部排序等常用数据结构的基本概念、操作及其典型应用例子。通过本课程的学习,应使学生掌握数据结构的概念及不同的存储结构、掌握一些典型算法原理和方法,且能够在不同存储结构上实现编程,同时,对于算法设计的方式和技巧也有所体会。 2.能力目标 (1)独立获取知识的能力——逐步掌握科学的学习方法,不断地扩展知识面,增强独立思考的能力,更新知识结构; (2)科学观察和思维的能力——运用数据结构的基本理论,熟悉各种基本数据结构及其操作,学会根据实际问题要求来选择数据结构。 (3)分析问题和解决问题的能力——学会利用数据结构原理分析实际问题,提高发现问题与解决问题的能力。对部分优秀的学生,培养其在知名程序设计在线评测系统(如POJ等)中求解实际问题的能力。 (4)求实精神——通过数据结构理论课程教学,培养学生严谨求实的科学态度和刻苦钻研的作风。 (5)实践能力——通过学习,有意识地培养学生编写高质量、高效率程序的能力和风格。 3.素质目标:使学生具备一定的计算思维,热爱算法设计和程序实现,面对实际问题能转换为计算机能够求解的过程并选择合适的数据结构,设计出在时间和空间上具备一定高效率的程序,培养学生学习算法设计与实现的细心和耐心,培养学生坚韧不拔,攀登技术高峰的优秀品质。让部分优秀的学生热爱上湖南省大学生程序设计竞赛,体会ACM程序设计竞赛的魅力。 二、课程教学基本要求 课程前应该认真预习,特别是前导课程相关知识体系; 课中应该认真听课,参与教学过程中的互动、回答问题及联系实际编程; 课后积极做好复习、认真完成作业及课程设计相关实践教学的环节。作业应具备一定实用性的数据结构和算法实现为主,对部分优秀学生,引入一定量的知名程序设计在线评测系统(如POJ等)中与数据结构相关的题目进行编程并在线提交验证正确性与时间、空间效率。 三、教学内容与学时分配

《数据结构》题库及答案

《数据结构》题库及答案 一、选择题 1.线性表的顺序存储结构是一种 的存储结构,线性表的链式存储结构是一种 的存储结构。 a. 随机存储; b.顺序存储; c. 索引存取; d. HASH 存取 2.一个栈的入栈序列是a,b,c,d,e ,则栈的不可能的输出序列是 。 a. edcba; b. decba; c. dceab; d.abcde 3.一个队列的入队序列是1,2,3,4,则队列的输出序列是 。 a. 4,3,2,1; b. 1,2,3,4; c. 1,4,3,2; d.3,2,4,1 4.在一个单链表中,已知p 结点是q 结点的直接前驱结点,若在p 和q 之间插入结点s ,则执行的操作是 。 a. s->nxet=p->next; p->next=s; b. p->next=s->next; s->next=p; c. q->next=s; s->next=p; d. p->next=s; s->next=q; 5.设有两个串p,q ,求q 在p 中首次出现的位置的运算称作 。 a.联接 b.模式匹配 c.求子串 d.求串长 6.二维数组M 的成员是6个字符(每个字符占一个存储单元)组成的串,行下标i 的范围从0到8,列下标j 的范围从1到10,则存放M 至少需要 个字节。 a. 90 b.180 c.240 d.540 7.在线索二叉树中,结点p 没有左子树的充要条件是 。 a. p->lch==NULL b. p->ltag==1 c. p->ltag==1且p->lch=NULL d. 以上都不对 8.在栈操作中,输入序列为(A ,B ,C ,D ),不可能得到的输出序列为:______ A 、(A , B , C , D ) B 、(D ,C ,B ,A ) C 、(A ,C ,D ,B ) D 、(C ,A ,B ,D ) 9.已知某二叉树的后序序列是dabec ,中序序列是debac ,则它的先序序列是 。 A 、acbed B 、decab C 、deabc D 、cedba 10.设矩阵A 是一个对称矩阵,为了节省存储空间,将其下三角部分(见下图)按行序存放在一维数组B[1..n(n-1)/2]中,对任一上三角部分元素)(j i a ij ,在一维数组B 的存放位置是 。

数据结构考试题库

数据结构考试题库

绪论 一、填空题 1.数据的逻辑结构被分为集合、(线性结构)、(树形结构)和(图状结构)四种。 2.物理结构是数据结构在计算机中的表示,又称为(存储结构)。 3.数据元素的逻辑结构包括( 线性)、(树)和图状结构3种类型,树形结构和图状结构合称为(非线性结构)。 4.(数据元素)是数据的基本单位,(数据项)是数据不可分割的最小单位。 5.线性结构中元素之间存在(一个对一个)关系,树形结构中元素之间存在(一个对多个)关系,图状结构中元素之间存在(多个对多个)关系。 ?6.数据结构是一门研究非数值计算的程序设计问题中:计算机的(数据元素)以及它们之间的(关系)和(运筹)等的学科。 7.算法的五个重要特性为有穷性、确定性、(输入)、(输出)和(可行性)。 二、选择题 1.数据的不可分割的基本单位是(D)。 A.元素 B.结点 C.数据类型 D.数据项 *2.线性表的逻辑顺序与存储顺序总是一致的,这种说法(B)。 A.正确 B.不正确 C.不确定 D.无法选择 3.线性结构是指数据元素之间存在一种(D)。 精心整理,用心做精品2

A.一对多关系 B.多对多关系 C.多对一关系 D.一对一关系 4.在数据结构中,从逻辑上可以把数据结构分成(A)。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 5.线性表若采用链式存储结构时,要求内存中可用存储单元的 地址( D)。 A.必须是连续的 B.部分地址必须是连续的 C.一定是不连续的 D.连续不连续都可以 三、简答题 1.算法的特性是什么。 答:有穷性确定性可行性有0或多个输入有1或多个输出线性结构 一、填空题 1.在一个长度为n的线性表中删除第i个元素(1≤i≤n)时,需向前移动(n-i)个元素。 2.从循环队列中删除一个元素时,其操作是(先移动队首指针,后取出元素)。 3.在线性表的单链接存储中,若一个元素所在结点的地址为p,则其后继结点的地址为(p->next)。 4.在一个单链表中指针p所指向结点的后面插入一个指针q所指向的结点时,首先把(p->next)的值赋给q->next,然后(q->date)的值赋给p->next。 5.从一个栈删除元素时,首先取出(栈顶元素),然后再使(栈顶指针)减1。 6.子串的定位操作通常称做串的(模式匹配)。 精心整理,用心做精品3

《数据结构》课程考试大纲

03 《数据结构》考试大纲 主要参考教材:严蔚敏、吴伟民编著,《数据结构(C语言版)》,清华大学出版社 谭国律等编著《数据结构》,浙江大学出版社。 总体要求: “数据结构”是一门专业技术基础课。目的就是要培养他们的数据抽象能力,学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及实现应用的相应算法,并掌握分析算法的时间和空间复杂度的技术。 考生在复习时,重点掌握基本概念、基本算法。考题以基本内容为主,题目以基础知识题为主,各章较难内容、较偏内容不考。课本所有加“*”号章节不考,第8章动态存储管理不考。外部排序,文件部分不考。 各章考试内容及要求: 一、绪论:熟悉各名词、术语的含义,掌握基本概念,特别是数据的逻辑结构和存储结构之 间的关系;了解抽象数据类型的定义、表示和实现方法;熟悉类C语言的书写规范,特别要注意值调用和引用调用的区别,输入、输出的方式以及错误处理方式;理解算法五个要素的确切含义;掌握计算语句频度和估算算法时间复杂度的方法。 二、线性表:线性表的逻辑结构定义、抽象数据类型定义和各种存储结构的描述方法;在线 性表的两类存储结构(顺序存储和链式存储)上实现基本操作;一元多项式的抽象数据类型定义、表示及加法的实现。

三、栈和队列:栈和队列的结构特性;在两种存储结构上如何实现栈和队列的基本操作和栈 和队列在程序设计中的应用。(离散事件模拟不考) 四、串:串的数据类型定义;串的三种存储表示:定长顺序存储结构、块链存储结构和堆 分配存储结构;串的各种基本操作的实现及应用;串的朴素模式匹配算法。 五、数组:数组的类型定义和表示方法;特殊矩阵和稀疏矩阵的压缩存储方法及运算的实 现;(广义表不考)。 六、树和二叉树:二叉树的定义、性质和存储结构;二叉树的遍历和线索化以及遍历算法 的各种描述形式;树和森林的定义、存储结构、树和森林与二叉树的转换、遍历;树的多种应用;本章是该课程的重点内容之一。 七、图:图的定义和术语;图的邻接矩阵存储结构、邻接表存储结构:图的两种遍历策略: 深度优先搜索和广度优先搜索;图的最小生成树prim算法、Kruskal 算法;拓扑排序算法;单源最短路径问题的Dijstra 算法。 八、查找:讨论查找表(包括静态查找表和动态查找表)的各种实现方法:顺序表、有序表、 树表和哈希表;关于衡量查找表的主要操作——查找的查找效率的平均查找长度的讨论。(静态树表、平衡二叉树、B树不考)

《数据结构》课程教学大纲(计算机)

《数据结构》课程教学大纲 一、课程基本信息 二、课程教学目标 本课程介绍软件设计中常用的线性表、栈、队列、串、数组、广义表、树、二叉树、图结构等几种基本的数据结构及其存储结构和所施加的运算与实现等。另外,还介绍软件设计中常用的几种查找和排序算法,以及递归技术等,在介绍各项内容的同时,还涉及到算法设计与分析的基本技术和面向对象程序设计的理论与技术等内容。 通过本课程的学习,达到以下目标: 熟练掌握上述结构及其运算的实现和性能特点, 掌握各种排序和查找运算以及递归技术, 能对给定的实际问题,建立准确的问题模型,设计有效的问题求解方法,选择合理的数据结构及其运算集,设计有效的算法。

三、教学学时分配 《数据结构》课程理论教学学时分配表 *理论学时包括讨论、习题课等学时。 《数据结构》课程实验内容设置与教学要求一览表

四、教学内容和教学要求 第一章绪论(2学时) (一)教学要求 1.了解数据结构的各种基本概念和术语; 2.了解数据类型和抽象数据类型的概念; 3.理解算法的设计目标; 4.掌握算法的时间复杂度概念和算法的时间复杂度分析方法。 (二)教学重点与难点 教学重点:数据结构的逻辑结构、存储结构及数据的运算三方面的概念及相互关系 教学难点:算法复杂度的分析方法。 (三)教学内容 第一节什么是数据结构 1.数据结构的定义 2.逻辑结构类型 3.存储结构类型 4.数据结构和数据类型 第二节算法及其描述 1.什么是算法 2.算法描述

第三节算法分析 1.算法设计的目标 2.算法效率分析 3.算法存储空间分析 本章习题要点:基本概念、算法复杂度的分析方法 第二章线性表(10学时) (一)教学要求 1.理解线性表的逻辑结构和基本操作; 2.理解线性表的顺序存储结构和实现方法; 3.理解线性表的链式存储结构和实现方法; 4.了解单循环链表和双向链表的概念和插入、删除等操作方法。 (二)教学重点与难点 教学重点:顺序表和单链表上实现的各种基本算法及相关的时间性能分析。 教学难点:链表本质及其操作的实现算法、线性表相关的应用。 (三)教学内容 第一节线性表 1.线性表的定义 2.线性表的抽象数据类型描述 第二节线性表的顺序存储结构 1.线性表的顺序存储结构——顺序表 2.顺序表基本运算的实现 第三节线性表的链式存储结构 1.线性表的链式存储结构——链表 2.单链表基本运算的实现 3.双链表 4.循环链表 本章习题要点: 第三章栈和队列(12学时)

数据结构试题及答案(10套最新)

单选题(每题2分,共20分) 1. 1. 对一个算法的评价,不包括如下(B )方面的内容。 A .健壮性和可读性 B .并行性 C .正确性 D .时空复杂度 2.2. 在带有头结点的单链表HL 中,要向表头插入一个由指针 p 指向 的结点,则执行(A )。 A. p->next=HL->next; HL->next=p; B. p->next=HL; HL=p; 都具有相同的(A )。 A.行号 B .列号 C .元素值 D .非零元素个数 9. 快速排序在最坏情况下的时间复杂度为(D )。 A. O(log 2n) B . O(nlog 2n) C . 0(n) D 10.10. 从二叉搜索树中查找一个元素时,其时间复杂度大致 为 A. O(n) B. O(1) C. O(log 2 n) D. O(n 二、 运算题(每题6分,共24分) 1. 1. 数据结构是指数据及其相互之间的 _________________ 。当结点之 间存在M 对N (M N)的联系时,称这种结构为 __________________________ 。 2. 2. 队列的插入操作是在队列的_ _尾 ________ 行,删除操作是在队 列的 ____ 首 _____ 行。 3. 3. 当用长度为N 的数组顺序存储一个栈时,假定用top==N 表示栈 C. p->next=HL; p=HL; 3. 3. A. C. D. HL=p; p-> next=HL; 对线性表,在下列哪种情况下应当采用链表表示? 经常需要随机地存取元素 B. 表中元素需要占据一片连续的存储空间 一个栈的输入序列为1 2 3, 4. 4. 列的是(C ) A. 2 3 1 C. 3 1 2 AOV 网 是一种(D ) 有向 图 B .无向图 (B ) 经常需要进行插入和删除操作 D.表中元素的个数不变 则下列序列中不可能是栈的输出序 B. 3 2 1 5. 5. 6. .无向无环图 D .有向无环图 采用 开放定址法处理散列表的冲突时,其平均查找长度( B. 高于链接法处理冲突 D .高于二分查找 7. 8. 6. A.低于链接法处理冲突 .与链接法处理冲突相同 7. 参数。 A.值 8. B)。 若需要利用形参直接访问实参时,应将形参变量说明为( B .函数 C .指针 D .引用 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点 9. .0(n 2) (C )。 2 )

数据结构期末考试试题及答案

数据结构期末考试试题及答案 、选择题 评价一个算法时间性能的主要标准是()。1. A、算法易于调试 B、算法易于理解 C、算法的稳定性和正确性 D、算法的时间复杂度 )等五个特性。计算机算法具备有输入、输出、 2. A、可行性、可移植性和可扩充性 B、可行性、确定性和有穷性 C、确定性、有穷性和稳定性 D、XX、稳定性和XX 。带头结点的单链表head为空的判定条件是()3. A、h ead==NULL B、h ead->next==NULL C、head->next==head D、head!=NULL 以下关于线性表的说法不正确的是()。4. A、线性表中的数据元素可以是数字、字符、记录等不同类型。 B、线性表中包含的数据元素个数不是任意的。

C、线性表中的每个结点都有且只有一个直接前趋和直接后继。 D、存在这 样的线性表:表中各结点都没有直接前趋和直接后继。 在顺序表中,只要知道(),就可在相同时间内求出任一结点的存储地址。 5.A、基地址 B、结点大小 C、向量大小 D、基地址和结点大小 ()运算中,使用顺序表比链表好。6. A、插入 B、删除 C、根据序号查找 D、根据元素值查找一个长度为n的顺序表中,向第i个元素之前插入一个新元素时,需要向后移动()个元素7.A、n-i B、n-i+1 C、n-i-1 D、i ()适合作为经常在首尾两端操作线性表的存储结构。8. A、顺序表 B、单链表 C、循环链表 D、双向链表

栈和队列的共同点是() 9. A、都是先进后出 B、都是先进先出 C、只允许在端点处插入和删除元素 D、没有共同点 一个队列的入列序列是1234,则队列的输出序列是()。10. A 、4321 B 、12 3 4 C 、1432 D 、 3241队列与一般的线性表的区别在于()。11. A、数据元素的类型不同 B、运算是否受限制 C、数据元素的个数不同 D、逻辑结构不同 假上溢”现象会出现在()中。12. A、循环队列 B、队列 C、链队列 、顺序队列D.二、填空

算法与数据结构题库与答案

一、单项选择题 1 某算法的时间复杂度是O(n 2 ) ,表明该算法()。 A 问题规模是n2 B 问题规模与n2成正比 C 执行时间等于n2 D 执行时间与n2成正比 2、关于数据结构的描述,不正确的是()。 A数据结构相同,对应的存储结构也相同。 B数据结构涉及数据的逻辑结构、存储结构和施加其上的操作等三个方面。 C数据结构操作的实现与存储结构有关。 D定义逻辑结构时可不考虑存储结构。 3、按排序策略分来,起泡排序属于()。 A插入排序B选择排序C交换排序D归并排序 4、利用双向链表作线性表的存储结构的优点是()。 A便于进行插入和删除的操作 B 提高按关系查找数据元素的速度 C节省空间D便于销毁结构释放空间 5、一个队列的进队顺序为1,2,3,4,则该队列可能的输出序列是()。 A 1,2,3,4 B 1,3,2,4 C 1,4,2,3 D 4,3,2,1 6、 Dijkstra算法是按()方法求出图中从某顶点到其余顶点最短路径的。 A按长度递减的顺序求出图的某顶点到其余顶点的最短路径 B按长度递增的顺序求出图的某顶点到其余顶点的最短路径 C通过深度优先遍历求出图中从某顶点到其余顶点的所有路径 D通过广度优先遍历求出图的某顶点到其余顶点的最短路径 7、字符串可定义为n( n≥ 0)个字符的有限()。其中,n是字符串的长度,表明字符串中字符的个数。 A集合B数列C序列D聚合 8、在二维数组A[9][10]中,每个数组元素占用 3 个存储单元,从首地址SA 开始按行连续存放。在这种情况下,元素A[8][5]的起始地址为()。 A SA+141 B SA+144 C SA+222 D SA+255 9、已知广义表为L(A(u,v,(x,y),z),C(m,(),(k,l,n),(())),((())),(e,(f,g),h)),则它的长度是()。 A2B3C4D5 10.对于具有n(n>1)个顶点的强连通图,其有向边条数至少有_____。 A. n+1 B. n C. n-1 D. n-2 11.一个递归算法必须包括 __________ 。 A. 递归部分 B . 结束条件和递归部分 C. 迭代部分 D. 结束条件和迭代部分 12.从逻辑上看可以把数据结构分为__________两大类。 A.动态结构、静态结构B.顺序结构、链式结构 C.线性结构、非线性结构D.初等结构、构造型结构 13、若在长度为n 的顺序表的表尾插入一个新元素的渐进时间复杂度为()。 A O(n) B O(1) C O(n 2) D O(log 2n) 14.采用顺序搜素方式搜索长度为 n 的线性表时,在等概率情况下,搜索成功时的平均搜索 长度为 __________。 A. n B. n/2 C . (n+1)/2 D. (n-1)/2 15、非空的循环单链表first的链尾结点(由p 所指向)满足()。 A p->link==NULL; B P==NULL;

《数据结构》期末考试题及答案

2011-2012学年第一学期期末考查 《数据结构》试卷 (答案一律写在答题纸上,在本试卷上做答无效) 一、选择(每题1分,共10分) 1.长度为n的线性表采用顺序存储结构,一个在其第i个位置插入新元素的算法时间复杂度为(D) A.O(0) B.O(1) C.O(n) D.O(n2) 2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?(D) A.543612 B.453126 C.346512 D.234156 3.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为(B ) A.8 B.9 C.10 D.11 4.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是( B ) A. m-n B.m-n-1 C.n+1 D.m+n 5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B) A.9 B.11 C.15 D.不确定 6.下列哪一个方法可以判断出一个有向图是否有环。(A) A.深度优先遍历 B.拓扑排序 C.求最短路径 D.求关键路径 7.第7层有10个叶子结点的完全二叉树不可能有(B )个结点。 A.73 B.234 C.235 D.236 8.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是(B) A.(100,80,90,60,120,110,130) B.(100, 120, 110,130,80, 60,90) C.(100,60,80,90,120,110,130) D.(100,80, 60,90, 120, 130,110) 9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是(B ) A.选择排序 B.起泡排序 C.快速排序 D.插入排序 10.对线性表进行折半查找时,要求线性表必须(D) A.以顺序方式存储 B.以顺序方式存储,且数据元素有序

2018西安邮电大学初试考试大纲—826数据结构

西安邮电大学硕士研究生招生考试大纲 科目代码:826 科目名称:《数据结构》 一、课程性质和任务 数据结构是计算机各专业的专业基础课。它是操作系统、数据库、编译原理等所有软件专业基础课和专业课的重要基础;它还是进行程序设计,尤其是进行高水平的应用程序和系统程序必不可少的基础。通过本课程的学习,使学生掌握数据组织、存储和运算的基本原理和方法,培养学生对各类数据结构和相关算法的分析和设计的能力,使学生能够编写出正确、清晰和较高质量的算法和程序。 二、课程教学内容和要求 第一章数据结构和算法 1.了解数据结构、逻辑结构、存储结构和抽象数据类型的基本概念。 2.了解数据结构的发展和地位。 3.了解各种算法描述方法和算法设计的基本要求。 4.掌握对算法的评价标准和算法效率的度量方法。 第二章线性表 1.理解线性表的概念、定义、逻辑结构和存储结构。 2.熟练掌握线性表的顺序结构及其各种基本运算。 3.熟练掌握单链表、循环链表、双向链表的存储结构及其各种基本运算。 4.理解链表的应用——稀疏多项式存储和运算。 第三章栈和队列 1.掌握栈的定义、表示、实现和应用。 2.掌握递归的概念和递归的实现过程。 3.掌握队列的定义以及顺序(循环队列)和链式存储结构的实现。 第四章串 1.了解串的基本概念及顺序和链式存储结构。 2.掌握串的各种基本运算。

3.了解串的模式匹配算法。 第五章数组和广义表 1.掌握数组的顺序存储结构。 2.理解稀疏数组的概念和压缩存储的方法。 3.理解稀疏矩阵的三元组存储结构和基本运算。 4.了解稀疏矩阵的十字链表存储结构。 5.理解广义表的基本概念,掌握广义表的存储结构。 第六章树 1.理解树的基本概念及其存储结构。 2.熟练掌握二叉树的定义、性质以及各种存储结构和遍历算法。 3.掌握线索二叉树的概念、存储结构及线索化算法。 4.掌握树和森林与二叉树间的转换,掌握树和森林的遍历算法。 5.掌握哈夫曼树的概念、存储结构和应用。 第七章图 1.理解图的基本概念,掌握图的邻接矩阵和邻接表的存储结构。 2.了解十字链表,邻接多重表等存储结构。 3.熟练掌握图的深度优先和广度优先遍历算法。 4.理解图的连通性、最小生成树的概念。 5.掌握求最小生成树算法。 6.理解有向无环图的概念,掌握拓扑排序和关键路径算法。 7.理解带权最短路径的概念,掌握求最短路径的算法。 第八章查找 1.理解查找的概念及其效率的评价方法。 2.理解静态查找表的概念,熟练掌握顺序、折半和分块查找算法。 3.理解动态查找表和二叉排序树的概念。 4.了解平衡二叉树的概念。 5.理解哈希表的含义,掌握哈希函数的构造和处理冲突的基本方法。第九章内部排序 1.掌握插入类排序的算法:直接插入排序、希尔排序。

数据结构教学大纲(完整资料).doc

【最新整理,下载后即可编辑】 XX师范学院大学本科专业教学大纲中文课程名称:数据结构 英文课程名称:Data Structures 适用专业:信息管理与信息系统 制定单位:商学院 执笔人: 审核人: 单位负责人: 制定时间:2017-2-10 XX师范学院教务处

二〇一七年一月

《数据结构》课程教学大纲 一、课程基本信息 (一)课程代码及课程名称 1.课程代码:06151090 2.课程名称(中/英文):数据结构/Data Structures (二)课程类别及课程性质 专业教育必修课程 (三)学时及学分: 总学时数:64;总学分数:3。 其中,讲授学时:32 ,实践(实验)学时:32。 (四)适用专业及开设学期 适用专业:信息管理与信息系统(本科) 开设学期:第二学期 (五)先修课程与后续课程 先修课程:大学计算机基础、高等数学、C语言程序设计 后续课程:数据库原理与应用、管理信息系统分析与设计、管理信息系统、Java程序设计(高级) 二、课程简介 “数据结构”是信息管理与信息系统专业一门重点专业基础

课程,也是学科专业核心专业基础课程之一,属于专业学位必修课程。本课程的教学任务是针对大量的信息处理对象,介绍对象信息与数据表示的各种抽象的、基本的逻辑结构及其上的基本运算操作。通过研究各种基本数据结构内在的逻辑关系和它们在计算机中的存储表示方式,初步建立数据结构上基本运算操作的正确性概念,同时,结合各种典型问题讨论其上的各种基本运算操作及其基本算法,讲授各种数据结构的特点、适用范围,以及对一些基本算法效率的定性和定量分析方法,为后续课程提供必要的数据结构基础。此外,配合实验课程的教学中,学生应理论联系实际,理论指导实践,通过规范地完成一系列数据结构实验进一步巩固所学的相关书本知识,在知识、能力、素质上得到进一步的提高。 三、教学目的与基本要求 (一)该课程教学目的与专业培养要求对应关系矩阵

数据结构考试及答案()

数据结构考试及答案()

作者: 日期: 2

数据结构试题 一、单选题 1、在数据结构的讨论中把数据结构从逻辑上分为(C) A 内部结构与外部结构 B 静态结构与动态结构 C 线性结构与非线性结构 D 紧凑结构与非紧凑结构。 2、采用线性链表表示一个向量时,要求占用的存储空间地址(D) A 必须是连续的B部分地址必须是连续的 C 一定是不连续的D可连续可不连续 3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为 (D )。 An B n/2 C (n-1)/2 D (n+1)/2 4、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行(D )o A s—link = p—link ;p—link = s; B p—link = s; s—link = q; C p—link = s—link ;s—link = p; D q—link = s; s—link = p; 5、如果想在4092个数据中只需要选择其中最小的5个,采用(C )方法最好。 A 起泡排序 B 堆排序C锦标赛排序 D 快速 排序 6、设有两个串t和p,求p在t中首次出现的位置的运算叫做(B )o A 求子串B模式匹配C 串替换 D 串连接 7、在数组A中,每一个数组元素A[i][j] 占用3个存储字,行下标i从1到8,

列下标j从1到10。所有数组元素相继存放于一个连续的存储空间中,则存放 该数组至少需要的存储字数是( C )。 A 80 B 100 C 240 D 270 8、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。 A 栈B队列C循环队列D优先队列 9、一个队列的进队列顺序是1,2, 3, 4 ,则出队列顺序为(C )。 10、在循环队列中用数组A[0.. m-1]存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。 A ( front - rear + 1) % m B (rear - front + 1) %m C ( front - rear + m) % m D ( rear - front + n) % m 11、一个数组元素a[i]与(A )的表示等价。 A * (a+i) B a+i C *a+i D &a+i 12、若需要利用形参直接访问实参,则应把形参变量说明为( B )参数 A指针 B 引用C值 D 变量 13、下面程序段的时间复杂度为(C) for (i nt i=0;i

数据结构复习提纲(整理)

复习提纲 第一章数据结构概述 基本概念与术语(P3) 1.数据结构是一门研究非数值计算程序设计问题中计算机的操作对象以及他们之间的关系和操作的学科. 2.数据是用来描述现实世界的数字,字符,图像,声音,以及能够输入到计算机中并能被计算机识别的符号的集合 2.数据元素是数据的基本单位 3.数据对象相同性质的数据元素的集合 4.数据结构包括三方面内容:数据的逻辑结构.数据的存储结构.数据的操作. (1)数据的逻辑结构指数据元素之间固有的逻辑关系. (2)数据的存储结构指数据元素及其关系在计算机内的表示 ( 3 ) 数据的操作指在数据逻辑结构上定义的操作算法,如插入,删除等. 5.时间复杂度分析 -------------------------------------------------------------------------------------------------------------------- 1、名词解释:数据结构、二元组 2、根据数据元素之间关系的不同,数据的逻辑结构可以分为 集合、线性结构、树形结构和图状结构四种类型。 3、常见的数据存储结构一般有四种类型,它们分别是___顺序存储结构_____、___链式存储结构_____、___索引存储结构_____和___散列存储结构_____。 4、以下程序段的时间复杂度为___O(N2)_____。 int i,j,x; for(i=0;i=0)个具有相同性质的数据元素a1,a2,a3……,an组成的有穷序列 //顺序表结构 #define MAXSIZE 100 typedef int DataType; Typedef struct{ DataType items[MAXSIZE]; Int length; }Sqlist,*LinkList; //初始化链表 void InitList(LinkList *L){ (*L)=(LinkList)malloc(sizeof(LNode)); if(!L){ cout<<”初始化失败!”; return;

《数据结构》课程教学大纲

《数据结构》课程教学大纲 Data Structure 执笔人:编写日期: 一、课程基本信息 1. 课程编号: 2. 课程性质/类别:必修课 / 专业主干课 3. 学时/学分: 48 学时(另实验16学时) / 4 学分 4. 适用专业:计算机科学与技术、软件工程、网络工程、信息管理与信息系统等专业 二、课程教学目标及学生应达到的能力 数据结构课程是计算机相关专业的专业基础课、必修课程,主要介绍用计算机解决一系列问题特别是非数值信息处理问题时所用的各种组织数据的方法、存储数据结构的方法以及在各种结构上执行操作的算法。通过本课程的学习,要求学生掌握各种数据结构的特点、存储表示、运算方法以及在计算机科学中最基本的应用,培养、训练学生选用合适的数据结构和编写质量高、风格好的应用程序的能力,培养学生分析问题、解决问题的能力,并为后续课程的学习打下良好的理论基础和实践基础。 三、课程教学容与基本要求 (一)绪论( 3 学时) 1.主要容: (1)介绍什么是数据结构; (2)基本概念和术语: 数据、数据元素、数据对象,以及数据结构的定义、逻辑结构、物理结构(理解)数据类型、抽象数据类型; (3)抽象数据类型的表示与实现; (4)算法和算法分析: 算法的概念、算法设计的要求以及算法效率的度量。 2.基本要求 (1)了解学习数据结构的重要性; (2)掌握数据结构的定义及相关概念和术语; (3)了解抽象数据类型的定义、表示与实现方法; (4)理解算法的概念、特点并掌握度量其效率的基本方法。 3.自学容: 类C语言的书写规。 (二)线性表( 6 学时) 1.主要容: (1)线性表的抽象数据类型定义和相关概念:数据项、记录、文件等; (2)线性表顺序存储表示和基本操作的实现; (3)线性表的链式存储表示和基本操作的实现; (4)稀疏多项式的抽象数据类型定义、表示和加法的实现。

相关文档
相关文档 最新文档