数据结构模拟卷(含答案)经典习题培训讲学
数据结构_模拟测验题1-4(带答案)
数据结构_模拟测验题1-4(带答案)单元测验1一.判断题(ㄨ)(1)数据的逻辑结构和数据的存储结构是相同的。
(ㄨ)(2)程序和算法原则上没有区别,所以在讨论数据结构时可以通用。
(√)(3)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。
(√)(4)数据的存储结构是数据的逻辑结构的存储映像。
(ㄨ)(5)数据的逻辑结构是依赖于计算机的。
(√)(6)算法是对解题方法和步骤的描述。
二.填空题1.数据有逻辑结构和存储结构两种结构。
2. 数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构。
3.树形结构和图形结构合称为非线性结构。
4.数据的存储结构又叫物理结构。
5.数据的存储结构形式包括:顺序存储和链式存储 6.线性结构中的元素之间存在一对一的关系。
7.树形结构中的元素之间存在一对多的关系, 8.图形结构的元素之间存在多对多的关系。
9.数据结构主要研究数据的逻辑结构、存储结构和二者之间的相互运算三个方面的内容。
10.一个算法的时间复杂度是问题规模的函数。
11.若一个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为O (nlog2n)。
12.若一个算法中的语句频度之和为T(n)=3n+nlog2n+n2,则算法的时间复杂度为O(n2)。
三.选择题1.数据结构通常是研究数据的( D )及它们之间的相互联系。
A.联系与逻辑B.存储和抽象C.联系和抽象D.存储结构和逻辑结构 2.数据在计算机内存储时,数据元素在存储器内相对位置可以表示元素之间的逻辑关系,称为(D)。
A.存储结构B.逻辑结构C.链式存储结构D.顺序存储结构 3.链接存储的存储结构所占存储空间(A)。
A.分两部分,一部分存放结点的值,另一部分存放表示结点间关系的指针 B.只有一部分,存放结点值C.只有一部分,存储表示结点间关系的指针D.分两部分,一部分存放结点值,另一部分存放结点所占单元数 4.在数据结构中,与所使用的计算机无关的是(B)A.物理结构B.逻辑结构C.存储结构D.逻辑和存储结构 5.算法能正确的实现预定功能的特性称为(A)A.正确性B.易读性C.健壮性D.高效性6.算法在发生非法操作时可以作出处理的特性称为(B)A.正确性B.健壮性C.易读性D.高效性 7.下列时间复杂度中最坏的是(A)A.O(n2)B.O(log2n)C.O(n)D.O(1) 8. 算法分析的两个主要方面是(C)。
数据结构模拟试卷及参考答案
数据结构模拟试卷及参考答案一、简答题(共10题,每题10分,共计100分)1. 什么是数据结构?请简要解释。
数据结构是计算机中用于组织和存储数据的方式,它包含了一系列的数据元素,以及这些数据元素之间的关系和操作。
通过使用不同的数据结构,可以更高效地存储、查找和操作数据。
2. 请解释什么是栈,并给出一个栈的应用场景。
栈是一种具有特定操作限制的数据结构,它遵循"先进后出"(LIFO)的原则。
栈的应用场景包括函数调用、表达式求值、撤销操作以及浏览器中的历史记录。
3. 什么是队列?请给出一个队列的实际应用例子。
队列是一种具有特定操作限制的数据结构,它遵循"先进先出"(FIFO)的原则。
一个实际应用例子是操作系统的进程调度,进程按照到达时间加入队列,并按照一定规则出队执行。
4. 请解释什么是链表,并给出一个链表的优点和缺点。
链表是一种动态数据结构,它由一系列节点构成,每个节点包含数据和指向下一个节点的指针。
链表的优点是可以动态地分配内存空间,且插入和删除节点的时间复杂度为O(1)。
缺点是访问链表某个具体节点的时间复杂度为O(n),且需要额外的内存空间存储指针。
5. 请解释什么是树,并给出一个树的实际应用例子。
树是一种分层次的数据结构,它由一系列节点和节点之间的关系构成。
一个实际应用例子是文件系统的目录结构,文件和文件夹通过树的结构进行组织和存储。
6. 请解释什么是图,并给出一个图的实际应用例子。
图是一种由节点和节点之间的连接关系组成的数据结构。
一个实际应用例子是社交网络,人与人之间的关系可以用图来表示,每个人是一个节点,节点之间的连接表示关系。
7. 请解释什么是散列(哈希)表,以及它的优势和劣势。
散列表是一种根据关键字直接访问的数据结构,它通过将关键字映射到表中的位置来实现快速的查找操作。
散列表的优势是查找操作的平均时间复杂度为O(1)。
劣势是如果存在多个关键字映射到同一个位置,就会发生冲突,需要解决冲突问题。
十套数据结构模拟题+答案
数据结构试卷(一)一、选择题(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 =____________;。
数据结构模拟1--带答案
数据结构模拟题1一、判断题。
判断下列各题是否正确,若正确,在答题卡中涂“A”,否则涂“B”。
1.数据的存储结构也称为物理结构,指数据的逻辑结构在计算机中的映象,它包括数据元素的映象和数据元素关系的映象。
√2.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上不一定相邻。
Χ3.在顺序表中,插入和删除时移动元素的个数与该元素的位置有关。
√4.链表的每个结点中都恰好包含一个指针。
Χ5.链表只能借助于指针和动态变量来实现。
Χ6.对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。
√7.若一个队列入队的次序为1234,则出队的次序也一定是1234。
√8.若一棵二叉树的任意一个非叶子结点的度都为2,则该二叉树是满的。
Χ9.二叉树中所有结点个数是2k-1-1,其中k是树的深度。
Χ10.用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
√11.满二叉树不一定是完全二叉树。
Χ12.使用递归也可以实现二叉树的先序、中序和后序遍历。
√13.对二叉排序树进行中序遍历得到的序列是由大到小的。
14.哈夫曼树是带权路径长度最小的二叉树,路径上权值较大的结点离根较近。
√15.邻接表存储结构只用于有向图的存储,邻接矩阵对有向图和无向图的存储都适用。
Χ二、单选题。
1.数据的最小单位是【】。
AA、数据项B、数据类型C、数据元素D、数据变量2.从逻辑上可以把数据结构分为【】两大类。
CA、动态结构、静态结构B、顺序结构、链式结构C、线性结构、非线性结构D、初等结构、构造型结构3.【】不是要关注程序的时间复杂性的原因。
BA、确定程序运行时间的上限B、判断一个计算机系统是否有足够的内存来运行该程序C、正在开发的程序可能需要提供一个满意的实时响应D、在多种可选的方案中决定采用哪一个4.【】是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性数据结构。
CA、线性表B、栈C、队列D、树5.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为【】。
《数据结构》3套模拟试题综合测试题带答案5
《数据结构》模拟试题13一、填空题(每小题2分,共18分)1、数据的逻辑结构包括,和三种结构。
2、队列是操作受限的线性结构,只能在插入元素,而在删除元素。
3、串是一种特殊的线性表,其特殊性体现在。
4、有一个10阶对称矩阵A,采用压缩存储方式采用压缩存储方式,以行为主存储下三角形到一个一维数组中,A[0][0]的地址是100(每个元素占2个基本存储单元),则A[5][9]的地址是。
5、在高度为h的二叉树的中只有度为0和度为2的结点,则该类二叉树中所包含的结点数至少为。
6、对于一个有n个顶点和e条边的无向图,若采用邻接链表存储,则表头向量的大小为,邻接表中的结点总数为。
7、对线性表进行二分查找时,要求线性表必须是,且要求。
8、对于文件,按物理结构划分,可分为顺序文件、文件、文件和多关键字文件。
9、外部排序的最基本方法是,其主要时间花费在方面。
二、单项选择题(请将答案写在题目后的括号中。
每题2分,共18分)1、如下函数是求1!+2!+…+n!,其时间复杂度是()。
Long int Sum (int n){ long int sum=0 , t=1 ; int p ;for (p=1; p<=n ;p++) { t=t*p ; sum+=t ; }return(sum) ;}(A)O(n) (B)O(n2) (C)O(㏒2n) (D)O(n㏒2n)2、设有一个栈顶指针为top的顺序栈S,则弹出S的栈定元素的操作是()。
(A)p=S[top++];(B)p=S[++top];(C)p=S[top--];(D)p=S[--top];3、广义表((a),((b),c),(((d))))的表头是,表尾是。
()(A)(a) ((b),c),(((d))) (B)(a) (((b),c),(((d))))(C)((a),((b),c)),(((d))) (D)(a) (((d)))4、一棵二叉树,其先序遍历序列是abdgehicf,中序遍历序列是gdbheiafc,则其后序遍历序列是( )。
数据结构(第二版)模拟测试题4套及答案
试卷B一、选择题(本题共20分,每题2分)1.在数据结构中,从逻辑上可以把数据结构分成( ) 。
A .动态结构和静态结构 B. 线性结构和非线性结构 C. 紧凑结构和非紧凑结构 D. 内部结构和外部结构 2. 下列程序段的时间复杂度是( )count=0;for(k=1;k<=n;k*=2) for(j=1;j<=n;j++) count++;A.O(nlog2n)B.O(n)C.O(log2n)D.O(n2) 3. 以下描述错误的是:( )A. 线性表是n 个数据元素的有限非空集合。
B. 栈和队列都是操作受限的线性表。
C. 串(或字符串)是由零个或多个字符组成的有限序列。
D. 非空栈中的栈顶指针top 始终指向栈顶元素的下一个位置。
4. 若采用少用一个队列空间的方法来区分队满队空两种状态,则判定一个顺序循环队列 Q (最大队列长度MAXSIZE )为满队列的条件是( )。
A. Q.front=Q.rearB. Q.front!=Q.rearC. Q.front=(Q.rear+1) % MAXSIZED. Q.front!=(Q.rear+1) % MAXSIZE 5. 按照二叉树的定义,具有 3 个结点的二叉树有( )种。
A. 3 B. 4 C. 5 D. 66. 设矩阵A (如下图所示)是一个对称矩阵,为了节省存储,将其下三角(包括对角线)部分按行序存放在一维数组 B[n(n+1)/2]中,对下三角部分中任一元素 ai,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+j0,01,01,11,01,11,1...............n n n n a a a A a a a ----⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦7. 有一个有序表为{5, 18,23, 33, 42, 54,56,78},当折半查找56时,经过( )次比较后查找成功。
数据结构模拟卷(含答案)经典习题培训讲学
数据结构模拟卷(含答案)经典习题练习题一、单项选择题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. 散列存储和顺序存储7. 数据结构是()A.一种数据类型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;i<n;i++)for(j=1;j<i;j++)s+=i*j;A.O(1)B.O(logn)C.O(n)D.O(n2)20. 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。
数据结构模拟试题答案
《数据结构》模拟试题一、单项选择题(30分)1 .在数据结构的讨论中把数据结构从逻辑上分为 ____ J 。
A.内部结构与外部结构B.静态结构与动态结构C.线性结构与非线性结构D.紧凑结构与非紧凑结构。
2 .算法分析的两个主要方面是―DA.正确性和简明性B.可读性和文档性C.数据复杂性和程序复杂性D.空间复杂性和时间复杂性 3 .在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 B 。
A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法4 .设顺序表有9个元素,则在第3个元素前插入一个元素所需移动元素的个数为cA.5B.6C.7D.95 .线性表采用链式存储结构时,要求内存中可用存储单元的地址—d _。
A.必须是连续的B.必须是部分连续的C. 一定是不连续的D.连续和不连续都可以6 .对具有n 个结点的线性表进行插入和删除操作,所需的算法时间复杂度为―dA. O(1)B. O(n)C. O(nlog 2n)D. O(n 2)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 .栈中元素的进出原则是■—bA.先进先出B.先进后出C.栈空则进D.栈满则出 9 .长度是n 的顺序循环队列,front 和rear 分别指示队首和队尾,判断队列为满队列的条件是_dB. front=0 10 .下面说法不正确的是 ___ c. A.广义表的表头总是一个广义表 B.广义表的表尾总是一个广义表C.广义表难以用顺序存储结构D.广义表可以是一个多层次的结构 A. rear=0C. rear==frontD. (rear+1) %n==front11.已知二叉树的先序遍历序列为ABCD,中序遍历序列为BCDA,则后序遍历序列为—d—。
《数据结构》3套模拟试题综合测试题带答案4
《数据结构》模拟试题10一、单项选择题(每题 3 分,共30分)1.设某无向图有n个顶点,则该无向图的邻接表中有()个表头结点。
(A) 2n (B) n (C) n/2 (D) n(n-1)2.设无向图G中有n个顶点,则该无向图的最小生成树上有()条边。
(A) n (B) n-1 (C) 2n (D) 2n-13.设一组初始记录关键字序列为(60,80,55,40,42,85),则以第一个关键字45为基准而得到的一趟快速排序结果是()。
(A) 40,42,60,55,80,85 (B) 42,45,55,60,85,80(C) 42,40,55,60,80,85 (D) 42,40,60,85,55,804.()二叉排序树可以得到一个从小到大的有序序列。
(A) 先序遍历(B) 中序遍历 (C) 后序遍历 (D) 层次遍历5.设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为()。
(A) 2i+1 (B) 2i (C) i/2 (D) 2i-16.程序段s=i=0;do {i=i+1;s=s+i;}while(i<=n);的时间复杂度为()。
(A) O(n) (B) O(nlog2n) (C) O(n2) (D) O(n3/2)7.设带有头结点的单向循环链表的头指针变量为head,则其判空条件是()。
(A) head==0 (B) head->next==0(C) head->next==head (D) head!=08.设某棵二叉树的高度为10,则该二叉树上叶子结点最多有()。
(A) 20 (B) 256 (C) 512 (D) 10249.设一组初始记录关键字序列为(13,18,24,35,47,50,62,83,90,115,134),则利用二分法查找关键字90需要比较的关键字个数为()。
(A) 1 (B) 2 (C) 3 (D) 410.设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为()。
《数据结构》模拟试题综合测试题带答案 (3)
《数据结构》模拟试题03一、单项选择题(每题 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+1B .front=(front+1)%(m-1)C .front=(front-1)%mD .front=(front+1)%m 6.如下陈述中正确的是( )A .串是一种特殊的线性表B .串的长度必须大于零C .串中元素只能是字母D .空串就是空白串7.若目标串的长度为n ,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是( )A .O (n3) B .O (n ) C .O (n2) D .O (n3)8.一个非空广义表的表头( )A .不可能是子表B .只能是子表C .只能是原子D .可以是子表或原子 9.假设以带行表的三元组表表示稀疏矩阵,则和下列行表对应的稀疏矩阵是( )5A.08067000000050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥B.08067000504000000300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥C.08060000020050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥D.08060000700050400300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥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.关键字项的长度不固定二、填空题(每题2分,共20分)1.数据的逻辑结构是从逻辑关系上描述数据,它与数据的无关,是独立于计算机的。
数据结构模拟试题与答案3
《数据结构》模拟试题3一、单项选择题1.带头结点的单向链表为空的判断条件是()(设头指针为head)。
A.head = =NULL B.head!=NULLC.head->next= =head D.head->next= =NULL2.非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。
A.p->next = =NULL B.p= =NULL C.p= =head D.p->next= =head3.算法的时间复杂度与()有关。
A.所使用的计算机B.计算机的操作系统C.算法本身D.数据结构4.设有一个长度为n的顺序表,要删除第i个元素需移动元素的个数为()。
A.n-i+1 B.n-i C.n-i-1 D.i5.在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。
A.p=s→next B.p→next=s→next;C.s→next=p→next; p→next=s; D.p→next= s; s→next= p→next6.在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为()。
A.r=f→next; B.r=r→next; C.f=f→next; D.f=r→next;7.元素1,3,5,7按顺序依次进栈,则该栈的不可能输出序列是()(进栈出栈可以交替进行)。
A.7,5,3,1 B.7,5,1,3C.3,1,7,5 D.1,3,5,78.在C语言中,顺序存储长度为3的字符串,需要占用()个字节。
A.4 B.3 C.6 D.129.在一棵二叉树中,若编号为i的结点存在左孩子,则左孩子的顺序编号为()。
A.2i B.2i-1 C.2i+1 D.2i+210.一棵具有35个结点的完全二叉树,最后一层有()个结点。
A.4 B.6 C.16 D.811.在一个无向图中,所有顶点的度数之和等于边数的()倍。
A.3 B.2 C.2.5 D.1.512.已知如图3所示的一个图,若从顶点V1出发,按广度优先法进行遍历,则可能得到的一种顶点序列为()。
数据结构模考试题及答案
数据结构模考试题及答案一、单选题(共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(四套题)
《数据结构》模拟试题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的有序表时,排序码的比较次数至少是___次,最多是___次。
数据结构模拟试卷和答案教学提纲
数据结构模拟试卷和答案北京语言大学网络教育学院《数据结构》模拟试卷一注意:1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。
请监考老师负责监督。
2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。
3.本试卷满分100分,答题时间为90分钟。
4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。
一、【单项选择题】(本大题共10小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。
1、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则采用()存储方式最节省时间。
[A] 顺序表[B] 双链表[C]带头结点的双循环链表[D] 单循环链表2、队列操作的原则是()。
[A] 只能进行删除[B] 后进先出[C]只能进行插入[D] 先进先出3、某二叉树的先序序列和后序序列正好相反,则该二叉树一定是()的二叉树。
[A] 空或只有一个结点[B] 高度等于其结点数[C]任一结点无左孩子[D] 任一结点无右孩子4、在下列排序方法中,()方法平均时间复杂度为0(nlogn),最坏情况下时间复杂度为0(n2)。
收集于网络,如有侵权请联系管理员删除[A] 插入排序[B] 希尔排序[C] 快速排序[D] 堆排序5、对二叉树从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一个结点的左、右孩子中,其左孩子编号小于右孩子编号。
则可采用()次序的遍历实现编号。
[A] 先序[B] 中序[C]后序[D] 从根开始的层次遍历6、若用数组S[n]作为两个栈S1和S2的共用存储结构,对任何一个栈,只有当S[n]全满时才不能作入栈操作。
为这两个栈分配空间的最佳方案是()。
[A] S1的栈底位置为0,S2的栈底位置为n[B] S1的栈底位置为-1,S2的栈底位置为n/2[C] S1的栈底位置为0,S2的栈底位置为n-1[D] S1的栈底位置为0,S2的栈底位置为n/27、对一棵二叉排序树进行()遍历,可以得到该二叉树的所有结点按值从小到大排列的序列。
数据结构模拟题及部分答案
《数据结构》模拟题一、单项选择题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中()。
《数据结构》全真模拟试题与解答
全真模拟试题一、单项选择题(在每个小题的4个备选答案中,选出正确的答案,并将其号码填在题后的括号内。
每小题2分,共24分)1.一个具有n个顶点的无向完全图的边数为()①n(n+1)/2 ②n(n-1)/2 ③n(n-1) ④n(n+1)2.在索引顺序表中查找一个元素,可用的且最快的方法是()①用顺序查找法确定元素所在块,再用顺序查找法在相应块中查找②用顺序查找法确定元素所在块,再用二分查找法在相应块中查找③用二分查找法确定元素所在块,再用顺序查找法在相应块中查找④用二分查找法确定元素所在块,再用二分查找法在相应块中查找3.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,则采用()存储方式最节省运算时间。
①单链表②双链表③带头结点的双循环链表④容量足够大的顺序表4.串是()①一些符号构成的序列②有限个字母构成的序列③一个以上的字符构成的序列④有限个字符构成的序列5.堆排序在最坏情况下,其时间复杂性为()①O(nlog2n) ②O(n2)③O(log2n2) ④O(log2n)6.快速排序的记录移动次数()比较次数,其总执行时间为O(nlog2n)。
①大于②大于等于③小于等于④小于7.一棵二叉树有n个结点,要按某顺序对该二叉树中的结点编号,(号码为1-n),编号须具有如下性质:二叉树中任一结点V,其编号等于其左子树中结点的最大编号加1。
而其右子树中结点的最小编号等于V的编号加1。
试问应按()遍历顺序编号。
①前根②中根③后根④层次8.3个结点可构成()个不同形态的二叉树。
① 2 ②3 ③4 ④59.对有n个记录的有序表采用二分查找,其平均查找长度的量级为()①O(log2n) ②O(nlog2n) ③O(n) ④O(n2)10.对有n个记录的表按记录键值有序的顺序建立二叉树,在这种情况下,其平均查找长度的量级为()①O(n) ②O(nlog2n) ③O(1) ④(log2n)11.栈操作的原则是()①先进先出②后进先出③栈顶插入④栈顶删除12.设矩阵A是一对称矩阵(a ij=a ji,1<=i,j<=8),若每个矩阵元素占3个单元,将其上三角部分(包括对角线)按行序为主序存放在数组B中,B的首地址为1000,则矩阵元素a67的地址为()①1031 ②1093 ③1096 ④1032二、判断题(判断下列各题是否正确,正确在括号内打“√”,错的打“×”。
数据结构模拟习题1 及其答案
模拟试题1一、选择题(20分)1. 组成数据的基本单位是( )。
(A) 数据项(B)数据类型(C)数据元素(D)数据变量2. 线性表的链接实现有利于( )运算。
(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后结点(若存在),则需要修改p的操作为( )(A) p.Next = p.Next.Next (B)p=p.Next(C)p=p.Next.Next (D)p.Next=p6. 设一数列的输入顺序为1,2,3,4,5,6,通过栈操作不可能排成的输出序列为( )(A) 3,2,5,6,4,1 (B) 1,5,4,6,2,3(C) 2,4,3,5,1,6 (D) 4,5,3,6,2,17. 设字符串S1=’ABCDEFG’,S2=’PQRST’,则运算S=CONCA T(SUB(S1,2,LENGTH(S2)),SUB(S1,LENGTH(S2),2))的结果为( )(A) ‘BCQR’(B) ‘BCDEF’(C) ’BCDEFG’(D) ‘BCDEFEF’8. 有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占1个地址空间,则a85地址为( )(A)13 (B) 33 (C) 18 (D) 409. 如果结点A有3个兄弟,而且B为A的双亲,则B的度为( )(A) 3 (B) 4 (C) 5 (D) 110. 线索化二叉树中某结点D没有左孩子的必要条件是( )(A) D.Lchild=null (B) D.ltag=1(C) D.Rchild=null (D) D.ltag=0二、填空题(20分)1. 对于一个以顺序实现的循环队列Q[0..m_1],队头、队尾指针分别为f,r,其判空的条件是,判满的条件是。
数据结构模拟题及答案
数据结构模拟题及答案1. 题目描述考虑一个简单的数据结构,链表。
请用C语言实现一个链表,并编写相应操作函数来模拟链表的基本操作。
2. 问题一:创建链表要求:编写一个函数,能够创建一个带有头结点的链表,并返回链表的头指针。
解答:```c#include<stdio.h>#include<stdlib.h>// 定义链表的结点结构typedef struct Node{int data; // 数据域struct Node* next; // 指针域,指向下一个结点}Node;// 创建链表Node* createList(){Node* head = (Node*)malloc(sizeof(Node)); // 创建头结点head->next = NULL; // 头结点的下一个结点为空 return head;}```3. 问题二:插入结点要求:编写一个函数,能够在链表中指定位置插入一个新的结点。
解答:```c// 在链表的指定位置插入结点void insertNode(Node* head, int data, int position){Node* newNode = (Node*)malloc(sizeof(Node)); // 创建新结点 newNode->data = data;newNode->next = NULL;Node* p = head; // 定义工作指针p指向头结点int count = 0;while(p != NULL && count <= position-1){ // 定位到待插入位置的前一个结点p = p->next;count++;}newNode->next = p->next; // 插入新结点p->next = newNode;}```4. 问题三:删除结点要求:编写一个函数,能够根据给定值删除链表中的第一个匹配结点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构模拟卷(含答案)经典习题练习题一、单项选择题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. 散列存储和顺序存储7. 数据结构是()A.一种数据类型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;i<n;i++)for(j=1;j<i;j++)s+=i*j;A.O(1)B.O(logn)C.O(n)D.O(n2)20. 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。
假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为( )A.q->next=s->next;s->next=p;B.s->next=p;q->next=s->next;C.p->next=s->next;s->next=q;D.s->next=q;p->next=s->next;21. 在计算机内实现递归算法时所需的辅助数据结构是( )A.栈B.队列C.树D.图22. 通常将链串的结点大小设置为大于1是为了( )A.提高串匹配效率B.提高存储密度C.便于插入操作D.便于删除操作23. 带行逻辑的三元组表是稀疏矩阵的一种( )A.顺序存储结构B.链式存储结构C.索引存储结构D.散列存储结构24. 用二叉链表表示具有n个结点的二叉树时,值为空的指针域的个数为( )A.n-1B.nC.n+lD.2n25. 为便于判别有向图中是否存在回路,可借助于( )A.广度优先搜索算法B.最小生成树算法C.最短路径算法D.拓扑排序算法26. 连通网的最小生成树是其所有生成树中( )A.顶点集最小的生成树B.边集最小的生成树C.顶点权值之和最小的生成树D.边的权值之和最小的生成树27. 按排序过程中依据的原则分类,快速排序属于( )A.插入类的排序方法B.选择类的排序方法C.交换类的排序方法D.归并类的排序方法28. 在长度为32的有序表中进行二分查找时,所需进行的关键字比较次数最多为( )A.4B.5C.6D.729. 假设在构建散列表时,采用线性探测解决冲突。
若连续插入的n 个关键字都是同义词,则查找其中最后插入的关键字时,所需进行的比较次数为( )A.n-1B.nC.n+lD.n+230. 若有序表的关键字序列为(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,b二、填空题1. 数据的逻辑结构在计算机存储器内的表示,称为数据的____________。
2. 已知双向循环链表结点中,域prior指向前一结点,域next指向后一结点,则删除当前结点指针p的前驱结点(存在)应执行的语句是____________。
3. 栈下溢是指在____________时进行出栈操作,栈上溢是指在____________时进行入栈操作。
4. 已知substr(s,i,len)函数的功能是返回串s中第i个字符开始长度为len的子串,strlen(s)函数的功能是返回串s的长度。
若s=”ABCDEFGHIJK″,t=”ABCD″,执行运算substr(s,strlen(t), strlen(t))后的返回值为____________。
5. 已知完全二叉树T的第5层只有7个结点,则该树共有____________个叶子结点6. 在有向图中,以顶点v为终点的弧的数目称为v的____________,以顶点v为源点的弧的数目称为v的_____________。
7. 假设以数组seqn[m]存放循环队列的元素,设变量rear和quelen分别指示循环队列中队尾元素的位置和元素的个数。
写出一般情况下队头元素位置的表达式。
如果用变量front和quelen分别指示循环队列中队头元素的位置和元素的个数,则写出一般情况下队尾元素位置的表达式。
8. 已知二叉树如下,写出它的先序序列、中序序列和后序序列9. 称算法的时间复杂度为O(f(n)),其含义是指算法的执行时间和_______的数量级相同。
10. 在一个长度为n的单链表L中,删除链表中*p的前驱结点的时间复杂度为_________,删除*p结点的时间复杂度为_____________。
11. 假设为循环队列分配的向量空间为Q[20],若队列的长度和队头指针值分别为13和17,则当前尾指针的值为______。
12. 一棵含999个结点的完全二叉树的深度为_______,深度为10的满二叉树有________个结点。
13. 含n个顶点的无向连通图中至少含有______条边。
14. .已知有向图G的定义如下:G=(V,E)V={a,b,c,d,e}E={<a,b>, <a,c>,<b,c>,<b,d>,<c,d>,<e,c>,<e,d>}(1)画出G的图形;(2)写出G的全部拓扑序列。
15. 线性表的链接存储比顺序存储的优点是:________________操作不需移动结点。
16. 孩子兄弟链表表示的树结构,其后根遍历结果同二叉树的___________.一致。
17. 哈夫曼树又称__________.其定义是______________________18 队列是一种__________线性表,而栈是____________线性表。
19. 画出与如图所示森林对应的二叉树。
20.下列线索化的树称为___________________,画出中序线素二叉树的线索表示。
21.填写语句完成对顺序表的初始化#define LIST_INIT_SIZE 100typedef struct {ElemType *elem; //存储空间起始地址int length; //线性表长度int listSize; //分配容量} SqList;Status initList_Sq(SqList &l){l.elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));if (!l.elem) exit ERROR;__________________________;__________________________;return OK;}22.一般而言,若二叉树的结点,其左子树的所有结点小于根结点,而右子树的所有结点大于根结点,则二叉树称为________________; 如果结点的左子树深度和右子树深度之差的绝对值不超过1,则二叉树称为________________.三、解答题1. 已知二叉树的先序序列和中序序列分别为HDACBGFE和ADCBHFEG。
(1)画出该二叉树;(2)画出与(1)求得的二叉树对应的森林。
2. 从空树起,依次插入关键字37,50,42,18,48,12,56,30,23,构造一棵二叉排序树。
(1)画出该二叉排序树;(2)画出从(1)所得树中删除关键字为37的结点之后的二叉排序树。
3. 已知用有序链表存储整数集合的元素。
阅读算法f3,并回答下列问题:(1)写出执行f3(a,b)的返回值,其中a和b分别为指向存储集合{2,4,5,7,9,12}和{2,4,5,7,9, 12}的链表的头指针;(2)简述算法f3的功能;(3)写出算法f3的时间复杂度。
int f3(LinkList ha,LinkList hb){//LinkList是带有头结点的单链表//ha和hb分别为指向存储两个有序整数集合的链表的头指针 LinkList pa,pb;pa=ha->next;pb=hb->next;while(pa && pb && pa->data==pb->data){ pa=pa->next;pb=pb->next;}if(pa==NULL && pb==NULL) return 1;else return 0;}4. 已知稀疏矩阵采用三元组表表示,其形式说明如下:#define MaxSize 100 //稀疏矩阵的最大行数 typedef struct {int i,j,v; //行号、列号、元素值}TriTupleNode;typedef struct{TriTupleNode data[MaxSize];int m,n,t; //矩阵的行数、列数和非零元个数}RTriTupleTable;下列算法f4的功能是,以行优先的顺序输入稀疏矩阵的非零元(行号、列号、元素值),建立稀疏矩阵的三元组表存储结构。