数据结构课程试卷10卷参考答案
数据结构试卷带答案

数据结构试卷(一)一、选择题(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 =____________;。
数据结构试卷带答案

数据结构试卷(一)一、选择题(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 =____________;。
全国2021年10月数据结构试题及答案

全国2021年10月数据结构试题及答案课程代码:02331第一部份选择题(30分)一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.算法指的是()A.计算机程序 B.解决问题的计算方式C.排序算法 D.解决问题的有限运算序列2.线性表采用链式存储时,结点的存储地址()A.必需是不持续的B.持续与否都可C.必需是持续的D.和头结点的存储地址相持续3.将长度为n的单链表链接在长度为m的单链表以后的算法的时间复杂度为() A.O(1) B.O(n) C.O(m) D.O(m+n)4.由两个栈共享一个向量空间的益处是:()A.减少存取时间,降低下溢发生的机率B.节省存储空间,降低上溢发生的机率C.减少存取时间,降低上溢发生的机率D.节省存储空间,降低下溢发生的机率5.设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为()A.front=front+1 B.front=(front+1)%(m-1)C.front=(front-1)%m D.front=(front+1)%m6.如下陈述中正确的是()A.串是一种特殊的线性表 B.串的长度必需大于零C.串中元素只能是字母 D.空串就是空白串7.若目标串的长度为n,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是()A.O() B.O(n) C.O(n2) D.O(n3)8.一个非空广义表的表头()A.不可能是子表 B.只能是子表C.只能是原子 D.可以是子表或原子9.假设以带行表的三元组表表示稀疏矩阵,则和下列行表0 2 3 3 5对应的稀疏矩阵是()10.在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( )A.4 B.5 C.6 D.711.在含n个极点和e条边的无向图的邻接矩阵中,零元素的个数为( )A.e B.2e C.n2-e D.n2-2e12.假设一个有n个极点和e条弧的有向图用邻接表表示,则删除与某个极点vi相关的所有弧的时间复杂度是( )A.O(n) B.O(e) C.O(n+e) D.O(n*e)13.用某种排序方式对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的转变情况如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84则所采用的排序方式是()A.选择排序 B.希尔排序 C.归并排序 D.快速排序14.适于对动态查找表进行高效率查找的组织结构是()A.有序表 B.分块有序表 C.三叉排序树 D.线性链表15.不定长文件是指()A.文件的长度不固定 B.记录的长度不固定C.字段的长度不固定 D.关键字项的长度不固定第二部份非选择题(共70分)二、填空题(本大题共10小题,每小题2分,如有两个空格,每一个空格1分,共20分)不写解答进程,将正确的答案写在每小题的空格内。
数据结构试题集(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,42、有一棵非空的二叉树,(第0层为根结点),其第i层上最多有多少个结点?()(A)2i(B)21-i(C)21+i(D) i3、设电文中出现的字母为A,B,C,D,E,每个字母在电文中出现的次数分别为9,27,3,5,11,按huffman编码,则字母A编码为()(A)10(B)110(C)1110(D)11114、下面关于数据结构的叙述中,正确的叙述是()(A)顺序存储方式的优点是存储密度大,且插、删除运算效率高(B)链表中每个结点都恰好包含一个指针(C)包含n个结点的二叉排序树的最大检索长度为logn2(D)将一棵树转为二叉树后,根结点无右子树5、程序段:y:=0while n>=(y+1)*(y+1) doy:=y+1enddo的时间复杂度为()(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 n8、为了有效的利用散列查找技术,需要解决的问题是:( )Ⅰ:找一个好的散列函数Ⅱ:设计有效的解决冲突的方法Ⅲ:用整数表示关键码值(A) Ⅰ和Ⅲ (B) Ⅰ和Ⅱ (C) Ⅱ和Ⅲ (D) Ⅰ,Ⅱ和Ⅲ9、引入线索二叉树的目的是()(A) 加快查找结点的前驱或后继的速度(B) 为了能在二叉树中方便的进行插入与删除(C) :为了能方便的找到双亲(D) 使二叉树的遍历结果唯一10、用二分(折半)查找表的元素的速度比用顺序法()(A) 必然快(B) 必然慢(C): 相等(D): 不能确定三、简答题:(共40分)1、已知某二叉树按中序遍历序列为BFDAEGC,按前序遍历序列为ABDFCEG,试画出该二叉树形状,并写出它的后序遍历序列。
数据结构试题与参考答案

课程:数据结构专业:计算机科学与技术、网络工程、软件工程参考答案及评分标准一、单项选择题(10小题,每小题1分,共10分)1.算法指的是____D_____。
A.数据处理B.计算机程序C.解决问题的计算方法D.对特定问题求解步骤的一种描述,是指令的有限序列2.已知已个AOV网如图所示,下列____C_____不是该图的拓扑序列。
A.v0 v1 v5 v2 v3 v6 v4 B.v0 v1 v5 v2 v6 v3 v4C.v0 v1 v5 v3 v2 v6 v4 D.v0 v1 v5 v6 v2 v3 v43.设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5,e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是e2,e4,e3,e6,e5,e1,则栈S的容量至少应该是___B______。
A.2 B.3 C.4 D.64.如果结点A有3个兄弟,B是A的双亲,则结点B的度是______D______。
A.1 B.2 C.3 D.45.二叉树的前序序列和后序序列正好相反,则该二叉树一定是___B______的二叉树。
A.完全二叉树B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子6.在一个无向图中,所有顶点的度数之和等于所有边数的____B______倍。
A.1 B.2 C.3 D.47.判定有向图是否存在回路除了可以利用拓扑排序方法外,还可以用_____A______。
A.深度优先遍历算法B.广度优先遍历算法C.求关键路径方法D.求最短路径方法8.下述排序方法中,比较次数与待排序记录的初始状态无关的是____C_______。
A.插入排序和快速排序B.归并排序和快速排序C.选择排序和归并排序D.插入排序和归并排序9.在采用线性探测法处理冲突所构成的闭散列表上进行查找,可能要探测多个位置,在查找成功的情况下,所探测的这些位置的键值____A_____。
A.不一定都是同义词B.一定都是同义词C.一定都不是同义词D.都相同10.下列序列中,_______ 是执行第一趟快速排序的结果。
数据结构教材课后习题及参考答案习题 (10)[3页]
![数据结构教材课后习题及参考答案习题 (10)[3页]](https://img.taocdn.com/s3/m/3b7b79ebeff9aef8951e063c.png)
习题6一.填空题1.树中除根结点外,其他结点有且只有个直接前驱结点,但可以有个直接后继结点。
2.树中结点的度,是指结点拥有的个数;一棵具有n个结点的树,该树中所有结点的度数之和为。
3.深度为h的完全二叉树至少有个结点,至多有个结点,若按层序从1开始编号,则编号最小的叶子结点的编号是。
5.将一棵完全二叉树按层序从1进行编号,对编号为i的结点,如果有左孩子,则左孩子的编号应该是;如果有右孩子,则右孩子的编号应该是。
6.一棵完全二叉树有1001个结点,其深度是,叶子结点个数是。
78.树的先根遍历序列与其对应二叉树的遍历序列相同,树的后根遍历序列与其对应二叉树的遍历序列相同。
9.若二叉树共有n个结点,采用线索链表存储其线索二叉树,那么在所有存储结点里,一共有个指针域,其中有个指针是指向其孩子结点的,个指针是指向其前驱后继结点的。
指向前驱后继结点的指针称为。
10.哈夫曼树又称。
它是n个带权叶子结点构成的所有二叉树中,带权路径长度的二叉树。
11.哈夫曼树中,权值较大的叶结点一定离根结点。
由n个带权值的叶结点生成的哈夫曼树中共有个结点,其中有个分支结点。
12.哈夫曼树中不存在度为的结点。
二.选择题1.有关二叉树下列说法正确的是()A.二叉树的度为2 B.一棵二叉树的度可以小于2C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2 2.二叉树的第i层上最多含有结点数为()A.2i B.2i-1-1 C.2i-1D.2i-13.一棵具有1025个结点的二叉树的高度为( )。
A.11 B.10 C.11至1025之间D.10至1024之间4.一棵高度为5的二叉树,其结点总数为()。
A.6~17 B.5~16 C.6~32 D.5~315.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( )。
A.9 B.11 C.15 D.不能确定6.一棵完全二叉树具有600个结点,则它有( ) 个度为1的结点。
数据结构考试题库(含参考答案)

第1章绪论一、选择题1. 算法的计算量的大小称为计算的()。
【北京邮电大学2000二、3(20/8分)】A.效率 B.复杂性 C.现实性 D.难度2. 算法的时间复杂度取决于()【中科院计算所1998二、1(2分)】A.问题的规模 B.待处理数据的初态 C. A 和 B3.计算机算法指的是( 1),它必须具备( 2)这三个特性。
(1) A.计算方法 B.排序方法 C.解决问题的步骤序列 D.调度方法(2) A .可执行性、可移植性、可扩充性 B.可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D.易读性、稳定性、安全性【南京理工大学1999一、1(2分)【武汉交通科技大学1996一、1( 4 分)】4.一个算法应该是()。
【中山大学1998二、1(2分)】A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A 和 C.5. 下面关于算法说法错误的是()【南京理工大学2000一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是()【南京理工大学2000一、 2( 1.5分)】(1 )算法原地工作的含义是指不需要任何额外的辅助空间( 2)在相同的规模n 下,复杂度 O(n) 的算法在时间上总是优于复杂度nO(2 ) 的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A. (1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为()两大类。
【武汉交通科技大学1996 一、4( 2 分)】A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是()。
【北方交通大学2000二、 1(2分)】A.循环队列 B.链表 C.哈希表 D.栈9.以下数据结构中,哪一个是线性结构()?【北方交通大学2001一、 1(2分)】A.广义表 B.二叉树 C.稀疏矩阵 D.串10.以下那一个术语与数据的存储结构无关?()【北方交通大学2001一、 2(2 分)】A .栈 B.哈希表 C.线索树 D.双向链表11.在下面的程序段中,对 x 的赋值语句的频度为()【北京工商大学2001一、10( 3 分)】FOR i:=1TOn DOFOR j:=1TOn DOx:=x+1;A. O(2n)B. O(n)C. O(n2)D. O(logn 2 )12.程序段FOR i:=n-1DOWNTO1DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与 A[j+1]对换;其中 n 为正整数,则最后一行的语句频度在最坏情况下是()A. O ( n)B. O(nlogn)C. O(n 3)D. O(n 2)【南京理工大学 1998 一、 1(2 分 ) 】13.以下哪个数据结构不是多型数据类型()【中山大学1999一、 3( 1 分)】A.栈B.广义表C.有向图D.字符串14.以下数据结构中,()是非线性数据结构【中山大学1999一、 4】A.树B.字符串C.队D.栈15.下列数据中,()是非线性数据结构。
数据结构试卷和答案

《数据结构》试题参考答案 (开卷)(电信系本科2001级 2002年12月)一、回答下列问题 (每题4分,共36分)1. 某完全二叉树共有15381个结点,请问其树叶有多少个? 答:n2=⎡n/2⎤=⎡15381/2⎤=7691(个)2. 假设有二维数组A 7×9,每个元素用相邻的6个字节存储,存储器按字节编址。
已知A 的起始存储位置(基地址)为1000,末尾元素A[6][8]的第一个字节地址为多少?若按列存储时,元素A[4][7]的第一个字节地址为多少?答:① 末尾元素A[6][8]的第一个字节地址=1000+(7行×9列—1)×6B =1000+62×6=1372 ②按列存储时,元素A[4][7]的第一个字节地址=1000+(7列×7行+4)×6B =1000+53×6=1318 3. 在KMP 算法中,已知模式串为ADABBADADA ,请写出模式串的next[j]函数值。
答:根据0 当j =1时next[ j ]= max { k |1<k<j 且‘T 1…T k-1’=‘T j-(k-1) …T j-1’ }1 对应模式串的next[ j ] 演示程序亦验证了结果: next[j]=03 4. 已知一棵二叉树的前序序列和中序序列分别为:ABDEGCFH 和DBGEACHF ,则该二叉树的后序序列是什么?答:法1:先画树而得后序序列;A(DBGE) (CHF)B C 结论:D G E B H F C AD (GE) (HF)E F G H法2:直接推出后序序列step1: (DBGE) (CHF) A step2: D(GE)B (HF) C A step3: DGE B HF C A5. 请证明:用二叉链表法(Lchild-Rchild )存储包含n 个结点的二叉树,必有n+1个指针域为空。
答:因为:用二叉链表存储包含n 个结点的二叉树,结点共有2n 个链域;又因为:二叉树中除根结点外,每一个结点有且仅有一个双亲,这就意味着只有n-1个结点的链域存放指向非空子女结点的指针(换句话说,有后继孩子链接的指针仅n-1个);所以,空指针数目=全部指针数2n -所有非空指针数(n-1)=所有空指针数=n +1,证毕。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
苏州大学数据结构课程10卷参考答案(共 5 页)
院系专业 __________
一、填空题(每题3分,共30分)
1、7500;625
2、1088
3、线性表;入栈;出栈
4、n2+1 ; 2k-1
5、hdiebjkfca
6、 22
7、深度优先;广度优先;10;从源点到汇点路径长度之和最长的路径
8、29
9、1; 7
10、wpl=(2+5)*3+(7+9+13)*2=79 。
二、应用题(每题8分,共40分)
因为队列的入队和出队在顺序队列的两端进行,可能造成队列空间未用完但队列指针已经越界,从而产生虚溢出。
(2分)
解决虚溢出的方法是采用循环队列。
(2分)
队空条件为:q.front=q.rear (2分)
队满条件为:q.front=(q.rear+1)mod m (2分)
2、
(1)
(4
(2)
(2分)
(3)ASL=(1+1+2+1+2+1+1+3+1+3+1)/11=17/11 (2分)
3、最小生成树:
(4分)
邻接矩阵:
1 2 3 4 5 6
0 10 0 0 15 12
10 0 5 6 0 7
0 5 0 6 0 0
0 6 6 0 0 8
15 0 0 10 0 12
12 7 0 8 12 0
(4分)
4、
(1
(4分)
(2)R1={4,5,6,7,8,9,16,18,20}。
(2分)
(3)R2={5,6,4,9,8,18,20,16,7}。
(2分)
三、算法设计题(每题10 分,共30分)
1、假设用带头结点的单链表作为线性表的存储结构,编写在线性表中第i个元
素前插入值为x的元素的算法。
deleteinsert(la,x) /*从表la中删除值为x的元素*/
linklist *la;/*la分别为linklist类型的指针变量*/
{linklist *p,*q;
p=la;
q=p->next; (3分)
while (q!=null)
if (q->data=x) {p->next=q->next ;dispose(q);q=p->next;} (4分)else {p=q;q=q->next;} (3分)
2、
int count(t,num)
bitree *t;
int num;
{
if (t) (2分)if ((t->lchild!=null) && (t->lchild==null)
||(t->lchild==null) && (t->lchild!=null)) (2分)
num=num+1;
count(t->lchild,num); (2分)
count(t->rchild,num); (2分)return(num); (2分)
} /*count */
3、
#define INFINIY MAX_WEIGHT
V oid converttu(AdjGraph *G1,ALGraph *G2)
int
{i,j;
LinkNode *p;
G2->vernum=G1->vernum;
G2->e=G1->e; (3分)
for (i=0;i< G1->vernum;i++){
G2->adjlist[i].vexdata=G1->vexs[i];
G2->adjlist[i].first=null;
}
for (i=0;i< G1->vernum;i++)
for (j=0;j< G1->vernum;j++)
if (G1->adj[i][j]<INFINITY){
p=(LinkNode *)malloc(sizeof(LinkNode)) (3分)
p->weight=adj[i][j];
p->adjvex=j;
p->next=G2->adjlist[i].first;
G2->adjlist[I].first=p;
}
return; (3分)}
O(n2) (1分)。