数据结构试卷

南方医科大学

生物医学工程学院学年()季学期考试

《数据结构》试卷(A卷)

姓名学号专业年级

1.数据结构的主要存储形式包括( a )。

A.顺序和链式结构B.逻辑和物理结构

C.具体和抽象结构D.理想和实际结构

2.线性表的顺序存储方式是按逻辑次序将元素存放在一片( b )的空间中。

A.地址任意B.地址连续C.单元大小不等D.无序

3.对链式存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。插入一个元素时大约要移动表中的(d)个元素。

A.n B.n-1 C.n/2 D.0

4.若进栈序列为1,2,3,4,则( b )不可能是一个出栈序列。

A.3,2,1,4 B.4,2,3,1

C.3,2,4,1 D.4,3,2,1

5.字符串的替换操作replace (String &s, String &t, String &v)是指:若t是s的子串,则用串v替换串t在串s中的所有出现;若t不是s的子串,则串s不变。例如,若串s为“aabbabcbaab cb acbab”,串t为“b c b”,串v为“abdc”,则执行replace操作后,串s中的结果

为()。

A.aababdccbaabaaacabdc B.aababdcbaabaaacabdc C.aabbaabdcaaabdcacbab D.aabbabccbaabaaacabdc

6.已知广义表LS=(a,(b,c,d),e),运用head和tail函数取出LS中原子d的运算是()。A.head(head(LS))B.tail(tail(head(LS)))

C.head(head(tail(LS)))D.tail(tail(head(tail(LS))))

7.设有一个n n的对称矩阵A,为了节约存储空间,可以只存对角线及对角线以上的元素则需要的存储空间是( a )。

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

8.在有n个结点的哈夫曼树中,其非叶子结点的个数为()。

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

9.将一棵有100个结点的完全二叉树从根开始,每一层按照从左到右的次序进行编号,根结点的编号为1,则编号为48的结点的左孩子的编号为d树( a )。

A.96 B.97 C.98 D.99

10.设一个二叉树有n个结点,其中有n0个叶子结点,则它的度为2的结点的个数是( b )。A.n-n0B.n0-1 C.n0+1 D.n/2-n0

11.在一棵树中,如果结点A有4个孩子,A的双亲是B,则A的度是(a )。

A.4 B.5 C.6 D.7

12.图的生成树(d)。

A.与使用方法有关B.是唯一的C.有n棵D.有n-1棵

13.下面关于关键路径的说法,不正确的是(c)。

A.关键路径是从源点到汇点的最长路径B.关键路径不是回路

C.任意图的关键路径都只有一条D.关键路径上的活动不能耽搁

14.当一个图中边很稠密时,使用()方法得到最小生成树比较节约时间。A.Kruscal B.Prim C.深度优先D.广度优先

15.分块查找要求()。

A.元素有序B.块内有序C.每块的大小相同D.块间有序

16.如果由于平衡二叉树的左子树的右子树上增加了结点而失去平衡,则应做( c )旋转。

A.左单B.右单C.先左后右D.先右后左

17.二分查找法要求查找表中各元素的值()。

A.按值排好序B.按输入次序排列C.用链表表示D.用数组表表示

18.排序方法中平均性能最好的方法是( c )。

A.直接插入排序B.希尔排序C.快速排序D.基数排序

19.比较次数在初始序列为正序和逆序时没有差别的方法是()。

A.直接插入排序B.胜者树排序C.冒泡排序D.快速排序

20.下列排序方法中不稳定的是(c )。

A.归并排序B.冒泡排序C.希尔排序D.直接插入排序

请将答案填写在下表。

二、判断题

( f )21、算法的语句允许存在多义性。

( t )22、线性表采用链式存储时,其地址不一定是连续的。

( f )23、队列采用链式存储时,执行插入和删除操作的时间耗费很大。

( f )24、若一个栈的输入序列是:1,2,3,...,n ,输出序列的第一个元素是n ,则第i 个输出元素是n-i 。

( )25、串的长度是指串中字母的个数。 ( )26、广义表的长度等于其中括号的层数。 ( )27、稀疏矩阵可以用三元组法存储。

( )28、一个有4个结点的二叉树的形态有14种。 ( t )29、具有8个结点的完全二叉树的深度为3。 ( f )30、所有的满二叉树都是完全二叉树。

( f )31、树的先根遍历与相应二叉树的中序遍历结果相同。 ( f )32、图中顶点的度的定义与树中结点的度的定义相同。 ( t )33、有n 个顶点的有向图中边数最多为n 2。 ( t )34、一个图有拓扑序列的充要条件是有向无环。 ( f )35、二叉排序树是平衡二叉树。

( t )36、对平衡二叉树旋转的目的是使平衡因子越小越好。

( f )37、在二叉排序树中删除一个带有左右子树的结点,可以用它的右子树中序遍历下的第一个结点来代替。

( )38、当初始序列基本有序时,快速排序法所用时间最短。 (

f )39、堆排序和归并排序的时间复杂度为O(n)。 ( f )40、简单选择排序是稳定的排序方法。

三、综合题(共8题,第1小题2分,第2小题8分,其余各题每题5分)

41、分析下列各算法的时间复杂度:

i=1;

While(i<=n)

i=i*5;

o(n)

42、如下图所示,设双链表中指针p指着结点M,指针f指着将要插入的新结点X,写出代码,将X插在链表中两个数据元素M和N之间。

43、设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[4][7](10)存放在什么位置?脚注(10)表示用10进制表示。

711

44、假设一棵二叉树的前序序列为STWUV,中序序列为WUTVS,则它的后序序列是什么?要求画出二叉树。

uwvts

45.已知二叉树的形式如下图,请画出数组存储方式。

46.已知6个城市之间的距离关系如下图所示,要在它们之间建立5条光缆通路,应当怎样进行才使得材料需求量最小?

47.设散列表的长度m = 13;散列函数为H(K) = K mod m,给定的关键码序列为19,01,45,14,55,20,84,27,试画出用线性探查法解决冲突时所构造的散列表。并求出在等概率的情况下,这种方法的搜索成功时的平均搜索长度。

0 1 2 3 4 5 6 7 8 9 10 11 12

48.下面是两个工程师的对话。

建国:今年的水文检测数据汇总来了,我们得找出最高的3个值。

兴华:一共有10000个数据,可以用EXCEL表格排序。

建国:可是这次的数据格式是顺序文件,要转换成EXCEL太费劲了。

兴华:也就是说得用C编程处理了。

建国:是啊,用什么排序方法好呢?

请你给出一个合理的排序解决办法,并画出最高的3个值的输出过程。将问题简化,假设要处理的数据如下:

27,19,60,87,61,76,5,17

数据结构试卷一及答案

数据结构试卷一 一、选择题20分 1.组成数据的基本单位是 ; 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 是 ; A 线性结构 B 树型结构 C 图型结构 D 集合 3.数组的逻辑结构不同于下列的逻辑结构; A 线性表 B 栈 C 队列 D 树 4.二叉树中第ii≥1层上的结点数最多有个; A 2i B 2i C 2i-1 D 2i-1 5.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为 ; A p->next=p->next->next B p=p->next C p=p->next->next D p->next=p 6.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是 ; A 6 B 4 C 3 D 2 7.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为 ; A 100 B 40 C 55 D 80 8.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为 ; A 3 B 4 C 5 D 1 9.根据二叉树的定义可知二叉树共有种不同的形态; A 4 B 5 C 6 D 7 10.设有以下四种排序方法,则的空间复杂度最大; A 冒泡排序 B 快速排序 C 堆排序 D 希尔排序 二、填空题30分 1.设顺序循环队列Q0:m-1的队头指针和队尾指针分别为F和R,其中队头指针F指向当 前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F =____________;; 2.设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为 ___________,在链式存储结构上实现顺序查找的平均时间复杂度为___________; 3.设一棵二叉树中有n个结点,则当用二叉链表作为其存储结构时,该二叉链表中共有 ________个指针域,__________个空指针域; 4.设指针变量p指向单链表中结点A,指针变量s指向被插入的结点B,则在结点A的后面 插入结点B的操作序列为______________________________________; 5.设无向图G中有n个顶点和e条边,则其对应的邻接表中有_________个表头结点和 _________个表结点; 6.设无向图G中有n个顶点e条边,所有顶点的度数之和为m,则e和m有______关系;

数据结构试卷带答案

数据结构试卷(一) 一、选择题(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-1 5.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为(.A ). (A) p-〉next=p—>next—〉next (B) p=p—〉next (C)p=p-〉next-〉next (D)p—〉next=p 6.设栈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) 2 7.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为(C ). (A) 100 (B) 40 (C) 55 (D) 80 8.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为(8。B (A) 3 (B) 4 (C) 5 (D) 1 9.根据二叉树的定义可知二叉树共有( B)种不同的形态。 (A) 4 (B) 5 (C) 6 (D) 7 10.设有以下四种排序方法,则( B )的空间复杂度最大. (A)冒泡排序(B) 快速排序(C)堆排序(D) 希尔排序 二、填空题(30分) 1.设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头 元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为 F =____________;. 2.设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为___________, 在链式存储结构上实现顺序查找的平均时间复杂度为___________。 3.设一棵二叉树中有n个结点,则当用二叉链表作为其存储结构时,该二叉链表中共有________个指 针域,__________个空指针域。 4.设指针变量p指向单链表中结点A,指针变量s指向被插入的结点B,则在结点A的后面插入结点B 的操作序列为______________________________________. 5.设无向图G中有n个顶点和e条边,则其对应的邻接表中有_________个表头结点和_________个表 结点。 6.设无向图G中有n个顶点e条边,所有顶点的度数之和为m,则e和m有______关系。 7.设一棵二叉树的前序遍历序列和中序遍历序列均为ABC,则该二叉树的后序遍历序列为__________。 8.设一棵完全二叉树中有21个结点,如果按照从上到下、从左到右的顺序从1开始顺序编号,则编 号为8的双亲结点的编号是___________,编号为8的左孩子结点的编号是_____________. 9.下列程序段的功能实现子串t在主串s中位置的算法,要求在下划线处填上正确语句。 int index(char s[],char t[]) { i=j=0; while(i〈strlen(s)&& j

数据结构试题及答案

数据结构试卷(二) 一、选择题(24分) 1.下面关于线性表的叙述错误的是()。 (A) 线性表采用顺序存储必须占用一片连续的存储空间 (B) 线性表采用链式存储不必占用一片连续的存储空间 (C) 线性表采用链式存储便于插入和删除操作的实现 (D) 线性表采用顺序存储便于插入和删除操作的实现 2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。 (A) 2m-1 (B) 2m (C) 2m+1 (D) 4m 3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。 (A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M 4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。 (A) BADC (B) BCDA (C) CDAB (D) CBDA 5.设某完全无向图中有n个顶点,则该完全无向图中有()条边。 (A) n(n-1)/2 (B) n(n-1) (C) n2(D) n2-1 6.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。 (A) 9 (B) 10 (C) 11 (D) 12 7.设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。 (A) n-1 (B) n (C) n+1 (D) 2n-1 8.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。 (A) 2,3,5,8,6 (B) 3,2,5,8,6 (C) 3,2,5,6,8 (D) 2,3,6,5,8 二、填空题(24分) 1. 1. 为了能有效地应用HASH查找技术,必须解决的两个问题是 ____________________和__________________________。 2. 2. 下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。 typedef struct {int s[100]; int top;} sqstack; void push(sqstack &stack,int x) { if (stack.top==m-1) printf(“overflow”); else {____________________;_________________;} } 3. 3. 中序遍历二叉排序树所得到的序列是___________序列(填有序或无序)。 4. 4. 快速排序的最坏时间复杂度为___________,平均时间复杂度为__________。 5. 5. 设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N1,则该二叉树 中度数为2的结点数为_________;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有_______个空指针域。 6. 6. 设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则 e=_______。 7.7. 设一组初始记录关键字序列为(55,63,44,38,75,80,31,56),则利用筛选 法建立的初始堆为___________________________。

(完整版)数据结构试题及答案

数据结构试卷(一)王彬 一、单选题(每题2 分,共20分) 1.栈和队列的共同特点是( )。 A.只允许在端点处插入和删除元素 B.都是先进后出 C.都是先进先出 D.没有共同点 2.用链接方式存储的队列,在进行插入运算时( ). A. 仅修改头指针 B. 头、尾指针都要修改 C. 仅修改尾指针 D.头、尾指针可能都要修改 3.以下数据结构中哪一个是非线性结构?( ) A. 队列 B. 栈 C. 线性表 D. 二叉树 4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在 676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。c A.688 B.678 C.692 D.696 5.树最适合用来表示( )。 A.有序数据元素 B.无序数据元素 C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据 6.二叉树的第k层的结点数最多为( d ). A.2k-1 B.2K+1 C.2K-1 D. 2k-1 7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二 分查找,则查找A[3]的比较序列的下标依次为( ) A. 1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,3 8.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为 A. O(1) B. O(n) C. O(1og2n) D. O(n2) 9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K) =K %9作为散列函数,则散列地址为1的元素有( c d)个, A.1 B.2 C.3 D.4 10.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。 A.5 B.6 C.7 D.8 二、填空题(每空1分,共26分) 1.通常从四个方面评价算法的质量:____ ____、________、________和_______。 2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。 3.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数 为__________个,树的深度为_________,树的度为________。 4.后缀算式9 2 3 +- 10 2 / -的值为________。中缀算式(3+4X)-2Y/3对应的后缀算 式为______3 4X* + 2Y* / -_________________________。 5.若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指 针。在这种存储结构中,n个结点的二叉树共有_______个指针域,其中有________个指针域是存放了地址,有______________个指针是空指针。 6.对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点 分别有______个和______个。 7.AOV网是一种___________________的图。 8.在一个具有n个顶点的无向完全图中,包含有_____条边,在一个具有n个顶点的有向 完全图中,包含有_____条边。 9.假定一个线性表为(12,23,74,55,63,40),若按Key % 4条件进行划分,使得同一余数的元 素成为一个子表,则得到的四个子表分别为__________________________、______________、_____________________和_____________________。

数据结构模拟试题附答案

数据结构试卷(1) 一、选择题(30分) 1.设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为()。 (A) 20 (B) 30 (C) 40 (D) 45 2.执行一趟快速排序能够得到的序列是()。 (A) [41,12,34,45,27] 55 [72,63] (B) [45,34,12,41] 55 [72,63,27] (C) [63,12,34,45,27] 55 [41,72] (D) [12,27,45,41] 55 [34,63,72] 3.设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是()。 (A) head==0 (B) head->next==0 (C) head->next==head (D) head!=0 4.时间复杂度不受数据初始状态影响而恒为O(nlog 2 n)的是()。 (A) 堆排序(B) 冒泡排序(C) 希尔排序(D) 快速排序 5.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是()。 (A) 空或只有一个结点(B) 高度等于其结点数 (C) 任一结点无左孩子(D) 任一结点无右孩子 6.一趟排序结束后不一定能够选出一个元素放在其最终位置上的是()。 (A) 堆排序(B) 冒泡排序(C) 快速排序(D) 希尔排序 7.设某棵三叉树中有40个结点,则该三叉树的最小高度为()。 (A) 3 (B) 4 (C) 5 (D) 6 8.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为()。 (A) O(n) (B) O(n2) (C) O(n1/2) (D) O(1og 2 n) 9.二路归并排序的时间复杂度为()。 (A) O(n) (B) O(n2) (C) O(nlog 2n) (D) O(1og 2 n) 10. 深度为k的完全二叉树中最少有()个结点。 (A) 2k-1-1 (B) 2k-1(C) 2k-1+1 (D) 2k-1 11.设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针, 指针变量s指向将要入队列的结点X,则入队列的操作序列为()。 (A) front->next=s;front=s;(B) s->next=rear;rear=s; (C) rear->next=s;rear=s;(D) s->next=front;front=s; 12.设某无向图中有n个顶点e条边,则建立该图邻接表的时间复杂度为()。 (A) O(n+e) (B) O(n2) (C) O(ne) (D) O(n3) 13.设某哈夫曼树中有199个结点,则该哈夫曼树中有()个叶子结点。 (A) 99 (B) 100 (C) 101 (D) 102 14.设二叉排序树上有n个结点,则在二叉排序树上查找结点的平均时间复杂度为()。 (A) O(n) (B) O(n2) (C) O(nlog 2n) (D) O(1og 2 n) 15.设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的入度为()。 (A) 第i行非0元素的个数之和(B) 第i列非0元素的个数之和 (C) 第i行0元素的个数之和(D) 第i列0元素的个数之和 二、判断题(20分)

数据结构试题及答案(十套)

数据结构试题及答案(十套)数据结构试题及答案(十套) 一、选择题 1. 数据结构是指()。 A. 存储数据的方式 B. 数据的逻辑结构和物理结构 C. 数据的存储结构和存储方式 D. 数据的逻辑结构、存储结构和存储方式 答案:D 2. 在数据结构中,线性表的存储方式包括()。 A. 顺序存储和链式存储 B. 数组存储和链表存储 C. 顺序存储、链表存储和索引存储 D. 顺序存储、链表存储和树形存储 答案:A 3. 栈是一种()的数据结构。 A. 先进先出

B. 先进后出 C. 后进先出 D. 后进后出 答案:C 4. 队列是一种()的数据结构。 A. 先进先出 B. 先进后出 C. 后进先出 D. 后进后出 答案:A 5. 二叉树中,度为0的节点称为()。 A. 叶子节点 B. 根节点 C. 中间节点 D. 子节点 答案:A 6. 以下哪个排序算法是稳定的?

A. 快速排序 B. 选择排序 C. 插入排序 D. 希尔排序 答案:C 7. 图中表示顶点之间关系的边的数量称为()。 A. 顶点度数 B. 边数 C. 路径数 D. 网络 答案:B 8. 哈希表通过()来实现高效的查找操作。 A. 散列函数 B. 排序算法 C. 遍历操作 D. 顺序存储 答案:A

9. 平衡二叉树是一种具有左右子树高度差不超过()的二叉树。 A. 0 B. 1 C. 2 D. 3 答案:B 10. 在链表中,删除节点的操作时间复杂度是()。 A. O(1) B. O(logn) C. O(n) D. O(nlogn) 答案:A 二、填空题 1. 在顺序存储结构中,元素之间的逻辑关系由()表示。 答案:下标 2. 二叉查找树的中序遍历结果是一个()序列。 答案:递增 3. 哈希表通过散列函数将关键字映射到()上。

数据结构试题库及答案

一、单选题(每题 2 分,共20分) 1.栈和队列的共同特点是( A )。 A.只允许在端点处插入和删除元素 2.用链接方式存储的队列,在进行插入运算时( D ). D.头、尾指针可能都要修改 3.以下数据结构中哪一个是非线性结构?( D ) A. 队列 B. 栈 C. 线性表 D. 二叉树 4.设有一个二维数组A [m ][n ],假设A [0][0]存放位置在644(10),A [2][2]存放位置在676(10),每个元素占一个空间,问A [3][3](10) 5.存放在什么位置?脚注(10)表示用10进制表示。( C ) C .692 5.树最适合用来表示( C )。 C.元素之间具有分支层次关系的数据 6.二叉树的第k 层的结点数最多为( D ). D. 2k-1 7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A [3]的比较序列的下标依次为( D ) D. 9,4,2,3 8.对n 个记录的文件进行快速排序,所需要的辅助存储空间大致为( C ) C. O (1og 2n ) 9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H (K )=K %9作为散列函数,则散列地址为1的元素有( D )个 D .4 10.设有6个结点的无向图,该图至少应有( A )条边才能确保是一个连通图。 A.5 二、填空题(每空1分,共26分) 1.通常从四个方面评价算法的质量:正确性、易读性、强壮性 和 高效率。 2.一个算法的时间复杂度为(n 3+n 2log 2n +14n )/n 2 ,其数量级表示为__O(n) 3.假定一棵树的广义表表示为A (C ,D (E ,F ,G ),H (I ,J )),则树中所含的结点数为_9_个,树的深度为_3_,树的度为_3_。 4.后缀算式9 2 3 +- 10 2 / -的值为_-1 。中缀算式(3+4X )-2Y/3对应的后缀算式为_ 3 4 X * + 2 Y * 3 / - 5.若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针。在这种存储结构中,n 个结点的二叉树共有_2n_个指针域,其中有_n-1_个指针域是存放了地址,有__n+1__个指针是空指针。 6.对于一个具有n 个顶点和e 条边的有向图和无向图,在其对应的邻接表中,所含边结点分别有_e_个和__2e__个。 7.AOV 网是一种__有向无回路 的图。 8.在一个具有n 个顶点的无向完全图中,包含_n(n-1)/2_条边,在一个具有n 个顶点的有向完全图中,包含_n(n-1)__条边。 9.假定一个线性表为(12,23,74,55,63,40),若按Key % 4条件进行划分,使得同一余数的元素成为一个子表,则得到的四个子表分别为____(12,40) ( ) (74) (23,55,63) 10.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度_增加1__。 11.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为_O(log 2n) ,整个堆排序过程的时间复杂度为_O(nlog 2n)_。 12.在快速排序、堆排序、归并排序中,__归并_排序是稳定的。 三、计算题(每题 6 分,共24分) 1. 在如下数组A 中链接存储了一个线性表,表头指针为A [0].next ,试写出该线性表。 A 0 1 2 3 4 5 6 7 解: 线性表为:(78,50,40,60,34,90) 2. 请画出下图的邻接矩阵和邻接表。 3. 已知一个图的顶点集V 和边集E 分别为: V={1,2,3,4,5,6,7}; E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15,(3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25};用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。 解:用克鲁斯卡尔算法得到的最小生成树为: (1,2)3, (4,6)4, (1,3)5, (1,4)8, (2,5)10, (4,7)20 4. 画出向小根堆中加入数据4, 2, 5, 8, 3时,每加入一个数据后堆的变化。 答案见右图 data 60 50 78 90 34 40 next 3 5 7 2 0 4 1 ??? ? ??? ? ????????01110 101011101110101 0111 04 4 4 4 4 2 2 2 5 5 5 2 2 8 8 4 3 5 2 3

《数据结构》期末考试试卷附答案

《数据结构》期末考试试卷附答案 一、单项选择题(本大题共10小题,每小题3分,共30分) 1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。 (A)、正确性 (B). 可行性 (C). 健壮性 (D). 输入性 2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。 for(i=n-1;i>=0;i--) for(j=0;jnext; 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等于() (A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和 (C)、各叶子结点的带权路径长度之和(D)、根结点的值 10.线索二叉链表是利用()域存储后继结点的地址。 (A)、lchild (B)、data (C)、rchild (D)、root 二、填空题(本大题共15空,每空3分,共45分) 1.逻辑结构决定了算法的,而存储结构决定了算法的。 2.栈和队列都是一种的线性表,栈的插入和删除只能在进行。 3.线性表(a1,a2,…,a n)的顺序存储结构中,设每个单元的长度为L,元素a i的存储地址LOC(a i)为 4.已知一双向链表如下(指针域名为next和prior):

数据结构期末考试试题(含答案)

数据结构期末考试试题(含答案)数据结构期末考试试题(含答案) 第一题:多项式相加(20分) 将两个多项式 P(x) 和 Q(x) 相加,结果存储在另一个多项式 S(x) 中,请写出相应的算法,并给出其时间复杂度分析。 答案: 算法如下: 1. 初始化一个空多项式 S(x)。 2. 分别取多项式 P(x) 和 Q(x) 的第一项,判断指数的大小关系,并 将指数较小的项加入 S(x)。 3. 若指数相同,则将两项系数相加,并将结果加入 S(x)。 4. 重复步骤2和步骤3,直到两个多项式中的所有项都被处理完。 5. 返回结果多项式 S(x)。 时间复杂度分析: - 假设 P(x) 和 Q(x) 的项数分别为 m 和 n。 - 在最坏情况下,需要比较 m+n 次指数大小,并进行 m+n-1 次系数 相加。 - 因此,该算法的时间复杂度为 O(m+n)。

第二题:循环队列设计(30分) 请设计一个循环队列,实现入队、出队等基本操作,并给出时间复杂度分析。 答案: 定义循环队列的结构体如下: ```c typedef struct { int *data; // 存储队列元素的数组 int front; // 队首指针,指向队首元素的位置 int rear; // 队尾指针,指向队尾的下一个位置 int maxSize; // 队列的最大容量 } CircularQueue; ``` 基本操作的实现如下: 1. 初始化循环队列: ```c void initQueue(CircularQueue *queue, int maxSize) { queue->data = (int *)malloc(sizeof(int) * maxSize);

数据结构试题集(8套卷子+答案)

数据结构试题集(8套卷子+答案) 《数据结构》试卷一 一、填空题:(共20分) 1、当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用存储结构。 2、队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是。 3、在一棵二叉树中,度为0的结点个数为n0,度为2的个数为n2,则n0= 。 4、二叉树的前序遍历序列等同于该二叉树所对应森林的遍历序列 5、对一棵二叉排序树,若以遍历该树,将得到一个以关键字递增顺序排列的有序序列。 6、三个结点a,b,c组成二叉树,共有种不同的结构。 7、在AVL树中,由于在A结点的右孩子的右子树上插入结点,使A结点的平衡因子由-1变为-2,使其失去平衡,应采用型平衡旋转。 8、图的遍历有两种,它们是。 9、堆排序的时间复杂度为。 10、在含有N个结点的二叉链表中有空链域,通常用这些空链域存储线索,从而得另一种链式存储结构----线索链表。 二、单项选择题(共20分) 1、若进栈序列为1,2,3,4,假定进栈和出栈可以穿插进行,则可能的出栈序列是() (A)2,4,1,3(B)3,1,4,2 (C)3,4,1,2(D)1,2,3,4 2、有一棵非空的二叉树,(第0层为根结点),其第i层上最多有多少个结点?()(A)2i(B)21-i(C)21+i(D) i 3、设电文中出现的字母为A,B,C,D,E,每个字母在电文中出现的次数分别为9,27,3,5,11,按huffman编码,则字母A编码为()

(A)10(B)110(C)1110(D)1111 4、下面关于数据结构的叙述中,正确的叙述是() (A)顺序存储方式的优点是存储密度大,且插、删除运算效率高(B)链表中每个结点都恰好包含一个指针 (C)包含n个结点的二叉排序树的最大检索长度为log n 2 (D)将一棵树转为二叉树后,根结点无右子树 5、程序段:y:=0 while n>=(y+1)*(y+1) do y:=y+1 enddo 的时间复杂度为() (A)O(n) (B)O(n2) (C)O(n2/1) (D)O(1) 6、排序方法中,关键码比较的次数与记录的初始排列无关的是( ) (A) shell排序 (B) 归并排序 (C) 直接插入排序 (D) 直接选择排序 7、数组q[0..n-1]作为一个环行队列,f 为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数总小于n,则队列中元素个数为( ) (A) r-f (B) n+f-r (C) n+r-f (D) (n+r-f) mod n 8、为了有效的利用散列查找技术,需要解决的问题是:( ) Ⅰ:找一个好的散列函数 Ⅱ:设计有效的解决冲突的方法 Ⅲ:用整数表示关键码值 (A) Ⅰ和Ⅲ (B) Ⅰ和Ⅱ (C) Ⅱ和Ⅲ (D)Ⅰ,Ⅱ和Ⅲ 9、引入线索二叉树的目的是() (A) 加快查找结点的前驱或后继的速度 (B) 为了能在二叉树中方便的进行插入与删除 (C) :为了能方便的找到双亲 (D) 使二叉树的遍历结果唯一

数据结构试卷带答案

数据结构试卷(一) 一、选择题(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—1 5.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为(。A )。 (A) p—>next=p->next—〉next (B) p=p—〉next (C)p=p-〉next—>next (D) p—〉next=p 6.设栈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) 2 7.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为(C )。 (A) 100 (B) 40 (C) 55 (D) 80 8.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为(8。B (A) 3 (B) 4 (C) 5 (D) 1 9.根据二叉树的定义可知二叉树共有( B)种不同的形态。 (A) 4 (B) 5 (C) 6 (D) 7 10.设有以下四种排序方法,则( B )的空间复杂度最大。 (A) 冒泡排序(B)快速排序(C)堆排序(D)希尔排序 二、填空题(30分) 1.设顺序循环队列Q[0:m—1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头 元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为 F =____________;. 2.设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为___________, 在链式存储结构上实现顺序查找的平均时间复杂度为___________。 3.设一棵二叉树中有n个结点,则当用二叉链表作为其存储结构时,该二叉链表中共有________个指 针域,__________个空指针域。 4.设指针变量p指向单链表中结点A,指针变量s指向被插入的结点B,则在结点A的后面插入结点B 的操作序列为______________________________________。 5.设无向图G中有n个顶点和e条边,则其对应的邻接表中有_________个表头结点和_________个表 结点. 6.设无向图G中有n个顶点e条边,所有顶点的度数之和为m,则e和m有______关系。 7.设一棵二叉树的前序遍历序列和中序遍历序列均为ABC,则该二叉树的后序遍历序列为__________. 8.设一棵完全二叉树中有21个结点,如果按照从上到下、从左到右的顺序从1开始顺序编号,则编 号为8的双亲结点的编号是___________,编号为8的左孩子结点的编号是_____________。 9.下列程序段的功能实现子串t在主串s中位置的算法,要求在下划线处填上正确语句. int index(char s[], char t[]) { i=j=0; while(i

东南大学十套数据结构试题及答案

数据构造试卷〔一〕 三、计算题〔每题6 分,共24分〕 1.在如下数组A中链接存储了一个线性表,表头指针为A [0].next,试写出该线性表。 A 0 1 2 3 4 5 6 7 data 60 50 78 90 34 40 next 3 5 7 2 0 4 1 2.请画出以下列图的邻接矩阵和邻接表。 3.一个图的顶点集V和边集E分别为:V={1,2,3,4,5,6,7}; E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15, (3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25}; 用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。 4.画出向小根堆中参加数据4, 2, 5, 8, 3时,每参加一个数据后堆的变化。 四、阅读算法〔每题7分,共14分〕 1.LinkList mynote(LinkList L) {//L是不带头结点的单链表的头指针 if(L&&L->next){ q=L;L=L->next;p=L; S1:while(p->next) p=p->next; S2:p->next=q;q->next=NULL; } return L; } 请答复以下问题: 〔1〕说明语句S1的功能; 〔2〕说明语句组S2的功能; 〔3〕设链表表示的线性表为〔a1,a2, …,a n〕,写出算法执行后的返回值所表示的线性表。 2.void ABC(BTNode * BT) { if BT { ABC (BT->left); ABC (BT->right); cout<data<<' '; } } 该算法的功能是: 五、算法填空〔共8分〕 二叉搜索树的查找——递归算法: bool Find(BTreeNode* BST,ElemType& item)

算法与数据结构试题及答案

数据结构试卷(一) 一、单选题(每题2 分,共20分) 1.栈和队列的共同特点是()。 A.只允许在端点处插入和删除元素 B。都是先进后出 C.都是先进先出 D。没有共同点 2.用链接方式存储的队列,在进行插入运算时( ). A. 仅修改头指针 B。头、尾指针都要修改 C。仅修改尾指针 D.头、尾指针可能都要修改 3.以下数据结构中哪一个是非线性结构?( ) A。队列B。栈 C. 线性表D。二叉树 4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位 置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。 A.688 B.678 C.692 D.696 5.树最适合用来表示( )。 A。有序数据元素B。无序数据元素 C。元素之间具有分支层次关系的数据D。元素之间无联系的数据 6.二叉树的第k层的结点数最多为()。 A.2k-1 B。2K+1 C.2K—1 D. 2k—1 7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进 行二分查找,则查找A[3]的比较序列的下标依次为( ) A。1,2,3 B。9,5,2,3 C. 9,5,3 D. 9,4,2,3 8.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为 A。 O(1) B. O(n) C。 O(1og2n) D。 O(n2) 9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K % 9作为散列函数,则散列地址为1的元素有( )个, A.1 B.2 C.3 D.4 10.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。 A。5 B.6 C.7 D。8 二、填空题(每空1分,共26分) 1.通常从四个方面评价算法的质量:_________、_________、_________和_________. 2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。 3.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数为 __________个,树的深度为___________,树的度为_________。 4.后缀算式9 2 3 +— 10 2 / —的值为__________.中缀算式(3+4X)—2Y/3对应的后缀算式 为_______________________________。 5.若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指 针。在这种存储结构中,n个结点的二叉树共有________个指针域,其中有________个指针域是存放了地址,有________________个指针是空指针。 6.对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点 分别有_______个和________个. 7.AOV网是一种___________________的图。 8.在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有 向完全图中,包含有________条边. 9.假定一个线性表为(12,23,74,55,63,40),若按Key %4条件进行划分,使得同一余 数的元素成为一个子表,则得到的四个子表分别为____________________________、

数据结构试题

数据结构试题 数据结构试卷(一) 一、选择题(20分) 1.组成数据的基本单位是()。 (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是()。 (A) 线性结构 (B) 树型结构 (C) 图型结构 (D) 集合 3.数组的逻辑结构不同于下列()的逻辑结构。 (A) 线性表 (B) 栈 (C) 队列 (D) 树 4.二叉树中第i(i≥1)层上的结点数最多有()个。 (A) 2i (B) 2i (C) 2i-1 (D) 2i-1 5.设指针变量p指向单链表结点A,则删除结点A的后继结点B 需要的操作为()。 (A) p->next=p->next->next (B) p=p->next (C) p=p->next->next (D) p->next=p 6.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是()。 (A) 6 (B) 4 (C) 3 (D) 2 7.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为()。 (A) 100 (B) 40 (C) 55 (D) 80 8.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为()。 (A) 3 (B) 4 (C) 5 (D) 1 9.根据二叉树的定义可知二叉树共有()种不同的形态。 (A) 4 (B) 5 (C) 6 (D) 7 10.设有以下四种排序方法,则()的空间复杂度最大。

数据结构试卷B卷(含答案)

数据结构试卷B卷(含答案) 《数据结构》试卷B 一、填空题(每空1分,共15分) 1. 向量、栈和队列都是结构,可以在向量的位置插入和删除元素;对于栈 只能在插入和删除元素;对于队列只能在插入和删除元素。 2. 栈是一种特殊的线性表,允许插入和删除运算的一端称为。不允许插入和删除 运算的一端称为。 3. 数据结构是一门研究非数值计算的程序设计问题中计算机的以及它们之间 的和运算等的学科。 4. 在顺序表中插入或删除一个元素,需要平均移动元素,具体移动的元素个数与有关。 5. 在具有n个单元的循环队列中,队满时共有个元素。 6. 假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查 找成功的结点数为;比较四次查找成功的结点数为;平均查找长度为。 二、判断正误(判断下列概念的正确性,并作出简要的说明。)(每小题1分,共10分) ()1. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。()2. 在表结构中最常用的是线性表,栈和队列不太常用。 ()3. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。 ()4. 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。()5.线性表的逻辑顺序与存储顺序总是一致的

()6. 栈和队列是一种非线性数据结构。 ()7. 栈和队列的存储方式既可是顺序方式,也可是链接方式。 ()8. 两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。 ()9. 队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。()10. 一个栈的输入序列是12345,则栈的输出序列不可能是12345。 三、单项选择题(每小题1分,共20分) ()1.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:(A )存储结构(B )逻辑结构(C )顺序存储结构(D )链式存储结构 ()2. 若已知一个栈的入栈序列是1,2,3,…,n ,其输出序列为p1,p2,p3,…,pn ,若p1=n ,则pi 为 A.i B.n=i C.n-i+1 D.不确定 ()3. 判定一个栈ST (最多元素为m0)为空的条件是 A.ST->top<>0 B.ST->top=0 C.ST->top<>m0 D.ST->top=m0 ()4设矩阵A 是一个对称矩阵,为了节省存储,将其下三角部分(如下图所示)按行序存放在一维数组B[ 1, n(n-1)/2 ]中,对下三角部分中任一元素a i,j (i ≤j), 在一维数组B 中下标k 的值是:A.i(i-1)/2+j-1 B.i(i-1)/2+j C.i(i+1)/2+j-1 D.i(i+1)/2+j ()5.具有n(n>0)个结点的完全二叉树的深度为。 (A) ?log 2(n)? (B) ? log 2(n)? (C) ? log 2(n) ?+1 (D) ?log 2(n)+1? ()6. 有8个结点的无向连通图最少有条边。 A .5 B. 6 C. 7 D. 8 7. 数据结构反映了数据元素之间的结构关系。链表是一种 A ,它对于数据元素的插入和删除B 。通常查找线性表数据元素的方法有C 和 D 两种方法,其中 C 是一种只适合于顺序存储结构但 E 的方法;而D 是一种对顺序和链式存储结构均适用的方法。

相关主题
相关文档
最新文档