2010-2011数据结构期末试卷(留学生用)
《数据结构》期末考试试题及答案

《数据结构》期末考试试题及答案一、单项选择题1. 数据结构是计算机科学的基础学科之一。
下列哪个选项正确描述了数据结构的定义?A. 数据结构是一种计算机程序B. 数据结构是一种存储和组织数据的方法C. 数据结构是一种人工智能技术D. 数据结构是一种操作系统答案:B2. 链表和数组是常见的数据结构,它们之间的主要区别是:A. 数组可以存储不同类型的数据,而链表只能存储相同类型的数据B. 数组的元素在内存中是连续存储的,而链表的元素在内存中是分散存储的C. 链表可以随机访问元素,而数组只能顺序访问元素D. 链表的插入和删除操作更高效,而数组的访问操作更高效答案:B3. 在二叉树中,每个节点最多可以有多少个子节点?A. 1B. 2C. 3D. 无限多个答案:B二、填空题1. 假设有一组数据 [5, 8, 3, 2, 9],按照从小到大的顺序进行冒泡排序的过程中,经过三次交换后的结果是__2__,__3__,__5__,__8__,__9__。
2. 请完成以下代码,实现栈的入栈和出栈操作:```pythonclass Stack:def __init__(self):self.stack = []def push(self, item):self.stack.append(item)def pop(self):if not self.is_empty():return self.stack.pop()def is_empty(self):# 示例代码s = Stack()s.push(1)s.push(2)s.push(3)print(s.pop()) # 输出 3print(s.pop()) # 输出 2print(s.is_empty()) # 输出 False ```答案:```pythonclass Stack:def __init__(self):self.stack = []def push(self, item):self.stack.append(item)def pop(self):if not self.is_empty():def is_empty(self):return len(self.stack) == 0# 示例代码s = Stack()s.push(1)s.push(2)s.push(3)print(s.pop()) # 输出 3print(s.pop()) # 输出 2print(s.is_empty()) # 输出 False```三、简答题1. 请简要介绍树的基本概念及常见的树结构。
数据结构期末考试题及答案

数据结构期末考试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,算法的时间复杂度是指()。
A. 执行算法所需要的计算工作量B. 执行算法所需要的存储空间C. 执行算法所需要的时间D. 执行算法所需要的内存大小答案:A2. 线性表的顺序存储结构和链式存储结构相比,其优点是()。
A. 插入和删除操作快B. 存储密度高C. 存储空间可以动态分配D. 存储空间利用率高答案:B3. 栈的基本运算中,不包括()。
A. 入栈B. 出栈C. 取栈顶元素D. 排序答案:D4. 在二叉树的遍历中,先序遍历的顺序是()。
A. 先根后子B. 先子后根C. 先左后右D. 先右后左答案:A5. 哈希表解决冲突的方法不包括()。
A. 分离链接法B. 线性探测法C. 链地址法D. 二分查找法答案:D6. 一个图的邻接矩阵表示法中,若第i行第j列的元素为1,则表示()。
A. 顶点i和顶点j之间有一条边B. 顶点i和顶点j之间没有边C. 顶点i和顶点j之间有n条边D. 顶点i和顶点j之间有m条边答案:A7. 在查找算法中,二分查找法适用于()。
A. 线性表B. 哈希表C. 树形结构D. 图结构答案:A8. 快速排序算法的时间复杂度在最坏情况下是()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(2^n)答案:C9. 一个有n个顶点的无向图,其边数最多为()。
A. nB. n(n-1)/2C. n(n+1)/2D. 2n答案:B10. 以下哪个不是排序算法()。
A. 冒泡排序B. 选择排序C. 插入排序D. 归并排序答案:D二、填空题(每题2分,共20分)1. 在数据结构中,一个算法的空间复杂度是指算法执行过程中所需要的___________。
答案:存储空间2. 线性表的链式存储结构中,每个节点包含___________和___________。
答案:数据元素,指针3. 栈的特点是___________,___________。
《数据结构》期末考试试题及答案

《数据结构》期末考试试题及答案(2003-2004学年第2学期)单项选择题1、C 2、D 3、A 4、D 5、C 6、D 7、A 8、B 9、C 10、C一、1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为( c)。
(A)、正确性(B). 可行性(C). 健壮性(D). 输入性2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为(d )。
for(i=n-1;i>=0;i--)for(j=0;j<i;j++) S;(A)、n2(B). O(nlgn) (C). O(n) (D). O(n2)3.折半查找法适用于( a )。
(A)、有序顺序表(B)、有序单链表(C)、有序顺序表和有序单链表都可以(D)、无限制4.顺序存储结构的优势是( d )。
(A)、利于插入操作(B)、利于删除操作(C)、利于顺序访问(D)、利于随机访问5.深度为k的完全二叉树,其叶子结点必在第( c )层上。
(A)、k-1 (B)、k (C)、k-1和k (D)、1至k6.具有60个结点的二叉树,其叶子结点有12个,则度过1的结点数为()(A)、11 (B)、13 (C)、48 (D)、377.图的Depth-First Search(DFS)遍历思想实际上是二叉树( a )遍历方法的推广。
(A)、先序(B)、中序(C)、后序(D)、层序8.在下列链队列Q中,元素a出队的操作序列为( a b )(A)、p=Q.front->next; p->next= Q.front->next;(B)、p=Q.front->next; Q.front->next=p->next;(C)、p=Q.rear->next; p->next= Q.rear->next;(D)、p=Q->next; Q->next=p->next;9. Huffman树的带权路径长度WPL等于( c )(A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和(C)、各叶子结点的带权路径长度之和(D)、根结点的值10.线索二叉链表是利用( c )域存储后继结点的地址。
2010《数据结构》期末试卷_A卷及答案

一、(本题10分)(1)简述线性表的两种存储结构的主要优缺点及各自适用的场合。
(2)在折半查找和表插入排序中,记录分别应使用哪种存储结构,并用一句话简述理由。
答:(1)顺序存储是按索引(如数组下标)来存取数据元素,优点是可以实现快速的随机存取,缺点是插入与删除操作将引起元素移动,降低效率。
对于链式存储,元素存储采取动态分配,利用率高。
缺点是须增设指针域,存储数据元素不如顺序存储方便。
优点是插入与删除操作简单,只须修改指针域。
(2)在折半查找中,记录使用顺序存储,可以快速实现中点的定位;在表插入排序中,记录使用静态链表,可以降少移动记录的操作。
二、(本题10分)一棵二叉树的先序、中序和后序序列分别如下,部分未显示,请画出该二叉树。
先序序列: _ 2 3_5_7 8;中序序列: 3_4 1_7 8 6;后序序列:_ 4 2 _ _ 6 5 1。
答:三、(本题10分)假定用于通讯的电文仅由a 、b 、c 、d 、e 、f 、g 等8个字母组成,字母在电文中出现的频率分别为:0.07、0.19、0.02、0.06、0.32、0.03、0.21和0.10。
试为这些字母设计哈夫曼编码。
答:一种编码如下:a: 0010 b: 10 c:00000 d:0001 e:01 f:00001 g:11 h:0011四、(本题15分)给定下面的带权无向图G :1)从顶点0开始,请写出深度优先遍历序列和广度优先遍历序列,当有多种选择时,编号小的结点优先。
2)从顶点0开始,使用普里姆算法求出该图的最小生成树,需画出最小生成树的构造过程。
3)有人给出求解最小生成树的另外一种算法:将连通图中的边按其权值从大到小顺序逐个删123 45768厦门大学《_数据结构_》课程期末试卷信息科学与技术学院计算机科学系2008年级___专业主考教师:陈怡疆 庄朝晖 试卷类型:(A 卷)除直至不可再删,删除要遵循的原则是:保证在删除该边后各个顶点之间应该是连通的。
2011年10月数据结构试题及答案

全国2011年10月高等教育自学考试-----数据结构试题一、单项选择题(本大题共15小题,每小题2分,共30分)1、在数据的逻辑结构中,树结构和图结构都是()A.非线性结构B.线性结构C.动态结构D.静态结构2.在一个长度为n的顺序表中插入一个元素的算法的时间复杂度为()A.O(1)B.O(log n)C.O(n)D.O(n2)3.指针p1和p2分别指向两个无头结点的非空单循环链表中的尾结点,要将两个链表链接成一个新的单循环链表,应执行的操作为()A.p1->next=p2->next;p2->next=p1->next;B. p2->next=p1->next;p1->next=p2->next;C. p=p2->next; p1->next=p;p2->next=p1->next;D. p=p1->next; p1->next= p2->next;p2->next=p;4.设栈的初始状态为空,入栈序列为1,2,3,4,5,6,若出栈序列为2,4,3,6,5,1,则操作过程中栈中元素个数最多时为()A.2个B.3个C.4个D.6个5.队列的特点是()A.允许在表的任何位置进行插入和删除B.只允许在表的一端进行插入和删除C.允许在表的两端进行插入和删除D.只允许在表的一端进行插入,在另一端进行删除6.一个链串的结点类型定义为﹟define NodeSize 6typedef struct node{char data[NodeSize];struct node*next;}LinkStrNode;如果每个字符占1个字节,指针占2个字节,该链串的存储密度为()A.1/3B.1/2C.2/3D.3/47.广义表A=(a,B,(a,B,(a,B,……)))的长度为()A.1B.2C.3D.无限值8.已知10×12的二维数组A,按“行优先顺序”存储,每个元素占1个存储单元,已知A[1][1]的存储地址为420,则A[5][5]的存储地址为()A.470B.471C.472D.4739.在一棵二叉树中,度为2的结点数为15,度为1的结点数为3,则叶子结点数为()A.12B.16C.18D.2010.在带权图的最短路径问题中,路径长度是指()A.路径上的顶点数B.路径上的边数C.路径上的顶点数与边数之和D.路径上各边的权值之和11.具有n个顶点、e条边的无向图的邻接矩阵中,零元素的个数为()A.eB.2eC.n2-2eD.n2-112.要以O(n log n)时间复杂度进行稳定的排序,可用的排序方法是()A.归并排序B.快速排序C.堆排序D.冒泡排序13.若希望在1000个无序元素中尽快求得前10个最大元素,应借用()A.堆排序B.快速排序1 / 6C.冒泡排序D.归并排序14.对有序表进行二分查找成功时,元素比较的次数()A.仅与表中元素的值有关B.仅与表的长度和被查元素的位置有关C.仅与被查元素的值有关D.仅与表中元素按升序或降序排列有关15.散列文件是一种()A.顺序存取的文件B.随机存取的文件C.索引存取的文件D.索引顺序存取的文件二、填空题(本大题共10小题,每小题2分,共20分)16.若一个算法中的语句频度之和为T(n)=3n3-200nlog2n+50n,则该算法的渐近时间复杂度为__________.17.在单链表中,除了第1个元素结点外,任一结点的存储位置均由_____________指示。
2010数据结构期末试卷A-推荐下载

7
0
27
b
1
63
1c
15 1
1g
5
8
36
1
总分
.
考生姓名 学号
H
D
I
B
J
E
A A
K
L
F
3.已知 AOE 网如下图所示,要求完成如下任务:(20 分)
3
V1
2
4
V2
3
5
V3
(1)写出该图的邻接矩阵(3 分) 0 3 2 ∞∞∞∞∞∞ ∞ 0 ∞ 3∞4∞ ∞ ∞ ∞ ∞ 05 3 ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞7 1 ∞ ∞ ∞ ∞ ∞ 0 ∞ ∞6 ∞ ∞ ∞ ∞ ∞ ∞0 1 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞0∞ 9 ∞∞∞∞∞∞∞02 ∞∞∞∞∞∞∞∞0
B
I
V7
V8
E
J
K
9
V9
2
L
F
C G
M
.
考生姓名 学号
(3)写出该图的深度优先遍历序列(2 分)
V1 V2 V6 V7 V9 V4 V8 V3 V5
(4)写出该图的广度优先遍历序列(2 分)
V1 V2 V3 V6 V4 V5 V7 V8 V9
V1 V2 V3 V4 V5 V6 V7 V8 V9 ^
V6
4
13
7
V3 ^ V6 ^ V5 ^ V8 ^
7
V7
14
14
5
V8
11
21
20 15 14 21
14 11
.
V9
23
23
考生姓名 学号
61
23
23
2011数据结构期末考试
一、选择题(每小题2分,共20分)1、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表2、设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当用以行为主序存放时,元素A[5,8]的存储地址为( )。
A. BA+141B. BA+180C. BA+222D. BA+2253、依次读入数据元素序列{a,b,c,d,e,f,g}进栈,每进一个元素,机器可要求下一个元素进栈或出栈,如此进行,则栈空时弹出的元素构成的序列可能是以下哪个序列?A.{d,e,c,f,b,g,a} B.{f,e,g,d,a,c,b}C.{e,f,d,g,b,c,a} D.{c,d,a,e,f,b,g}4、下列关于AOE网的叙述中,不正确的是()。
A. 关键活动不按期完成就会影响整个工程的完成时间。
B.任何一个关键活动提前完成,那么整个工程将会提前完成C. 所用的关键活动提前完成,那么整个工程将会提前完成D. 某些关键活动提前完成,那么整个工程将会提前完成。
5、采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应分()个结点最佳。
A. 15B. 25C. 35D. 3136、如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列()方法最快。
A.起泡排序B.快速排列C.Shell排序D.堆排序7、对序列{15,9,7,8,20,-1,4}进行排序,进行一趟后数据的排列变为{4,9,-1,8,20,7,15};则采用的是()排序。
A. 选择B. 快速C. 希尔D. 冒泡8、一组记录的关键字为(25,48,16,35,79,82,23,40,36,72)其中含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果是()。
《数据结构》期末考试试卷(含答案)
《数据结构》期末考试试卷(含答案)《数据结构》期末考试试卷( A )一、选择题(每小题2分,共24分)1.计算机识别、存储和加工处理的对象被统称为( A )A.数据B.数据元素C.数据结构D.数据类型2.栈和队列都是(A)A.限制存取位置的线性结构B.顺序存储的线性结构C.链式存储的线性结构D.限制存取位置的非线性结构3.链栈与顺序栈相比,比较明显的优点是( D )A.插入操作更加方便B.删除操作更加方便C.不会出现下溢的情况D.不会出现上溢的情况4.采用两类不同存储结构的字符串可分别简称为( B )A.主串和子串B.顺序串和链串C.目标串和模式串D.变量串和常量串5.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是:BA. 110 B .108C. 100D. 1206.串是一种特殊的线性表,其特殊性体现在:BA.可以顺序存储 B .数据元素是一个字符C. 可以链接存储D. 数据元素可以是多个字符7.设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为:CA. 2h B .2h-1C. 2h+1D. h+1软件开发网/doc/d818218954.html,8.树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。
这里,我们把由树转化得到的二叉树叫做这棵树对应的二叉树。
下列结论哪个正确?AA. 树的先根遍历序列与其对应的二叉树的先序遍历序列相同B .树的后根遍历序列与其对应的二叉树的后序遍历序列相同C. 树的先根遍历序列与其对应的二叉树的中序遍历序列相同D. 以上都不对9.一个有n个顶点的无向图最多有多少边?CA. n B .n(n-1)C. n(n-1)/2D. 2n10.在一个图中,所有顶点的度数之和等于所有边数的多少倍?CA. 1/2 B .1C. 2D. 411.当在二叉排序树中插入一个新结点时,若树中不存在与待插入结点的关键字相同的结点,且新结点的关键字小于根结点的关键字,则新结点将成为(A)A.左子树的叶子结点B.左子树的分支结点C.右子树的叶子结点D.右子树的分支结点软件开发网/doc/d818218954.html,12.对于哈希函数H(key)=key%13,被称为同义词的关键字是( D )A.35和41B.23和39C.15和44D.25和51二、已知某棵二叉树的前序遍历结果为A,B,D,E,G,C,F,H,I,J,其中中序遍历的结果为D,B,G,E,A,H,F,I,J,C。
数据结构期末试题及答案
《数据结构》期末考试试卷一、选择题(单选题,每小题3分,共33分)1.已知某二叉树的中序、层序序列分别为DBAFCE、FDEBCA,则该二叉树的后序序列为 B 。
A.BCDEAF B.ABDCEF C.DBACEF D.DABECF 2.在11个元素的有序表A[1…11]中进行折半查找(⎣⎦2/)low+),查找元素(highA[11]时,被比较的元素的下标依次是 B 。
A.6,8,10,11 B.6,9,10,11 C.6,7,9,11 D.6,8,9,113.由元素序列(27,16,75,38,51)构造平衡二叉树,则首次出现的最小不平衡子树的根(即离插入结点最近且平衡因子的绝对值为2的结点)为 D 。
A.27 B.38 C.51 D.754.利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素30要进行 B 次元素间的比较。
A.4 B.5 C.6 D.75.循环链表的主要优点是 D 。
A.不再需要头指针了B.已知某个结点的位置后,很容易找到它的直接前驱结点C.在进行删除后,能保证链表不断开D.从表中任一结点出发都能遍历整个链表6.已知一个线性表(38,25,74,63,52,48),假定采用散列函数h(key)=key%7计算散列地址,并散列存储在散列表A[0…6]中,若采用线性探测方法解决冲突,则在该散列表上进行等概率查找时查找成功的平均查找长度为 C 。
A.1.5 B.1.7 C.2.0 D.2.37.由权值为9,2,5,7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为C 。
A.23 B.37 C.44 D.468.在最好和最坏情况下的时间复杂度均为O(nlogn)且稳定的排序方法是 D 。
A.基数排序B.快速排序C.堆排序D.归并排序9.无向图G=(V,E),其中V={a,b,c,d,e,f},E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)}。
海南大学2010-2011数据结构B期末试卷
海南大学2010-2011学年度第1学期试卷科目:《数据结构》试题 B姓名: 学 号: 学院: 信息技术学院 专业班级:阅卷教师: 201 年 月 日一、 选择题(共30分,每小题2分)1.在一个长度为n 的单链表的第i (0<=i<n )个元素后面插入一个元素时,需要向后移动( d )个元素。
A .n-i B.n-i+1 C.n-i-1 D.0 2.线性表的顺序存储结构是一种(b )的存储结构,线性结构的链式存储是一种( c )的存储结构。
A .随机存取 B.顺序存取 C.索引存取 D.散列存取 3.带头结点head 的单向循环链表L 为空的判断条件是(a )A. head==NULLB. head->next==NULLC. head->next==headD. head!=NULL 4.若某线性表最常用的操作是在最后一个元素之后插入一个元素和删除进入表中的最后一个元素,则采用( b )存储方式最节省运算时间和存储空间。
A.单链表 B.仅有头指针的单循环链表 C.双向链表 D.有头尾指针的单循环链表5.设有一个顺序栈S ,元素a b c d e f 依次进栈,如果6个元素出栈的顺序是b d c f e a ,则栈的容量至少应该是( b )A.2B.3C.5D.66.向一个栈顶指针为top的带头结点的非空的链栈中删除结点,则其操作步骤是( c )A.top->next=s;B.s->next=top->next;top->next=s; free(s)C.s = top;top= top->next;free(s)D.s = top->next;top= top->next;free(s)7. 以下为平衡二叉排序树的查找算法, 假设表长为N,则算法的时间复杂度为( d )N)A)O(1) B) O(N) C) O(N*N) D) O(log2bitree *search_fsortree(t, key)bitree *t;keytype key;{ while(t!=NULL){ if(t->data==key)return(t);if(t->data>key)t=t->lchild;else t=t->rchild;}return(NULL);}/* SEARCH_FSORTTREE */8. 在解决计算机主机与打印机间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取出数据打印。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
云南师范大学 2010 ── 2011学年 上学期统一考试
数据结构试卷(留学生用)
学院 信息学院 专业 班级 学号 姓名__________
考试方式:闭卷 考试时量:120分钟 试卷编号:留学生卷
说明:下面是本试卷中可能用到的结构:
注意:请将答案写在答题纸上,写在试卷上无效。
一、填空题(每题2分,共20分)
1.数据结构主要研究三个方面的内容:数据的 ,数据的存储结构及 。
2.对算法效率性能评价主要以 效率和 效率为依据来判断。
3.链表相对于顺序表,其优点是 操作方便和 。
4.两个串相等的是指 相等,并且 相同。
5.已知在C 语言中二维数组A[10][10]的每个元素占4存储个单元,按行优先方式将其存储到起始地址为100的连续区域是,A[3][2]的地址为 。
6.已知二叉树有61个叶子结点,且仅有一个孩子的结点数为45,则树中总结点数为 。
typedef struct node/链表结点结构*/ { elemtype data; struct node *next; }Node ,*LinkList ; typedef struct node/*二叉链表结构*/ {
int data;
struct node *lchild,*rchild; }BNode ,*BTree ;
7.哈夫曼树是带权路径长度的树,通常权值较大的结点离根。
8.在有向图的邻接矩阵上,顶点的入度可以通过求得,而顶点的出度可以通过求得。
9.在数组A[1..6]中存放有关键字12,34,36,68,79,98,采用二分法查找关键字79,共需要进行比较。
10.在对一组记录{54,38,26,98,12,70,60,84,96}进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置需要比较次。
二、单项选择题(每题3分,共45分)
1.线性表最常用的操作是存取第i个元素的值,则采用存储方式节省时间。
( )
A.单链表 B.双链表 C.单循环链表 D.顺序表
2.在n个结点的顺序表中,算法的时间复杂度是O(n)的操作是( )
A.访问第i个结点(1≤ i ≤n)
B.把第i个结点和第j个结点交换
C.删除第i个结点(1≤ i ≤n)
D.把n个结点从小到大排序
3.一个队列的入队序列是1,2,3,4,则队列的输出序列是()A.1,2,3,4 B.4,3,2,1
C.1,4,3,2 D.3,2,4,1
4.循环队列SQ的存储空间是数组d[m],队头、尾指指针分别是front 和 rear,则执行出队后其头指针 front 值是()
A. front=front+1
B. front=(front+1)%m
B.front=(front-1)%m D. front=(front+1)%(m-1)
5. 下列说法中错误的是()
A.串中不能没有字符串B.是一种特殊的线性表
C.串中可以有字母 D.串长大于或等于0
6. 在一个单链表中,已知q所指向结点是p所指向结点的前驱结点,若在q和
p之间插入s所指结点,则执行()操作。
A. s->next=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
7. 栈和队列的共同点是()
A.先进先出 B. 只允许在端点处插入和删除
B. 后进先出 D. 没有共同点
8. 深度为6的二叉树至多有()结点。
A. 64
B. 63
C. 32
D. 31
9. 根据二叉树的定义,具有3个结点的二叉树有()种树型。
A. 3
B. 4
C. 5
D. 6
10.设森林T中有4棵树,第一、二、三、四棵树的结点个数分别是n1, n2,
n3, n4,那么当把森林T转换成一棵二叉树后,其根结点的左子树上有()个结点。
A. n1-1
B. n1
C. n1+n2+n3
D. n2+n3+n4
11. 在一个有向图中,所有顶点的入度数之和是出度数之和的()倍。
A.1/2
B.1
C.2
D.4
12. 拓扑排序运算只能用于()
A.带权有向图
B.连通无向图
C. 无向图
D. 有向无环图
13. 堆的形状是一棵
A. 完全二叉树
B.满二叉树
C. 二叉排序树
D.平衡二叉树
14. 二分查找要求结点
A. 无序、顺存存储
B.有序、链接存储
C. 有序、顺序存储
D.无序、链接存储
15. 一组记录的关键字为{46,79,56,38,40,84},利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()。
A.38,40,46,56,79,84 B.40,38, 46,79,56, 84 C.40,38, 46, 84,56,79 D.40,38, 46,56,79,84
三、简答题(每题6分,共24分)
1.某二叉树的后序遍历序列DABEC,中序遍历序列为DEBAC,请画出该二叉树(5分),并写出前序遍历序列(1分)。
2.已知一组权值W={2,9,8,26,17,5,33},请构造一棵哈夫曼树(5分),并计算其WPL值(1分),要求按左子树根结点的权小于等于右子树的权的原则构造,否则不给分。
3.已知一个图的邻接表如下所示。
(1)画出该图的图形;(4分)
(2)根据邻接表分别写出从顶点0出发进行深度优先和广度优先遍历所得到的序列。
(2分)
4.用Prim 算法求下图从顶点A 出发得到的最小生成树,要求给出各条边的选取次序,在边的旁边用数学序号① ,②, ③ …标注。
(6分)
四、算法阅读(共11分)
1. 阅读下面算法,试说明算法的功能;(6分)
void rearrange(int a[ ],int n)
{
int i, j, t;
i=0;
j = n-1;
while ( i<j)
{
while (i<j && a[j]>=0)
j- -;
while (i<j && a[i]<0)
i+ +
if(i < j)
{
t = a[i];
a[i]= a[j];
a[j]= t;
i + +;
j - -;
}
}
}
2.下面算法的功能是输出二叉排序树中的最小值,请在横线处填上适当的语句,使其完整,树的结构定义在本试卷首页。
(5分)
void minnode(BTree root )//root指向非空二叉排序树的树根
{
BTree p;
p=root;
while ( )
{ }
printf(“d%”,p->data);
}
云南师范大学2010 ── 2011学年上学期统一考试
数据结构试卷答题纸(留学生用)
学院信息学院专业_____班级__学号__________姓名__________考试方式:闭卷考试时量:120分钟试卷编号:留学生卷
一、填空题(每题2分,共20分)
1._________________,______________ 2._______________,________________ 3.__________________,_______________ 4._______________,________________ 5.______________ _______________ 6._________________________________
7._________________,______________
8._________________________ ________,_________________ ________________
9.__________________________________ 10._________________________________
二、选择题(每题3分,共45分)
1._________
2._________
3._________
4._________
5._________
6._________
7._________
8._________
9._________ 10._________
11. _________ 12._________ 13._________ 14._________ 15._________
三、简答题(共24分)
1.⑴(5分)⑵(1分)
2.⑴(5分)⑵(1分)
3.⑴(4分)图如下: 4.最小生成树(6分)
⑵(2分)
深度优先遍历:
广度优先遍历:
四、算法阅读(11分)
1.
2.。