数据结构试题06

合集下载

数据结构试卷B_重庆工商大学 05-06

数据结构试卷B_重庆工商大学 05-06

重庆工商大学试卷考试科目:数据结构试卷适用专业(班):2004考核方式:开卷()闭卷(√)2005-2006 学年度 2 学期套别:A套()B套(√)一、选择题(单项选择,每小题2分,共计20分)1、在数据结构中,与所使用的计算机无关的是。

A.存储结构B.物理结构C.物理和存储结构D.逻辑结构2、线性表采用链式存储结构时,其地址是。

A.必须是连续的B.一定是不连续的C.部分地址必须是连续的D.连续与否均可以3、在下列链表中不能从当前结点出发访问到其余各结点的是。

A.单链表B.单循环链表C.双向链表D.双向循环链表4、设一个栈的进栈序列是 a,b,c,d,进栈的过程中可以出栈,不可能的出栈序列是。

A.d,c,b,aB.c,d,b,aC.d,c,a,bD.a,b,c,d5、设循环队列中数组的下标是0~N-1,其头尾指针分别为f 和r ,则其元素个数为。

A. r–fB.r-f-1C.(r-f)%N+1D.(r-f+N)%N6、串是。

A.不少于一个字母的序列B.任意个字母的序列C.不少于一个字符的序列D.有限个字符的序列7、对稀疏矩阵采用压缩存储,其缺点之一是。

A.无法判断矩阵有多少行和多少列B.无法根据行列号查找某个矩阵元素C.无法根据行列号计算矩阵元素的存储地址D.使矩阵元素之间的逻辑关系更加复杂8、以下说法错误的是。

A.一般在哈夫曼树中,权值越大的叶子离根结点越近B.哈夫曼树中没有度数为 1 的分支结点C.若初始森林中共有 n 棵二叉树,最终求得的哈夫曼树中共有 2n-1个结点D.若初始森林中共有 n 棵二叉树,进行 2n-1 次合并后才能剩下最终的哈夫曼树9、任何一个无向连通图最小生成树。

A.只有一棵B.有一棵或多棵C.一定有多棵D.可能不存在10、只有在顺序存储结构上才能实现的查找方法是法。

A.顺序查找B.二分查找C.树型查找D.哈希查找二、填空题(每题1分,共计10分)1、在一个长度为n 的顺序表中向第i个元素(1≤i ≤n) 之前插入一个新元素时,需要向后移动个元素。

数据结构试题06(有答案)

数据结构试题06(有答案)

数据结构试题06(有答案)⼀、单选题(每题 2 分,共20分)1. 以下数据结构中哪⼀个是线性结构?( )A. 有向图B. 队列C. 线索⼆叉树D. B 树2. 在⼀个单链表HL 中,若要在当前由指针p 指向的结点后⾯插⼊⼀个由q 指向的结点,则执⾏如下( )语句序列。

A. p=q; p->next=q;B. p->next=q; q->next=p;C. p->next=q->next; p=q;D. q->next=p->next; p->next=q;3. 以下哪⼀个不是队列的基本运算?()A. 在队列第i 个元素之后插⼊⼀个元素B. 从队头删除⼀个元素C. 判断⼀个队列是否为空D.读取队头元素的值4. 字符A 、B 、C 依次进⼊⼀个栈,按出栈的先后顺序组成不同的字符串,⾄多可以组成( )个不同的字符串?A.14B.5C.6D.85. 由权值分别为3,8,6,2的叶⼦⽣成⼀棵哈夫曼树,它的带权路径长度为( )。

A . 11 B.35 C. 19 D. 53以下6-8题基于图1。

6. 该⼆叉树结点的前序遍历的序列为( )。

A. E 、G 、F 、A 、C 、D 、BB. E 、A 、G 、C 、F 、B 、DC. E 、A 、C 、B 、D 、G 、FD. E 、G 、A 、C 、D 、F 、B7. 该⼆叉树结点的中序遍历的序列为( )。

A. A 、B 、C 、D 、E 、G 、FB. E 、A 、G 、C 、F 、B 、DC. E 、A 、C 、B 、D 、G 、FE. B 、D 、C 、A 、F 、G 、E8. 该⼆叉树的按层遍历的序列为( )。

A .E 、G 、F 、A 、C 、D 、B B. E 、A 、C 、B 、D 、G 、FC. E 、A 、G 、C 、F 、B 、DD. E 、G 、A 、C 、D 、F 、B9. 下⾯关于图的存储的叙述中正确的是( )。

数据结构考试题库含答案

数据结构考试题库含答案

数据结构考试题库含答案数据结构习题集含答案⽬录⽬录 (1)选择题 (2)第⼀章绪论 (2)第⼆章线性表 (4)第三章栈和队列 (5)第四章串 (6)第五章数组和⼴义表 (7)第六章树和⼆叉树 (7)第七章图 (9)第⼋章查找 (11)第九章排序 (12)简答题 (15)第⼀章绪论 (15)第⼆章线性表 (20)第三章栈和队列 (22)第四章串 (24)第五章数组和⼴义表 (24)第六章树和⼆叉树 (26)第七章图 (31)第⼋章查找 (33)第九章排序 (34)编程题 (36)第⼀章绪论 (36)第⼆章线性表 (36)第三章栈和队列 (46)第四章串 (46)第五章数组和⼴义表 (46)第六章树和⼆叉树 (46)第七章图 (46)第⼋章查找 (46)第九章排序 (52)选择题第⼀章绪论1. 数据结构这门学科是针对什么问题⽽产⽣的?(A )A、针对⾮数值计算的程序设计问题B、针对数值计算的程序设计问题C、数值计算与⾮数值计算的问题都针对D、两者都不针对2. 数据结构这门学科的研究内容下⾯选项最准确的是(D )A、研究数据对象和数据之间的关系B、研究数据对象C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作3. 某班级的学⽣成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那么下⾯关于数据对象、数据元素、数据项描述正确的是(C )A、某班级的学⽣成绩表是数据元素,90分是数据项B、某班级的学⽣成绩表是数据对象,90分是数据元素C、某班级的学⽣成绩表是数据对象,90分是数据项D、某班级的学⽣成绩表是数据元素,90分是数据元素4. *数据结构是指(A )。

A、数据元素的组织形式B、数据类型C、数据存储结构D、数据定义5. 数据在计算机存储器内表⽰时,物理地址与逻辑地址不相同,称之为(C )。

A、存储结构B、逻辑结构C、链式存储结构D、顺序存储结构6. 算法分析的⽬的是(C )A、找出数据的合理性B、研究算法中的输⼊和输出关系C、分析算法效率以求改进D、分析算法的易懂性和⽂档型性7. 算法分析的主要⽅法(A )。

(完整版)中国海洋大学06-07数据结构第1学期A卷+答案

(完整版)中国海洋大学06-07数据结构第1学期A卷+答案

中国海洋大学命题专用纸(首页)2006学年第 1 学期试题名称:数据结构 (A卷) 共 2 页第 1 页专业年级:学号姓名授课教师分数一、简答下列术语:(10分)1、算法的时间复杂度2、栈与队列的异同3、完全二叉树、二叉排序树二、填空(10分)1、在双向循环链表L中,删除指针P所指结点的语句序列是,,free(p)。

2、将下三角矩阵A[1..8,1..8]的下三角部分逐行地存储到起始地址为1000的内存单元中.已知每个元素占4个单元,则A(6,4)的地址为。

3、高度为5的三阶B-树至少有个结点。

4、分别采用堆排序、快速排序、插入排序和归并排序算法对初始状态已为递增序列的数据表进行递增排序,最省时间的是算法。

三、(8分)已知一棵二叉树的中序序列是dcbgeahfijk,后序序列是dcegbfhkjia,请构造出该二叉树。

四、(10分)假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别是0.07,0.08,0.13,0.22,0.18,0.23,0.04,0.05。

请设计它们相应的哈夫曼编码。

使用0~7的二进制表示形式是另一种编码方案,请比较两种方案的优缺点。

五、(10分)设散列表地址空间为0..6,散列函数为H(x)=i mod 7,其中i为键值x中第一个字母在字母表中的序号,若键值的输入序列为Jen,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec,用链地址法处理冲突,1)构造散列表;2)求出在等概率情况下,查找成功时的平均查找长度。

六、(15分)(1)对下列数据表,写出采用希尔排序算法排序的每一趟的结果。

(100,12,20,31,1,5,44,66,61,200,30,80,150,4,8)(2)对下列数据表,写出采用快速排序算法排序的第一趟的结果。

(70,12,20,150,44,66,61,200,30,80,28)授课教师张海燕命题教师或命题负责人签字院系负责人签字年月日中国海洋大学命题专用纸(附页)if (!m) return 0;n=Paixu(T→rchild); if (!n) return 0;}return 1;}。

数据结构ds-06部分(散列13)

数据结构ds-06部分(散列13)
散列表
词典(Dictionary)的抽象数据类型

在计算科学中把词典当作一种抽象数据类型。 在讨论词典抽象数据类型时,把词典定义为 <名字-属性>对的集合。

考虑到搜索效率, 可以用顺序表方式、二 叉搜索树或多路搜索树方式组织词典。 本节讨论另一种组织词典的方法, 即散列 表结构。
一、基本概念

一般当关键码的位数很多,而且关键码每一位上数字的分 布大致比较均匀时,可用这种方法得到散列地址。 以上介绍了几种常用的散列函数。在实际工作中应根据关 键码的特点,选用适当的方法。有人曾用“轮盘赌”的统 计分析方法对它们进行了模拟分析,结论是平方取中法最 接近于“随机化”。

二、处理冲突的基本方法
H1=(6+1)%7=0 H2=(6+2)%7=1
6
26
已知:
哈希函数:H(key)=key%7 有冲突时:Hi=(H(key)+di)%7 其中:di=1,2,3,4,5,6
关键字 67 84
冲突!
0
哈希表 84 34
1
2 H2=(0+2)%7=2 H1=(0+1)%7=1 H(34)=34%7=6 H(28)=28%7=0 H =(6+1)%7=0
81346532
81372242 81387422 81301367 81322817
81338967
81354157 81368537 81419355 81490275
3、数字分析法

数字分析法仅适用于事先明确知道表中所有关键码 每一位数值的分布情况,它完全依赖于关键码集合。 如果换一个关键码集合,选择哪几位要重新决定。

所以对于散列方法, 需要讨论以下两个问题:

数据结构试题(含答案)

数据结构试题(含答案)

数据结构试题一、单选题1、在数据结构的讨论中把数据结构从逻辑上分为(C )A 内部结构与外部结构B 静态结构与动态结构C 线性结构与非线性结构D 紧凑结构与非紧凑结构。

2、采用线性链表表示一个向量时,要求占用的存储空间地址(D )A 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。

A nB n/2C (n-1)/2D (n+1)/24、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( D )。

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 )。

A 求子串B 模式匹配C 串替换D 串连接7、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。

所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是( C )。

A 80B 100C 240D 2708、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。

A 栈B 队列C 循环队列D 优先队列9、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。

10、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。

A ( front - rear + 1) % mB ( rear - front + 1) % mC ( front - rear + m) % mD ( rear - front + m) % m11、一个数组元素a[i]与( A )的表示等价。

数据结构自考试题及答案

数据结构自考试题及答案

数据结构自考试题及答案一、单项选择题(每题1分,共10分)1. 在数据结构中,最基本的数据结构是()。

A. 线性结构B. 非线性结构C. 顺序结构D. 链式结构答案:A2. 线性表的顺序存储结构和链式存储结构相比,其主要优点是()。

A. 存储密度高B. 存储密度低C. 存储空间少D. 插入和删除操作快答案:A3. 在一个长度为n的顺序表中,删除第i个元素(1≤i≤n)时,需要移动的元素个数为()。

A. i-1B. n-iC. n-i+1D. n-1答案:C4. 栈的基本运算中,不包括()。

A. 入栈B. 出栈C. 读栈顶元素D. 判断栈空答案:D5. 队列的特点是()。

A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:A6. 树的深度为5,其中度为3的结点最多有()个。

A. 3B. 7C. 9D. 15答案:D7. 在二叉树的前序遍历序列、中序遍历序列、后序遍历序列中,唯一与树的形态一一对应的序列是()。

A. 前序遍历序列B. 中序遍历序列C. 后序遍历序列D. 无法确定答案:A8. 在图的遍历过程中,若某结点的入度为0,则该结点()。

A. 一定为起点B. 一定为终点C. 可以为起点或终点D. 既不是起点也不是终点答案:C9. 哈夫曼编码是一种()。

A. 定长编码B. 变长编码C. 唯一编码D. 非唯一编码答案:B10. 用邻接矩阵表示图时,若该图是无向图,则其邻接矩阵一定是()。

A. 对称矩阵B. 非对称矩阵C. 稀疏矩阵D. 密集矩阵答案:A二、填空题(每题2分,共20分)1. 在数据结构中,算法的时间复杂度是指算法执行过程中所需要的基本运算次数与输入数据量之间的关系。

算法的时间复杂度通常用大O符号表示,例如,O(n)表示时间复杂度与输入数据量成______关系。

答案:线性2. 线性表的两种存储结构分别是顺序存储结构和______存储结构。

答案:链式3. 在栈中,栈顶元素是最后被插入的元素,遵循______原则。

数据结构试卷带答案

数据结构试卷带答案

数据结构试卷(一)一、选择题(20分)1.组成数据的基本单位是( 1.C )。

(A)数据项(B)数据类型(C) 数据元素(D)数据变量2.设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={〈1,2〉,<2,3>,〈3,4>,〈4,1〉},则数据结构A是( C ).(A)线性结构(B)树型结构 (C)图型结构(D)集合3.数组的逻辑结构不同于下列(D)的逻辑结构.(A)线性表(B)栈(C) 队列(D)树4.二叉树中第i(i≥1)层上的结点数最多有(C)个。

(A) 2i (B) 2i(C) 2i—1(D) 2i-15.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为(.A ).(A) p-〉next=p—>next—〉next (B) p=p—〉next(C)p=p-〉next-〉next (D)p—〉next=p6.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是(。

C ).(A) 6 (B) 4 (C) 3 (D) 27.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为(C ).(A) 100 (B) 40 (C) 55 (D) 808.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为(8。

B(A) 3 (B) 4 (C) 5 (D) 19.根据二叉树的定义可知二叉树共有( B)种不同的形态。

(A) 4 (B) 5 (C) 6 (D) 710.设有以下四种排序方法,则( B )的空间复杂度最大.(A)冒泡排序(B) 快速排序(C)堆排序(D) 希尔排序二、填空题(30分)1.设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为 F =____________;.2.设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为___________,在链式存储结构上实现顺序查找的平均时间复杂度为___________。

数据结构第06章广义表

数据结构第06章广义表

第6章广义表z6.1 广义表的基本概念z6.2 广义表的存储结构z6.3 广义表的操作算法16.1 广义表的基本概念广义表(列表)的概念-n( ≥0 )个表元素组成的有限序列,记作LS= ( a1, a1, a2, …, a n)LS是表名,a i是表元素,它可以是单个元素(称为原子) ,可以是表(称为子表) 。

n为表的长度。

n= 0 的广义表为空表。

n> 0时,表的第一个表元素称为广义表的表头(head),除此之外,其它表元素组成的表称为广义表的表尾(tail)。

2广义表举例:(1)A=()(2)B=(e)(3)C=(a, (b, c, d) )(4)D=(A,B,C)(5)E= (a , E)9任意一个非空广义表,均可分解为表头和表尾。

9对于一个非空广义表,其表头可能是原子,也可能是子表;而表尾一定是子表。

3广义表的基本操作:•结构的创建和销毁InitGList(&L); DestroyGList(&L); CreateGList(&L, S); CopyGList(&T, L);•状态函数GListLength(L); GListDepth(L);GListEmpty(L); GetHead(L); GetTail(L);•插入和删除操作InsertFirst_GL(&L, e);DeleteFirst_GL(&L, &e);•遍历Traverse_GL(L, Visit());66. 2 广义表的存储结构z由于广义表中的元素不是同一类型,因此难以用顺序结构表示,通常采用链接存储方法存储广义表,并称之为广义链表。

z由于广义表中有两种数据元素,原子或子表,因此,需要两种结构的结点:一种是表结点,一种是原子结点。

z下面介绍一种广义表的链式存储结构。

78扩展的线性链表表示法:-子表结点由三个域组成:标志域、表头指针域和指向下一个元素的指针域;-原子结点的三个域为:标志域、值域和指向下一个元素的指针域。

数据结构期末复习题及答案6

数据结构期末复习题及答案6

数据结构期末复习题及答案6数据结构期末考试试题及答案期末样卷参考答案⼀.是⾮题(每题1分共10分)1. 线性表的链式存储结构优于顺序存储结构。

F2. 栈和队列也是线性表。

如果需要,可对它们中的任⼀元素进⾏操作。

F3.字符串是数据对象特定的线性表。

T4.在单链表P指针所指结点之后插⼊S结点的操作是:P->next= S ; S-> next = P->next; F5.⼀个⽆向图的连通分量是其极⼤的连通⼦图。

T 6.邻接表可以表⽰有向图,也可以表⽰⽆向图。

T 7.假设B是⼀棵树,B′是对应的⼆叉树。

则B的后根遍历相当于B′的中序遍历。

T8.通常,⼆叉树的第i层上有2i-1个结点。

F9.对于⼀棵m阶的B-树,树中每个结点⾄多有m 个关键字。

除根之外的所有⾮终端结点⾄少有ém/2ù个关键字。

F10.对于任何待排序序列来说,快速排序均快于起泡排序。

F⼆.选择题(每题2分共28分)1.在下列排序⽅法中,(c )⽅法平均时间复杂度为0(nlogn),最坏情况下时间复杂度为0(n2);(d )⽅法所有情况下时间复杂度均为0(nlogn)。

a. 插⼊排序b. 希尔排序c. 快速排序d. 堆排序2. 在有n个结点的⼆叉树的⼆叉链表表⽰中,空指针数为( b )。

a.不定b.n+1c.nd.n-13. 下列⼆叉树中,(a )可⽤于实现符号不等长⾼效编码。

a.最优⼆叉树b.次优查找树c.⼆叉平衡树d.⼆叉排序树4. 下列查找⽅法中,(a )适⽤于查找有序单链表。

a.顺序查找b.⼆分查找c.分块查找d.哈希查找5. 在顺序表查找中,为避免查找过程中每⼀步都检测整个表是否查找完毕,可采⽤( a )⽅法。

a.设置监视哨b.链表存贮c.⼆分查找d.快速查找6. 在下列数据结构中,(c )具有先进先出特性,(b )具有先进后出特性。

a.线性表b.栈c.队列d.⼴义表7.具有m个结点的⼆叉排序树,其最⼤深度为(f ),最⼩深度为( b )。

数据结构习题库

数据结构习题库

知识点:01.绪论02.顺序表03.链表04.栈05.链队列06.循环队列07.串08.数组的顺序表示09.稀疏矩阵10.广义表11.二叉树的基本概念12.二叉树遍历、二叉树性质13.树、树与二叉树的转换14.赫夫曼树15.图的定义、图的存储16.图的遍历17.图的生成树18.静态查找(顺序表的查找、有序表的查找)19.动态查找(二叉排序树、平衡树、B树)20.哈希查找21.插入排序(直接插入、折半插入、2路插入、希尔排序)22.选择排序(简单选择、树形选择、堆排序)23.快速排序、归并排序101A1(1).数据的逻辑结构是(A)。

A.数据的组织形式B.数据的存储形式C.数据的表示形式D.数据的实现形式101A1(2).组成数据的基本单位是(C)。

A.数据项B.数据类型C.数据元素D.数据变量101B1(3).与顺序存储结构相比,链式存储结构的存储密度(B)。

A.大B.小C.相同D.以上都不对101B2(4).对于存储同样一组数据元素而言,(D)。

A.顺序存储结构比链接结构多占空间B.在顺序结构中查找元素的速度比在链接结构中查找要快C.与链接结构相比,顺序结构便于安排数据元素D.顺序结构占用整块空间而链接结构不要求整块空间101B2(5).下面程序的时间复杂度为(B)。

x=0;for(i=1;i<n;i++)for(j=i+1;j<=n;j++)x++;A.O(n)B.O(n2)C.O(1)D.O(n)101B2(6).下面程序的时间复杂度为(C)。

for(i=0;i<m;i++)for(j=0;j<n;j++)A[i][j]=i*j;A.O(m2)B.O(n2)C.O(m×n)D.O(m+n)101C2(7).下面程序段的执行次数为(B)。

for(i=0;i<n-1;i++)for(j=0;j>i;j++)state;A.n(n+1)/2 B.(n-1)(n+2)/2 C.n(n+1)/2 D.(n-1)(n+2)101D3(8).下面程序的时间复杂度为(A)。

数据结构复习题(带答案)

数据结构复习题(带答案)

装订第 1 页 共 11 页一、选择题1.设某数据结构的二元组形式表示为A=(D ,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A 是( B )。

(A )线性结构 (B )树型结构 (C )物理结构 (D )图型结构 2.树最适合用来表示( C )。

(A )有序数据元素 (B )无序数据元素(C )元素之间具有分支层次关系的数据 (D )元素之间无联系的数据3. 设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为( B )。

(A) 40,50,20,95 (B) 15,40,60,20 (C) 15,20,40,45 (D) 45,40,15,204. 算法的计算量的大小称为计算的( B )。

(A) 效率 (B) 复杂性 C. 现实性 D. 难度5. 设一维数组中有n 个数组元素,则读取第i 个数组元素的平均时间复杂度为( C )。

(A) O(n) (B) O(nlog 2n) (C) O(1) (D) O(n) 6.下面算法的时间复杂度为( B )。

int f(int n) {if(n==0||n==1)return 1; else return n*f(n-1); }(A) O(1) (B)O(n) (C)O(n2) (D) O(n!) 7. 以下哪一个不是队列的基本运算?( A )(A )在队列第i 个元素之后插入一个元素 (B )从队头删除一个元素 (C )判断一个队列是否为空 (D )读取队头元素的值 8.不含任何结点的空树。

( C )(A)是一棵树; (B)是一棵二叉树;(C)是一棵树也是一棵二叉树 (D)既不是树也不是二叉树9. 若某线性表的常用操作是取第i 个元素及其前趋元素,则采用( A )存储方式最节省时间。

数据结构试题与答案

数据结构试题与答案
A0 12 34 56 7
data
60 50 78 90 34
40
next
35
7204
1
A[0] A[3] A[2] A[7] A[1] A[5] A[4] A[0]
线性表为:( 78, 50, 40, 60, 34, 90)
2. 请画出下图的邻接矩阵和邻接表。
1. 邻 接 矩 阵 :
01110 10101 11011 10101 01110
7. AOV 网是一种 ________有向 无回路 ___________ 的图。
8. 在一个具有 n 个顶点的无向完全图中,包含有 ____n-1_ n(n-1)/2 ___条边,在一个具有 n
个顶点的有向完全图中,包含有 ____n-1___n(n-1) _条边。
9. 假定一个线性表为 (12,23,74,55,63,40) ,若按 Key % 4 条件进行划分, 使得同一余数的元
}//while, 出循环时 i 中的值即为 return i; }//CountX
x 结点个数
4
数据结构试卷(二)
一、选择题 (24 分 )
1.下面关于线性表的叙述错误的是(
)。
(A) 线性表采用顺序存储必须占用一片连续的存储空间
(B) 线性表采用链式存储不必占用一片连续的存储空间
(C) 线性表采用链式存储便于插入和删除操作的实现
item=BST->data;//
查找成功
return ____item__
true _____;}
else if(item<BST->data)
return Find(______BST->data____
BST->left ____,item);

【免费下载】数据结构题库多选题

【免费下载】数据结构题库多选题

1 . 以下说法正确的是()A . 二叉树的特点是每个结点至多只有两棵子树。

B . 二叉树的子树无左右之分。

C . 二叉树只能进行链式存储。

D . 树的结点包含一个数据元素及若干指向其子树的分支。

答案:A,D解析:2 . 算法设计的要求包括____。

A . 正确性B . 可读性C . 健壮性D . 确定性答案:A,B,C解析: “确定性”属于算法特性而非要求。

3 . 下列属于算法的重要特征的是:A . 有穷性B . 确定性C . 可行性D . 输入和输出答案:A,B,C,D解析: ABCD4 . 图的四中存储结构A . 邻接矩阵B . 邻接表C . 邻接多重表D . 十字链表答案:A,B,C,D解析:5 . 依据所有数据成员之间的逻辑关系的不同,数据结构分为()A . 非线性结构B . 逻辑结构C . 物理结构D . 线性结构答案:A,D解析:6 . 图的应用算法有()A . 克鲁斯卡尔算法B . 哈弗曼算法C . 迪杰斯特拉算法D . 拓扑排序算法答案:A,C,D解析:7 . 计算机算法必须具备________________等特性。

A . 可行性、确定性B . 可行性、可移植性C . 输入、输出D . 有穷性E . 易读性F . 稳定性答案:A,C,D解析:8 . 下列数据结构中,属于线性数据结构的是____A . 栈B . 队列C . 树D . 图答案:A,B解析:9 . 下列说法正确的有:A . 算法和程序原则上没有区别,在讨论数据结构时二者通用B . 从逻辑关系上讲,数据结构分为两大类:线性结构和非线性结构C . 所谓数据的逻辑结构是指数据元素之间的逻辑关系D . 同一数据逻辑结构中的所有数据元素都具有相同的特性是指数据元素所包含的数据项的个数相等E . 数据的逻辑结构与数据元素本身的内容和形式无关F . 数据结构是指相互之间存在一种或多种关系的数据元素的全体答案:B,C,E解析:10 . 线性表的特点正确的()A . 存在唯一的一个被称作”第一个“的数据元素。

数据结构1-6章习题

数据结构1-6章习题

《算法与数据结构》第1-6章课堂测验(双号)一、选择题1、已知一个栈的进栈序列是1,2,3,…,n,其输出序列是p1,p2,…,p n,若p1=n,则p i的值。

( c )(A) i (B) n-i(C) n-i+1 (D) 不确定2、设n个元素进栈序列是1,2,3,…,n,其输出序列是p1,p2,…,p n,若p1=3,则p2的值。

( c )(A) 一定是2 (B) 一定是1(C) 不可能是1 (D) 以上都不对3、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( b )》D.不确定4、在下述结论中,正确的是( d )①只有一个结点的二叉树的度为0;②二叉树的度为2;③二叉树的左右子树可任意交换;④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。

A.①②③B.②③④C.②④D.①④5、一棵树高为K的完全二叉树至少有()个结点。

( a )–1 +1.二、简答题1简述下列术语:线性表,顺序表,链表。

2线性表:最常用且最简单的一种数据结构。

一个线性表是n个数据元素的有限序列。

3顺序表:是指用一组连续的存储单元一次存储线性表中的数据元素。

物理结构和逻辑结构都相邻。

4链表:逻辑结构相邻的数据元素物理结构不一定相邻。

采用指针的形式连接起来。

2 何时选用顺序表,何时选用链表作为线性表的存储结构合适各自的主要优缺点是什么不需要经常大量的修改表或需要随机存取的情况下可以选用顺序表;相反需要经常大量的修改表,但不是频繁的随机存取的情况下可选用链式表。

¥3链表所表示的元素是否有序如有序,则有序性体现于何处链表所表示的元素是否一定要在物理上是相邻的有序表的有序性又如何理解答:有序。

有序性体现在通过指针数据元素有序的相连。

物理上不一定要相邻。

4设A和B是两个按元素值递增有序的单链表,写一算法将A和B归并为按按元素值递减有序的单链表C,试分析算法的时间复杂度。

void ListInsert(SqList A,SqList B,SqList C){ElemType *p,*q,*s;P=&A;q=&B;s=&C;while!=NULL||!=NULL)){if {if!=NULL)=;=;p++;}else{if!=NULL)`=;=;q++;}}while!=NULL){=;=;}|while!=NULL){=;=;}4、例:什么是队列的上溢现象和假溢出现象解决它们有哪些方法答:在队列的顺序存储结构中,设头指针为front,队尾指针rear,队的容量(存储空间的大小)为MaxSize。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构试题06一.选择题1.在关系r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>,<04,10>}中,数据元素03的具有〖 C 〗个后继。

A) 1 B) 2 C) 3 D) 02.下面用二元组表示的数据结构,属于何种结构〖 B 〗。

A={K,R}K={a,b,c,d,e,f,g,h,i,j}R={r}r={<a,j>,<j,b>,<b,i>,<i,c>,<c,h>,<h,d>,<d,g>,<g,e>,<e,f>}A) 集合结构B) 线性结构C) 树形结构D) 图形结构3.在数据类型概念的定义中,数据类型是一种对数据的各方面的描述。

其中包括〖A〗。

A) 数据的取值范围B) 数据的来源C) 数据的排列顺序D) 数据的应用4.在一个学校中,有若干个系,每个系有若干个专业,每个专业有若干个班,每个班有一个班长,则学校与班长的关系是〖 B 〗。

A) 线性关系B) 层次关系C) 网状关系D) 其它关系5.判断一个可读性好的算法的条件不包括〖 B 〗。

A)符合结构化和模块化的程序设计思想B)对算法的功能模块及其中的重要部分加以注释C)有完整的测试过程和测试报告D)建立有对算法的功能、结构使用及有关事项进行说明的文档6.将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是〖A〗。

A) n B) 2n-1 C) 2n D) n-17.长度为n的顺序存储的线性表,当任何位置上删除一个元素的概率相等时,删除一个元素所需移动的平均个数为〖A〗。

A) (n-1)/2 B) n/2 C) (n+1)/2 D) (n-2)/28.在链式存储方式下,将单链表的表头指针置为NULL,实现的操作是〖 B 〗。

A)检查单链表是否为空B)初始化单链表C)得到单链表中指定元素的序号D)得到单链表的长度9.对线性表的操作中,使用语句:for(int i=1;i<L.size;i++)L.list[i-1]= L.list[i]; 实现的是〖 C 〗。

A)得到L.list[i]元素B)在表中第i个位置添加一个元素C)通过将元素向前移动一个位置,实现删除一个元素D)遍历线性表10.后缀表达式9 25 8 5 - * + @ 的值是〖 B 〗。

A)-107 B)84 C)86 D)-8411.在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取出数据打印。

该缓冲区应该是一个〖 B 〗结构。

A) 堆栈B) 队列C) 数据D) 线性表12.已知一算术表达式的中缀形式为A+B*C-D/E,前缀形式为- + A * B C / D E,其后缀形式为〖A〗。

A) A B C * + D E / - B) D / E B * C– A +C) A B* C / D E - + D) A B * C / D E - +13.一个循环队列的队头指针是front,队尾指针是rear,则以下判断正确的是〖 C 〗。

A)当插入一个元素时rear+1B)当删除一个元素时front-1C)队列为空时rear==frontD)队列满时rear==front14.任何一棵二叉树的叶结点在先序、中序和后序三个遍历序列中的相对次序〖A〗。

A)不发生变化B)发生变化C)完全不同D) 不能确定15.树的存储结构通常采用三种形式,下面不属于这三种形式之一的是〖 C 〗。

A)包含三个指向子树的指针域的标准形式B)包含四个指针域的广义标准形式C)不包含指针域的线性表形式D)包含指向转换后的二叉树形式16.图的简单路径是指一条路径的〖A〗。

A)前后端点可以相同,其它顶点均不同B)所有的顶点必须都不相同C)路径长度最短D)包含的顶点最多17.从具有n个结点的二叉排序树中查找一个元素时,最坏情况下的时间复杂性为〖A〗。

A) O(n) B) O(1) C) O(log2n) D) O(n2)18.散列表的平均查找长度〖A〗。

A)与处理冲突方法有关而与标的长度无关B)与处理冲突方法无关而与标的长度有关C)与处理冲突方法有关且与标的长度有关D)与处理冲突方法无关且与标的长度无关19.在下面所列出的算法中,平均速度最快的是〖A〗。

A) 快速排序B) 归并排序C) 堆排序D) 插入排序20.从未排序的序列中依次取出一个元素与已排序序列中的元素进行比较,然后将其放到排序序列的合适位置,该排序方法称为〖A〗。

A) 插入排序B) 选择排序C) 希尔排序D) 二路归并排序二.填空题1.在关系r={<a1,a2>,<a1,a3>,<a2,a4>,<a2,a5>,<a3,a6>,<a3,a7>,<a4,a8>,<a4,a9>}中,后继结点个数为2的是()2.数据的存储结构,即数据在计算机中的存储方式通常有:顺序、链接、索引、()等多种形式。

3.对一个线性表进行遍历运算,其时间复杂性数量级为()。

4.在一个循环单链表中,表尾结点的指针域与表头指针值()。

5.顺序存储结构属于(),链式结构属于动态结构。

6.由于广义表是一种递归的数据结构,所以对广义表一般采取()算法。

7.在后缀表达式求值时,若从输入字符串流中读入的字符是运算符,表明栈顶元素是运算符的()。

8.在后缀表达式求值的过程中,需要使用一个栈,进栈和出栈的元素为表达式中的()。

9.用有n个元素的数组Q表示一个循环队列,f为当前队头元素的前一位置,r为队尾元素的位置。

若(r+1)%n计算出的位置等于f,则表明()。

10.一棵共有n个结点的树,其中所有分支结点的度均为k,则该树的度为()。

11.深度为h的完全二叉树中,深度h与结点数n之间的关系是()。

12.设一个哈夫曼树有4个叶子结点,则该哈夫曼树共有()个结点。

13.在二叉树的链式存储结构中,通常采用的是()。

14.对于满二叉树,若分支结点数为7,则叶子数为()。

15.二叉树通常有()存储结构和链接存储结构。

16.在一个图G中,从一个顶点出发a,经过若干个顶点,到达另一个顶点b。

从a到b的顶点序列称为()。

17.一个无向图中,若存在一条边连接两个顶点,则称这两个顶点互为()。

18.索引查找是在线性表的()存储结构的基础上进行的。

19.每次从无序表中选择一个最小或最大元素,把它交换到有序表的一端,此种排序方法称为()排序。

20.若对顺序存储在A[0]~A[8]的记录(76,38,62,53,80,74,83,65,85)进行堆排序,已知除元素76外,以其余元素为根的结点都已是堆。

则76 最终将被筛选到A数组下标为()的位置上。

三.名词解释题1.后继2.有序表3.递归4.逆波兰式5.理想平衡树四.简答题1.写出描述一个抽象数据类型的书写格式。

2.设有序的线性表为La=(26,34,48,57,62,79),请给出执行下面的程序段后的线性表。

Insert(La,56);DeleteFront(La);InsertRear(La,DeleteFront(La));TraverseList(La);3.叙述有关非空二叉排序树的特性。

4.画出一个具有5个顶点的无向完全图5.说明图的广度搜索遍历的递归过程。

五.完成填空题1.对数组A中的n个元素采用冒泡法排序的算法如下:Void BubbleSort(ElemType A[], int n){ ElemType x;int i,j,flag;for(i=1;i<=n-1;i++){ flag=0;for(j=n-1; 〖〗;j--)if(A[j].stn<〖〗.stn{ x=〖〗; A[j-1]=A[j]; 〖〗=x;flag=1;}if(〖〗) return;}}2.对数组A中的n个元素采用二分法查找的算法如下:int Binsch(ElemType A[], int low, int high, keyType k){ if(〖〗){ int mid = 〖〗;if(k == 〖〗)return mid;else if(k<A[mid].key)return 〖〗(A,low,mid-1,k);elsereturn 〖〗(A,low,mid+1,k);}elsereturn -1;}3.在键盘上输入一组整数,然后按相反的次序输出的程序如下:#include<iostream.h>#include<stdlib.h>const int StackMaxSize = 30;typedef int ElemType;struct Stack{ ElemType stack[StackMaxSize];int top;}#include”stack.h”void main(){ 〖〗 a;〖〗; //初始化栈int x;cin << x;while( x != -1){ 〖〗;cin >> x;}while( ! 〖〗(a))cout << 〖〗 << “ “;cout << endl;}六.综合应用题1.假定一个图型结构的二元组表示如下:A={K,R}K={01,02,03,04,05,06,07}R={r}r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<02,07>,<03,07>,<05,06>} 给出该图的邻接矩阵和邻接表。

2.假定一个图型结构的二元组表示如下:A={K,R}K={01,02,03,04,05,06,07}R={r}r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<02,07>,<03,07>,<05,06>} 其中r所列出的边的权按顺序为:3,5,2,6,4,8,3,7给出该图中顶点01与其他顶点之间的最短路径。

相关文档
最新文档