数据结构模拟题(开卷)

合集下载

数据结构模拟测验题

数据结构模拟测验题

数据结构模拟试卷一一、单选题(每小题2分,共20分)1. 在数据结构的讨论中把数据结构从逻辑上分为()。

A.内部结构与外部结构 B. 静态结构与动态结构 C. 线性结构与非线性结构 D. 紧凑结构与非紧凑结构2. 采用线性链表表示一个向量时,要求占用的存储空间地址()。

A. 必须是连续的B. 部分地址必须是连续的C. 一定是不连续的D. 可连续可不连续3. 采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为()。

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

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个数据中只需要选择其中最小的10个,采用()方法最好。

A.冒泡排序B. 堆排序C. 直接插入排序D. 快速排序6. 设有两个串t和p,求p在t中首次出现的位置的运算叫做()。

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

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

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

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

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

数据结构模拟试卷及参考答案

数据结构模拟试卷及参考答案

数据结构模拟试卷及参考答案一、简答题(共10题,每题10分,共计100分)1. 什么是数据结构?请简要解释。

数据结构是计算机中用于组织和存储数据的方式,它包含了一系列的数据元素,以及这些数据元素之间的关系和操作。

通过使用不同的数据结构,可以更高效地存储、查找和操作数据。

2. 请解释什么是栈,并给出一个栈的应用场景。

栈是一种具有特定操作限制的数据结构,它遵循"先进后出"(LIFO)的原则。

栈的应用场景包括函数调用、表达式求值、撤销操作以及浏览器中的历史记录。

3. 什么是队列?请给出一个队列的实际应用例子。

队列是一种具有特定操作限制的数据结构,它遵循"先进先出"(FIFO)的原则。

一个实际应用例子是操作系统的进程调度,进程按照到达时间加入队列,并按照一定规则出队执行。

4. 请解释什么是链表,并给出一个链表的优点和缺点。

链表是一种动态数据结构,它由一系列节点构成,每个节点包含数据和指向下一个节点的指针。

链表的优点是可以动态地分配内存空间,且插入和删除节点的时间复杂度为O(1)。

缺点是访问链表某个具体节点的时间复杂度为O(n),且需要额外的内存空间存储指针。

5. 请解释什么是树,并给出一个树的实际应用例子。

树是一种分层次的数据结构,它由一系列节点和节点之间的关系构成。

一个实际应用例子是文件系统的目录结构,文件和文件夹通过树的结构进行组织和存储。

6. 请解释什么是图,并给出一个图的实际应用例子。

图是一种由节点和节点之间的连接关系组成的数据结构。

一个实际应用例子是社交网络,人与人之间的关系可以用图来表示,每个人是一个节点,节点之间的连接表示关系。

7. 请解释什么是散列(哈希)表,以及它的优势和劣势。

散列表是一种根据关键字直接访问的数据结构,它通过将关键字映射到表中的位置来实现快速的查找操作。

散列表的优势是查找操作的平均时间复杂度为O(1)。

劣势是如果存在多个关键字映射到同一个位置,就会发生冲突,需要解决冲突问题。

数据结构模拟题(开卷)

数据结构模拟题(开卷)

数据结构模拟题(开卷)《数据结构》模拟题(开卷)⼀、单项选择题1.分析下列算法suanfa1(n):void suanfa1(int n){ int i,j,x=1;for(i=0;ifor(j=0;jx=x*2;printf("%d",x)}其中语句"x=x*2;"的执⾏次数是( D )。

A.(n*2)2B.(n-1)2C.(n+1)2D.n22.折半查找有序表(16,20,30,35,40,46,60,80),若查找元素80,需依次与表元素( D )进⾏⽐较。

A.35,46,80B.40,60C.40,60,80D.35,46,60,803.对长度为10的表作选择(简单选择)排序,共需⽐较( A )次关键字。

A.45B.90C.10D.1104.下列算法suanfa2(n)的时间复杂度为( A )。

int suanfa1(int n){ int i,x=0;for (i=0;i<5;i++)for (j=1;j<=n;j++)x+=2;return x;}A.O(n)B.O(n5)C.O(5n)D.O(n2)5.线性表在( B )时, 宜⽤顺序表作存储结构。

A.经常作插⼊、删除B.经常随机存取C.⽆⾜够连续存储空间D.经常作动态查找6.设⼴义表LS=((a,b),c,(d,e)),执⾏操作GetTail(GetHead(LS))后的结果是( A )。

A.(b)B.bC.(c,(d,e))D.(a,b)7.深度为k的满⼆叉树有( C )个叶⼦。

A.k2-1B.2K-1-1C.2K-1D.k28.有16个顶点的⽆向图最多可能有( D )个连通分量。

A.32B.8C.256D.169. ( C )是'Hua**Zhong**Da'的⼦串。

A.HuaB.zhongC.'*Da'D.'HuaZhongDa'10.字符串的长度指的是串中( B )的个数。

专升本《数据结构》模拟题试卷

专升本《数据结构》模拟题试卷

专升本《数据结构》模拟题试卷专升本《数据结构》模拟题试卷一. (共75题,共150分)1. 数据的基本单位是()。

(2分)A.数据元素B.记录C.数据对象D.数据项★检查答案标准答案:A2. ()是数据的不可分割的最小单位。

(2分)A.数据对象B.数据元素C.数据类型D.数据项★检查答案标准答案:D3. 算法的空间复杂度是对算法()的度量。

(2分)A.时间效率B.空间效率C.可读性D.健壮性★检查答案标准答案:B4. ()是限制了数据元素的内部结构仅为一个字符的线性表。

(2分)A.栈B.队列C.串D.数组★检查答案标准答案:B5. 串的长度是指串中所含()的个数。

(2分)A.不同字符B.不同字母C.相同字符D.所有字符★检查答案标准答案:D(2采用带头结点双向链表存储的线性表,在删除一个元素时,需要修改指针()次。

6.分)A.1B.2C.3D.4★检查答案标准答案:B7. 线性表的顺序存储结构是一种()的存储结构。

(2分)A.顺序存取B.随机存取C.索引存取D.Hash存取★检查答案标准答案:B8. 数组a[1..m]采用顺序存储,a[1]和a[m]地址分别为1024和1150,每个元素占字节,则2分)。

是()(2mA.64B.32C.16D.8A★检查答案标准答案:分)2(深度为h的二叉树,第h层最多有()个结点。

9.A.hB.2h-1C.2h-1D.2hC★检查答案标准答案:分)个结点的二叉树,其对应的二叉链表共有()个非空链域。

2(10. mA.mB.m+1C.2mD.m-1B★检查答案标准答案:分)。

11. 下面叙述错误的是()(2顺序表是借助物理单元相邻表示数据元素之间的逻辑关系A.对于空队列进行出队操作过程中发生下溢现象B.C.有向图的邻接矩阵一定是对称的D.具有相同的叶子个数和具有相同的叶子权值的赫夫曼树不是唯一的★检查答案标准答案:C12. 以下与数据的存储结构无关的术语是()。

数据结构模拟试题一及答案

数据结构模拟试题一及答案

数据结构模拟试题一一、判断题(每小题1 分,共15分)1.计算机程序处理的对象可分为数据和非数据两大类。

2.全体自然数按大小关系排成的序列是一个线性表。

3.在描述单向链表的结点类型时,必须首先描述数值字段,然后再描述指针字段。

4.顺序栈是一种规定了存储方法的栈。

5.树形结构中的每个结点都有一个前驱。

6.在任何一棵完全二叉树中,最多只有一个度为1的分支结点。

7.若某顶点是有向图的根,则该顶点的入度一定是零。

8.如果某图的邻接矩阵有全零的行,没有全零的列,则该图一定是有向图。

9.用一维数组表示矩阵可以节省存储空间。

10.广义表的长度与广义表中含有多少个原子元素有关。

11.分块查找的效率与线性表被分成多少块有关。

12.散列表的负载因子等于存入散列表中的结点个数。

13.在起泡排序过程中,某些元素可能会向相反的方向移动。

14.按某种逻辑关系组织起来的记录的集合称为逻辑记录。

15.索引非顺序文件的特点是索引表中的索引项不一定按关键字大小有序排列。

二、填空题(每空1分,共15分)1.顺序表是一种_____________线性表。

2.若用Q[1]~Q[m]作为非循环顺序队列的存储空间,则对该队列最多只能执行___次插入操作。

3.栈和队列的区别在于________的不同。

4.在高度为h(h≥0)的二叉树中至少有___个结点,至多有___个结点。

5.若用二叉链表来存储具有m个叶子,n个分支结点的树,则二叉链表中有___个左指针域为空的结点,有___个右指针域为空的结点。

6.n个顶点的有根有向图中至少有___条边,至多有___条边。

7.10行20列矩阵若用行优先顺序表来表示,则矩阵中第8行第7列元素是顺序表中第___个元素。

8.在各元素查找概率相等的情况下,用顺序查找方法从含有12个元素的有序表中查找一个元素,元素间的平均比较次数是_____。

9.在归并两个长度为m的有序表时,排序码的比较次数至少是___次,至多是___次。

数据结构模拟题(开卷)

数据结构模拟题(开卷)

《数据结构》模拟题(补)一.单项选择题1.在线性表的下列存储结构中,读取元素花费时间最少的是【】。

A.单链表B.双链表C.顺序表D.循环链表2.设计一个判定表达式中左、右括号是否配对出现的算法,采用【】数据结构最佳。

A.集合B.线性表C.队列D.栈3.n个结点的线索二叉树上含有的线索数为【】。

A.2n B.n-1 C.n D.n+14.设广义表D=(a,(b,c)),则tail(D)=【】。

A.b,c B.(b,c) C.((b,c)) D.c5.由4个结点可以构造出【】种不同的二叉树。

A.12 B.13 C.14 D.156.在栈中,出栈操作的时间复杂度为【】。

A.O(1) B.O(n) C.O(log2n) D.O(n2)7.假设Q[0..len-1]表示循环队列,f为队头指针,r为队尾指针,则进队操作语句是【】。

A.f=f+1 B.r=r+1 C.f=(f+1)%len D.r=(r+1)%len8.一个n*n的对称矩阵,如果以行或列为主序放入内存,则其容量为【】。

A.n*n B.n*n/2 C.n*(n+1)/2 D.(n+1)*(n+1)/29.队列操作的原则是【】。

A.进优于出B.出优于进C.先进先出D.后进先出10.下列数据结构中,【】是非线性数据结构。

A.栈B.串C.队列D.树11.两个指针p和q,分别指向单链表的两个元素,p所指元素是q所指元素的前驱,则【】。

A.p==q B.q->next=p C.p->next=q D.p->next=q->next12.数组A中,每个元素的长度为4个字节,行下标i从1到5,列下标j从1到4,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[3][2]的起始地址为【】。

A.SA+20 B.SA+36 C.SA+40 D.SA+4513.已知一个顺序存储的线性表,设每个结点需占m个存储单元,若第一个结点的地址为d1,则第i个结点的地址为【】。

十套数据结构模拟题+答案

数据结构试卷(一)一、选择题(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-15.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为()。

(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的容量至少应该是()。

(A) 6 (B) 4 (C) 3 (D) 27.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为()。

(A) 100 (B) 40 (C) 55 (D) 808.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为()。

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

(A) 4 (B) 5 (C) 6 (D) 710.设有以下四种排序方法,则()的空间复杂度最大。

(A) 冒泡排序(B) 快速排序(C) 堆排序(D) 希尔排序二、填空题(30分)1.设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F =____________;。

数据结构试卷和答案

《数据结构》试题参考答案 (开卷)(电信系本科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,证毕。

数据结构模拟试题答案

《数据结构》模拟试题一、单项选择题(30分)1.在数据结构的讨论中把数据结构从逻辑上分为C。

A. 内部结构与外部结构B. 静态结构与动态结构C. 线性结构与非线性结构D. 紧凑结构与非紧凑结构。

2.算法分析的两个主要方面是 D。

A. 正确性和简明性B. 可读性和文档性C. 数据复杂性和程序复杂性D. 空间复杂性和时间复杂性3.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储B。

A. 数据的处理方法B. 数据元素的类型C. 数据元素之间的关系D. 数据的存储方法4.设顺序表有9个元素,则在第3个元素前插入一个元素所需移动元素的个数为c。

A.5B.6C.7D.95.线性表采用链式存储结构时,要求内存中可用存储单元的地址d。

A. 必须是连续的B. 必须是部分连续的C. 一定是不连续的D. 连续和不连续都可以6.对具有n个结点的线性表进行插入和删除操作,所需的算法时间复杂度为 d。

A. O(1)B. O(n)C. O(nlog2n)D. O(n2)7.在单链表中指针p所指结点之后插入指针为s的结点,正确的操作是b。

A. p->next=s;s->next= p->next;B. s->next= p->next; p->next=s;C. p->next=s; p->next = s->nextD. p->next=s->next; p->next=s; 8.栈中元素的进出原则是b。

A.先进先出 B.先进后出 C.栈空则进 D.栈满则出9.长度是n的顺序循环队列,front和rear分别指示队首和队尾,判断队列为满队列的条件是__d____。

A.rear=0 B.front=0C.rear==front D.(rear+1)%n==front10.下面说法不正确的是_____c_____。

A.广义表的表头总是一个广义表 B.广义表的表尾总是一个广义表C.广义表难以用顺序存储结构 D.广义表可以是一个多层次的结构11.已知二叉树的先序遍历序列为ABCD,中序遍历序列为BCDA,则后序遍历序列为____d___。

2023年数据结构模拟考试及答案

数据结构模拟考试(总分100分,考试时长90分钟)一、单项选择题(每小题2 分,共 100分)1、一棵具有 n 个结点的完全二叉树的树高度(深度)是( A )A、「log2n」+1B、log2n+1C、「log2n」D、log2n-12、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为A、O(n)B、O(0)C、O(1)D、O(n^2)3、一个顺序栈S,空栈时top的初始值为0,其栈顶指针为top,则将元素e入栈的操作是( )。

A、*S->top=e;S->top++;B、S->top++;*S->top=e;C、*S->top=eD、S->top=e;4、下列几种排序方法中要求辅助空间最大的是( )A、堆排序B、直接选择排序C、归并排序D、快速排序5、给定排序码值序列为{F,B,J,C,E,A,I,D,C,H},对其按字母的字典序列的次序进行排列,冒泡排序(大数下沉)的第一趟排序结果应为A、{B,F,C,J,A,E,D,I,C,H}B、{C,B,D,A,E,F,I,C,J,H}C、{B,F,C,E,A,I,D,C,H,J}D、{A,B,D,C,E,F,I,J,C,H}6、对含有 10 个数据元素的有序查找表执行折半查找,当查找失败时,至少需要比较( )次。

A、2B、3C、4D、57、数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为()。

A、r-fB、(n+f-r)%nC、n+r-fD、(n+r-f)%n8、若长度为 n 的线性表采用顺序存储结构,访问其第 i 个元素的算法时间复杂度为()A、0 ( 1 )B、0 ( n )C、0 ( n2 )D、0 ( log2n )9、(6分)若希望1000个无序元素中尽快求得前10个最大元素,应借用(A)。

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

《数据结构》模拟题(补)
一.单项选择题
1.在线性表的下列存储结构中,读取元素花费时间最少的是【】。

A.单链表B.双链表C.顺序表D.循环链表
2.设计一个判定表达式中左、右括号是否配对出现的算法,采用【】数据结构最佳。

A.集合B.线性表C.队列D.栈
3.n个结点的线索二叉树上含有的线索数为【】。

A.2n B.n-1 C.n D.n+1
4.设广义表D=(a,(b,c)),则tail(D)=【】。

A.b,c B.(b,c) C.((b,c)) D.c
5.由4个结点可以构造出【】种不同的二叉树。

A.12 B.13 C.14 D.15
6.在栈中,出栈操作的时间复杂度为【】。

A.O(1) B.O(n) C.O(log2n) D.O(n2)
7.假设Q[0..len-1]表示循环队列,f为队头指针,r为队尾指针,则进队操作语句是【】。

A.f=f+1 B.r=r+1 C.f=(f+1)%len D.r=(r+1)%len
8.一个n*n的对称矩阵,如果以行或列为主序放入内存,则其容量为【】。

A.n*n B.n*n/2 C.n*(n+1)/2 D.(n+1)*(n+1)/2
9.队列操作的原则是【】。

A.进优于出B.出优于进C.先进先出D.后进先出
10.下列数据结构中,【】是非线性数据结构。

A.栈B.串C.队列D.树
11.两个指针p和q,分别指向单链表的两个元素,p所指元素是q所指元素的前驱,则【】。

A.p==q B.q->next=p C.p->next=q D.p->next=q->next
12.数组A中,每个元素的长度为4个字节,行下标i从1到5,列下标j从1到4,从首
地址SA开始连续存放在存储器内,该数组按行存放时,元素A[3][2]的起始地址为【】。

A.SA+20 B.SA+36 C.SA+40 D.SA+45
13.已知一个顺序存储的线性表,设每个结点需占m个存储单元,若第一个结点的地址为d1,
则第i个结点的地址为【】。

A.d1+(i-1)*m B.d1+i*m C.d1+(i+1)m D.d1-i*m
14.分析下列算法suanfa1(n)的时间复杂度是【】。

void suanfa1(int n)
{ int i,j,x=1;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
x=x*2;
}
A.O(2n) B.O(2n) C.O(n2) D.O(n2+2)
15.将一个A[1..10,1..10]的三对角矩阵,按行优先存入一维数组B[1,30]中,A中元素
a[6,5]在B数组中的位置i为【】。

A.15 B.16 C.55 D.65
16.深度为6的二叉树最多有【】个结点。

A.62 B.63 C.64 C.65
17.由3个结点可以构造出【】种不同的二叉树。

A.2 B.3 C.4 D.5
18.栈的插入和删除操作在【】进行。

A.栈顶B.栈底C.指定位置D.随机位置
19.数组A中,每个元素的长度为3个字节,行下标i从1到5,列下标j从1到4,从首
地址SA开始连续存放在存储器内,该数组占用的字节数为【】。

A.20 B.60 C.80 D.120
20.下面语句的时间复杂度为【】。

s=0;
for(i=1;i<=n;i++)
s=s+i;
A.O(n) B.O(n5) C.O(5n) D.O(n2)
21.二叉树中,叶子的数组等于【】。

A.度为2的结点数加1 B.度为2的结点数减1
C.度为2的结点数D.度为2的结点数的两倍
22.数制转换的算法,采用【】数据结构最佳。

A.集合B.线性表C.队列D.栈
23.线性表采用链式存储时,其地址是【】。

A.必须是连续的B.一定是不连续的
C.部分地址必须是连续的D.连续或不连续都可以
24.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为【】。

A.物理结构B.逻辑结构
C.顺序存储结构D.链式存储结构
25.两个指针p和q,分别指向单链表的两个元素,p所指元素是q所指元素的前驱,则【】。

A.p==q B.q->next=p
C.p->next=q->next D.p->next=q
26.线性表在【】时, 宜用顺序表作存储结构。

A.经常随机存取B.经常作插入、删除
C.无足够连续存储空间D.经常作动态增减
二、判断题
1.【】二叉排序树中每个结点的关键字值大于其左非空孩子(若存在的话)的关键
字值,且小于其右非空孩子(若存在的话)结点的关键字值。

2.【】算法必须具备的5个特征是:有穷性、确定性、可行性、有0或多个输入量,
至少有1个输出量。

3.【】完全二叉树的某结点若没有左孩子,则它必是叶子结点。

4.【】哈夫曼树是带权路径最短的树,路径上权值较大的结点离根较近。

5.【】空栈就是所有元素都为0的栈。

6.【】在单链表中,要访问某个结点,只要知道该结点的指针即可;因此,单链表
是一种随机存取结构。

7.【】n*n对称矩阵经过压缩存储后占用的存储单元是原来的1/2。

8.【】一个栈的输入序列是12345,则栈的输出序列可以是54312。

9.【】对于一个非空二叉树,它的根节点作为第一层,则第i层上最多能有2i-1个
结点。

10.【】稀疏矩阵压缩存储后,必会失去随机存取功能。

11.【】完全二叉树中,若一个结点没有左孩子,则它必是树叶。

12.【】用带表头结点的单链表表示队列,则判断队列为空的标准是头指针和尾指针
均指向同一个结点。

13.【】做进栈运算时应先判别,栈是否为空。

14.【】广义表中原子个数即为广义表的长度。

三、填空题
1.数据结构包含四种基本结构,它们是集合、【 1 】、树形结构、【 2 】。

2.二叉树的深度为k的二叉树最多有【 3 】个结点,其中第i层最多有【 4 】个结点。

3.n个结点的完全二叉树,使用一维数组t存储结点元素的值,假设t[i]存储第i个结点,
那么t[i]的双亲是【 5 】,左小孩是【 6 】,右小孩是t[2*i+1]。

4.由权值分别为11,8,6,2,5的叶子结点生成一颗哈夫曼树,它的带权路径长度为【 7 】。

5.若串s="hello",其子串个数是【 8 】。

6.将含100个结点的完全二叉树从根这一层开始,每层上从左到右依次对结点编号,根结
点的编号为1。

编号为24的结点X的左孩子编号为【 9 】,右孩子编号为【 10 】。

7.长度为n的单链表链接在长度为m的单链表之后的算法时间复杂度为【 11 】。

8.WPL(T)指的是树的【 12 】,即每个叶子的权与根到该叶子的路径长度的乘积之和。

9.深度为k且有【 13 】个结点的二叉树称为满二叉树。

10.3层完全二叉树至少有【 14 】个结点。

四、简答题
1.画出二叉树的5种基本形态。

2.线性表的顺序存储结构相比链式存储结构,有什么优缺点?适用于什么情况的存储?
3.已知一颗非空二叉树,按前序遍历的结果是ACBGDEHFJI,按中序遍历的结果是
CGBAHEDJFI,请画出该二叉树,并写出后序遍历的序列结果。

4.若比较频繁的对一个线性表进行插入和删除操作,该线性表适合采用哪种存储结构?为
5.简述二叉排序树(二叉查找树)的定义及特点。

参考答案:
一.单项选择题
二.判断题
三.填空题
四、简答题
1. 画出二叉树的5种基本形态。

2. 线性表的顺序存储结构相比链式存储结构,有什么优缺点?适用于什么情况的存储?
优点:1)是一种随机存储结构,存取任何元素的时间是一个常数,速度快;2)结构简单,逻辑上相邻的元素在物理上也是相邻的;3)不使用指针,节省存储空间。

缺点:1)插入和删除元素要移动大量元素,消耗大量时间;2)需要一个连续的存储空
间;3)插入元素可能发生“溢出”;4)自由区中的存储空间不能被其他数据占用(共享)。

适用于经常用于检索、存取元素,但是插入和删除元素操作较少的情况。

3. 已知一颗非空二叉树,按前序遍历的结果是ACBGDEHFJI ,按中序遍历的结果是
CGBAHEDJFI ,请画出该二叉树,并写出后序遍历的序列结果。

二叉树:
后序遍历的结果是GBCHEJIFDA
4.若比较频繁的对一个线性表进行插入和删除操作,该线性表适合采用哪种存储结构?为什
么?时间复杂度是多少?
链式存储结构。

因为链式存储的线性表,插入和删除操作只需要改变指针,时间复杂度为O(1),而采用顺序存储结构的线性表插入和删除涉及到数据的大量移动,时间复杂度为O(n)。

5.简述二叉排序树(二叉查找树)的定义及特点。

定义:如果二叉树的任一结点大于其非空左子树的所有节点,而小于等于其非空右子树的所有结点,则这棵二叉树称为二叉排序树。

特点:对一颗二叉排序树进行中序排序,所得的结点序列一定是递增有序的。

相关文档
最新文档