数据结构模拟题(开卷)

合集下载

数据结构模拟测验题

数据结构模拟测验题

数据结构模拟试卷一一、单选题(每小题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年数据结构模拟考试及答案

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

数据结构模考试题及答案

数据结构模考试题及答案

数据结构模考试题及答案一、单选题(共100题,每题1分,共100分)1、下面关于生成树的描述中,不正确的是( )A、生成树是树的一种表现形式B、生成树一定是连通的C、生成树一定不含有环D、若生成树顶点个数为n,则其边数一定为n-1正确答案:A2、用邻接表表示图进行广度优先遍历时,通常是采用()来实现算法的。

A、图B、栈C、队列D、树正确答案:C3、下列四种基本的逻辑结构中,结构结点间不存在任何逻辑联系的是()A、集合B、树形结构C、图形结构D、线性结构正确答案:A4、以下数据结构中,哪一个是线性结构()。

A、线索二叉树B、二叉树C、有向图D、串正确答案:D5、n个顶点的连通图至少中含有( )边。

A、n-1B、n+1C、nD、0正确答案:A6、G是一个非连通无向图,共有28条边,则该图至少有( )个顶点。

A、7B、8C、6D、9正确答案:D7、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为()。

A、rear=front->nextB、front=rear->nextC、front=front->nextD、rear=rear->next正确答案:C8、一个栈的输入序列是 1 2 3 4 5,则下列序列中是栈的输出序列的是()。

A、1,4,2,5,3B、3,1,2,4,5C、2,3,4,1,5D、5,4,1,3,2正确答案:C9、假设以数组A[m]存放循环队列的元素。

已知队列的长度为length,指针rear指向队尾元素的下一个存储位置,则队头元素所在的存储位置为( )A、(rear-length+m+1)%mB、(rear-length+m)%mC、(rear-length+m-1)%mD、(rear-length)%m正确答案:B10、与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。

A、存储结构B、操作C、逻辑结构D、算法正确答案:C11、深度为k的完全二叉树中最少有()个结点。

《数据结构》模拟试题与参考答案2(四套题)

《数据结构》模拟试题与参考答案2(四套题)

《数据结构》模拟试题A一、单项选择题(每题 3 分,共24分)1.下面关于线性表的叙述错误的是()。

(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。

(A)2m-1 (B)2m (C) 2m+1 (D) 4m3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。

(A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。

(A) BADC (B) BCDA (C) CDAB (D) CBDA5.设某完全无向图中有n个顶点,则该完全无向图中有()条边。

(A) n(n-1)/2 (B) n(n-1) (C) n2 (D) n2-16.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。

(A) 9(B) 10(C) 11(D) 127.设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。

(A) n-1 (B) n (C) n+1 (D) 2n-18.设一组初始记录关键字序列(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二、填空题(每题2分,共16分)1.为了能有效地应用HASH查找技术,必须解决的两个问题是()和()。

2.下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。

数据结构模拟试题及答案

数据结构模拟试题及答案

数据结构模拟试题一一、判定题(每题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的有序表时,排序码的比较次数至少是___次,最多是___次。

数据结构模拟卷(含答案)经典习题.doc

数据结构模拟卷(含答案)经典习题.doc

数据结构模拟卷(含答案)经典习题.doc 练习题⼀、单项选择题1. 若将数据结构形式定义为⼆元组(K ,R) ,其中K是数据元素的有限集合,则R是K上( )A. 操作的有限集合B. 映象的有限集合C. 类型的有限集合D. 关系的有限集合2. 在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为( )A. n-i+1B. iC. i+1D. n-i3. 若不带头结点的单链表的指针为head ,则该链表为空的判定条件是( )A. head==NULLB. head->next==NULLC. head!=NULLD. head->next==head4. 引起循环队列队头位置发⽣变化的操作是( )A. 出队B. ⼊队C. 取队头元素D. 取队尾元素5. 若进栈序列为1 ,2 ,3 ,4 ,5 ,6 ,且进栈和出栈可以穿插进⾏,则不.可能出现的出栈序列是( )A. 2 ,4 ,3 ,1 ,5 ,6B. 3 ,2 ,4 ,1 ,6 ,5C. 4 ,3 ,2 ,1 ,5 ,6D. 2 ,3 ,5 ,1 ,6 ,46. 字符串通常采⽤的两种存储⽅式是( )A. 散列存储和索引存储B. 索引存储和链式存储C. 顺序存储和链式存储D. 散列存储和顺序存储B.数据的存储结构C.⼀组性质相同的数据元素的集合D.相互之间存在⼀种或多种特定关系的数据元素的集合8. 算法分析的⽬的是()A.辨别数据结构的合理性B.评价算法的效率C.研究算法中输⼊与输出的关系D.鉴别算法的可读性9. 在线性表的下列运算中,不.改变数据元素之间结构关系的运算是()A.插⼊B.删除C.排序D.定位10. 下列图⽰的顺序存储结构表⽰的⼆叉树是( )11. 设串sl=″Data Structures with Java″,s2=″it″,则⼦串定位函数index(s1,s2)的值为()A.15 B.16C.17 D.1812. ⼆维数组A[8][9]按⾏优先顺序存储,若数组元素A[2][3]的存储地址为1087 ,A[4][7]的存储地址为1153 ,则数组元素A[6][7]的存储地址为()A.1213 B.1209C.1211 D.120713. 在按中序遍历⼆叉树的算法中,需要借助的辅助数据结构是()A.队列B.栈C.线性表D.有序表14. 在任意⼀棵⼆叉树的前序序列和后序序列中,各叶⼦之间的相对A.不⼀定相同B.都相同C.都不相同D.互为逆序15. 若采⽤孩⼦兄弟链表作为树的存储结构,则树的后序遍历应采⽤⼆叉树的()A.层次遍历算法B.前序遍历算法C.中序遍历算法D.后序遍历算法16. 若⽤邻接矩阵表⽰⼀个有向图,则其中每⼀列包含的″1″的个数为()A.图中每个顶点的⼊度B.图中每个顶点的出度C.图中弧的条数D.图中连通分量的数⽬17. 图的邻接矩阵表⽰法适⽤于表⽰()A.⽆向图B.有向图C.稠密图D.稀疏图18. 若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在⼆分查找关键字b的过程中,先后进⾏⽐较的关键字依次为()A.f,c,b B.f,d,bC.g,c,b D.g,d,b19. 下⾯程序段的时间复杂度为( )s=0;for(i=1;ifor(j=1;js+=i*j;A.O(1)B.O(logn)C.O(n)D.O(n2)20. 已知指针p和q分别指向某单链表中第⼀个结点和最后⼀个结点。

数据结构模拟题及部分答案

数据结构模拟题及部分答案

《数据结构》模拟题一、单项选择题1、在数据结构中,从逻辑上可把数据结构分成()A.动态结构和静态结构B.线性结构和非线性结构C.紧凑结构和非紧凑结构D.内部结构和外部结构2、线性表的顺序存储结构是一种()的存储结构。

A.顺序存取B.索引存取C.散列存取D.随机存取3、组成数据的基本单位是()A.数据项B.数据元素C. 数据类型D.数据变量4、线性表的链接实现有利于()运算。

A. 查找B.读表元C.插入D.定位5、串的逻辑结构与()的逻辑结构不同。

A.树B.栈C.队列D. 线性表6、串的长度是()A.串中不同字符的个数B.串中所含字符的个数C.串中所含字符的个数且字符个数大于0D. 串中不同字母的个数7、下列不是数据的逻辑结构的是()A.线性结构B.树型结构C.图型结构D.物理结构8、带头结点的单链表L为空的判定条件是()A.L->next==NULLB.L==NULLC.L->next==LD.L!=NULL9、一个队列的入列序列是a,b,c,d,则队列的输出序列是()A.d,c,b,aB. a,b,c,dC.d,b,c,aD.c,b,d,a10、下列程序段的时间复杂度为()j=0;sum=0;while(sum<n){ j++; sum=sum+j;}n) D.O(n2)A. O(n)B. O(n)C.O(log411、下列程序段的时间复杂度为()s=s0;for( i=1; i<=n; i++)for(j=n; j>=n-i; j- -)s=s+1;n) C.O(n2) D.O(n3/2)A.O(n)B.O(nlog212、判定一个循环队列Q(最多元素个数为m)为满队列的条件是()A.Q.front==Q.rearB.(Q.rear+1)%m==Q.frontC.(Q.rear-1)%m==Q.frontD.(Q.front+1)%m==Q.rear13、判定一个栈S为空的条件是()A.S.top!=0B.S.top!=S.lengthC.S.top==S.baseD. S.top=S.length14、已知广义表LS=(a,(b,c,d),e),则运用GetHead(GetHead(GetTail(LS)))所得结果为()A.bB. (b,c,d)C.(b,c)D.e15、在一个长度为n的顺序表中向第i个元素(0<i≤ n+1)之前插入一个新的元素时,需向后移动的元素个数为()A.n-iB.n-i-1C.iD.n-i+116、在一个具有n个顶点的无向图中,要连通全部顶点至少需要()条边。

数据结构模拟试题(含答案)

数据结构模拟试题(含答案)

数据结构模拟试题(含答案)一、单选题(共100题,每题1分,共100分)1、在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为()个。

A、5B、6C、7D、4正确答案:B2、假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为()个。

A、15B、47C、16D、17正确答案:C3、设某哈夫曼树中有199个结点,则该哈夫曼树中有()个叶子结点。

A、100B、99C、102D、101正确答案:A4、一棵含18个结点的二叉树的高度至少为( )A、5B、4C、6D、3正确答案:A5、有关栈的描述,正确的是()A、栈是一种先进先出的特殊的线性表B、只能从栈顶执行插入、删除操作C、只能从栈顶执行插入、栈底执行删除D、栈顶和栈底均可执行插入、删除操作正确答案:B6、若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的()A、中序遍历算法B、前序遍历算法C、后序遍历算法D、层次遍历算法正确答案:A7、若要在单链表中的结点*p之后插入一个结点*s,则应执行的语句是( ) typedef struct node { char data[8]; struct node *next; } LinkStrNode;A、s->next=p; p->next=s->next;B、s->next=p->next; p->next=s;C、p->next=s->next; s->next=p;D、p->next=s; s->next=p->next;正确答案:B8、在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( )。

A、O(n)B、O(1)C、O(n2)D、O(n/2)正确答案:A9、执行一趟快速排序能够得到的序列是()。

A、[45,34,12,41] 55 [72,63,27]B、[63,12,34,45,27] 55 [41,72]C、[12,27,45,41] 55 [34,63,72]D、[41,12,34,45,27] 55 [72,63]正确答案:D10、带权有向图G用邻接矩阵A存储,则顶点i 的入度等于A中()。

数据结构模拟试题附答案

数据结构模拟试题附答案

数据结构试卷(1)一、选择题(30分)1.设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为()。

(A) 20 (B) 30 (C) 40 (D) 452.执行一趟快速排序能够得到的序列是()。

(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!=04.时间复杂度不受数据初始状态影响而恒为O(nlog2n)的是()。

(A) 堆排序(B) 冒泡排序(C) 希尔排序(D) 快速排序5.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是()。

(A) 空或只有一个结点(B) 高度等于其结点数(C) 任一结点无左孩子(D) 任一结点无右孩子6.一趟排序结束后不一定能够选出一个元素放在其最终位置上的是()。

(A) 堆排序(B) 冒泡排序(C) 快速排序(D) 希尔排序7.设某棵三叉树中有40个结点,则该三叉树的最小高度为()。

(A) 3 (B) 4 (C) 5 (D) 68.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为()。

(A) O(n) (B) O(n2) (C) O(n1/2) (D) O(1og2n)9.二路归并排序的时间复杂度为()。

(A) O(n) (B) O(n2) (C) O(nlog2n) (D) O(1og2n)10. 深度为k的完全二叉树中最少有()个结点。

(A) 2k-1-1 (B) 2k-1(C) 2k-1+1 (D) 2k-111.设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为()。

十套数据结构试题及答案

十套数据结构试题及答案

数据构造试卷〔一〕一、单项选择题〔每题 2 分,共20分〕1.栈和队列的共同特点是( a )。

A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进展插入运算时( d ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针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)存放在什么位置?脚注(10)表示用10进制表示。

cA.688 B.678 C.692 D.6965.树最适合用来表示( c )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( d ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.假设有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进展二分查找,那么查找A[3]的比拟序列的下标依次为( c d)A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进展快速排序,所需要的辅助存储空间大致为 cA. 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.410.设有6个结点的无向图,该图至少应有( a )条边才能确保是一个连通图。

二、填空题〔每空1分,共26分〕1.通常从四个方面评价算法的质量:____时间正确性_____、____占用内存_易读性____、____复杂度__强壮性___和_____准确度_ 高效率___。

数据结构模拟试题

数据结构模拟试题
七、(每小题4分,共8分)
设内存有大小为6个记录的缓冲区供内排序使用,文件的关键字序列为{29,50,70,33,38,60,28,31,43,36,25,9,80,100,57,18,65,2,78,30,14,20,17,99),试列出:
(1)用内排序求出初始归并段;
(2)用置换一选择排序求初始归并段。
六、(本题8分)
对于序列{8,18,6,16,29,28},试写出堆顶元素最小的初始堆。
七、(本题8分)
一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来。试求出空格处的内容,并画出该二叉树。
先序序列:BFICEHG
中序序列:DKFIAEJC
后序序列:KFBHJGA
八、(每小题2分,共8分)
(3)( )不是队列的基本运算。
设有一个输入数据的序列是{46, 25, 78, 62, 12, 80 },试画出从空树起,逐个输入各个数据而生成的二叉搜索树。
九、(本题9分)
试画出表达式(a+b/c)*(d-e*f)的二叉树表示,并写出此表达式的波兰式表示,中缀表示及逆波兰式表示。
十、(本题15分)
以二叉链表作存储结构,试编写计算二叉树中叶子结点数目的递归算法。
模拟试题(三)
一、单项选择题(每小题2分,共20分)
(1)对一个算法的评价,不包括如下( )方面的内容。
A)健壮性和可读性B)并行性C)正确性D)时空复杂度
(2)在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A)p->next=HL->next; HL->next=pB)p->next=HL; HL=p
A)14B)5C)6D)8

数据结构模拟卷

数据结构模拟卷

一、判断题 (每题1分,共10分)1. 有回路的有向图不能完成拓扑排序。

( )2. 图的深度优先搜索是一种典型的回溯搜索的例子,可以通过递归算法求解。

( )3. 边数很多的稠密图,适宜用邻接矩阵表示。

()4. 在二叉排序树中插入新结点时,新结点总是作为叶子结点插入。

()5. 对一个有向图进行拓扑排序,一定可以将图的所有顶点按其关键字大小排列到一个拓扑有序的序列中。

( )6. 算法和程序原则上没有区别,在讨论数据结构时二者是通用的。

( )7. 进行折半查找的表必须是顺序存储的有序表。

( )8. 对平衡二叉树进行中根遍历,可得到结点的有序序列。

()9. 邻接矩阵适用于稠密图(边数接近于顶点数的平方),邻接表适用于稀疏图(边数远小于顶点数的平方)( )。

10. 对一个连通图进行一次深度优先搜索可以遍访图中的所有顶点。

( )二、单项选择题 (每题2分,共20分)1. 在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是()。

A.O(1)B.O(n)C.O(n2)D.O(nlog2n)2. 数组A[5][6]的每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[4][4]的地址为()。

A.1140B.1145C.1120D.11253. 在一个链队中,假设f和r分别为队首和队尾指针,则插入s所指结点的运算是()。

A.f->next=s;f=s;B.r->next=s;r=s;C.s->next=r;r=s;D.s->next=f;f=s;4. 在一个单链表中已知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;5. 对于如下图所示的带权有向图,从顶点1到顶点5的最短路径为()。

  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.简述二叉排序树(二叉查找树)的定义及特点。

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

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

相关文档
最新文档