数据结构模拟题(开卷)1

合集下载

数据结构模拟测验题

数据结构模拟测验题

数据结构模拟试卷一一、单选题(每小题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,则当前队列中的元素个数是()。

数据结构_模拟测验题1-4(带答案)

数据结构_模拟测验题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)。

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

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

数据结构模拟试卷(一)及参考答案一.单项选择题(本大题共15小题,每小题2分,共30分)1.如果只想得到1024个元素组成的序列中的前5个最小元素,那么用( A )方法最快。

A、起泡排序B、快速排序C、堆排序D、直接选择排序2.算法分析的目的是(B)A.辨别数据结构的合理性B.评价算法的效率C.研究算法中输入与输出的关系D.鉴别算法的可读性3.在线性表的下列运算中,不改变数据元素之间结构关系的运算是(C)A.插入B.删除C.定位D.排序4.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为(D)A.3,2,6,1,4,5 B.5,6,4,2,3,1C.1,2,5,3,4,6 D.3,4,2,1,6,55.设串sl=″DataStructureswithJava″,s2=″it″,则子串定位函数index(s1,s2)的值为(A)A.15 B.16 C.17 D.186.一个顺序存储的线性表的第一个元素的存储地址是100,每个元素的长度为4,则第4个元素的存储地址是(B)。

A. 108B. 112C. 116D. 1207.从一个具有n个结点的单链表中查找其值等于x的结点,在查找成功的情况下,平均需要比较(C)个结点。

A. nB. n/2C. (n+1)/2D. (n-1)/28.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系(D)A.不一定相同 B.互为逆序C.都不相同D.都相同9.高度为5的二叉树至多有结点数为(A)A. 63B. 32C. 24D.6410.若用邻接矩阵表示一个有向图,则其中每一列包含的″1″的个数为(B)A.图中每个顶点的出度B.图中每个顶点的入度C.图中弧的条数D.图中连通分量的数目11.图的邻接矩阵表示法适用于表示(C)A.无向图B.有向图C.稠密图D.稀疏图12.在一个单链表中,若p所指的结点不是最后一个结点,在p之后插入s所指的结点,则执行(D)。

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

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

专科《数据结构》摹拟题试卷一. (共50 题,共100 分)1. 数据的逻辑结构在计算机内部存储表示称为为数据的() 。

(2 分)A.数据结构B.逻辑关系C.物理结构D.数据元素的内部结构★检查答案标准答案:C2. ()是数据的不可分割的最小单位。

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

(2 分)A.时间效率B.空间效率C.可读性D.茁壮性★检查答案标准答案:A4. ()是限制了插入和删除操作在一端进行的线性表。

(2 分)A.栈B. 队列C.串D.数组★检查答案标准答案:A5. 数组通常采用顺序存储的优点是() 。

(2 分)A.便于增加存储空间B.便于依据下标进行随机存取C.避免数据元素的挪移D.防止下标溢出★检查答案标准答案:B6. 采用带头结点双向链表存储的线性表,在插入一个元素时,需要修改指针 () 次。

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

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

(2 分)A. 10B.30C.50D.70★检查答案标准答案:C9. 深度为4 的二叉树,第4 层至少有()个结点。

(2 分)A.0B.1C.8D. 15★检查答案标准答案:B10. 若二叉树对应的二叉链表共有11 个非空链域,则该二叉树有()个结点的二叉树。

(2 分)A.10B.11C.20D.21★检查答案标准答案:A11. 下面叙述错误的是() 。

(2 分)A.借助于队列可以实现对二叉树的层遍历B.栈的特点是先进后出C.对于单链表进行插入操作过程中不会发生上溢现象D.在无向图的邻接矩阵中每行1 的个数等于对应的顶点度★检查答案标准答案: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 =____________;。

数据结构模拟1--带答案

数据结构模拟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,则需要修改指针的操作序列为【】。

数据结构(第二版)模拟测试题4套及答案

数据结构(第二版)模拟测试题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时,经过( )次比较后查找成功。

3套数据结构模拟题及答案

3套数据结构模拟题及答案

数据结构模拟题(一)一、单选题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.6965.树最适合用来表示( )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对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.410.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

A.5B.6C.7D.8二、填空题1.通常从四个方面评价算法的质量:_________、_________、_________和_________。

2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。

《数据结构》试题 (开卷)

《数据结构》试题 (开卷)
else return(rightdep+1);
}
} //BTreeDepth
三、 算法设计题(每题10分,共30分)
1. 试用C或类C语言编写一高效算法,将一顺序存储的线性表(设元素均为整型量)中
所有零元素向表尾集中,其他元素则顺序向表头方向集中。
解:依分析,l、h表示二叉树的层次数和深度。(l之前千万不能加&amp;符号,否则不通)
开始调用时,应为ABC(p, 0, 0)
去掉形参中的&quot;&amp;&quot;号,则上次计算的结果不能正确返回。故h不变,得不到正确结果。
这里的int &amp;h应当理解为push形参,每次返回就要return 实参。所以l和h其实是每一层当前的状态。L代表当前结点所在的层数(从根结点计算起);而h代表当前结点所在的深度。
解: void SortA(sqlist &amp;L)
所有的限制,几乎都是从自己的内心开始的。
{ int i=0, zerosum =0;
if(L.length==0) return(0); //空表
else {
for( i=1; i&lt;=L.length; i++)
如上面的字符串中,2202000是一个子树,因为他有7个字符,每个字符数字
和为2+2+2=6.
同理,20200,200也是子树。
问题转化为两个字符串中寻找满足上述条件的最长公共子串。
最长公共子串的算法已有(见习题),只需在此算法中加上判断此子串是否是一个子树的条件即可。
答:可以实现。选用锦标赛算法。两两元素比较,淘汰较小的,形如一棵二叉树。树根为最大值(此时用掉n-1次比较?)。而最小者一定位于首次被淘汰之列。故只有? n/2?个。一共需n-1+? n/2?次比较。

数据结构模考试题及答案

数据结构模考试题及答案

数据结构模考试题及答案一、单选题(共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分)1、数据结构的逻辑结构和存储结构分为哪几种?逻辑结构:集合结构、线性结构、树型结构,图型结构;存储结构:顺序存储、链接存储、索引存储、散列存储。

2、在单链表中,若要删除指针p所指结点的后继结点,则需执行哪几条语句?q=p->next;p->next=q->next;free(q);3、判断循环队列是否为空和满的条件分别是什么?队空:Q->front= =Q->rear;队满:(Q->rear+1)%Q->MaxSize==Q->front4、判断顺序栈是否为空和满的条件分别是什么?栈空:S->top==-1;栈满:S->top== MaxSize-1;5、若经常需要对线性表进行插入和删除运算,则最好采用什么存储结构?;若经常需要对线性表进行查找运算,则最好采用_什么存储结构?分别是:链接存储和顺序存储6、在线性结构、树型结构、和图型结构中,前驱和后继结点这间分别存在着什么联系?分别为:一对一、一对多、多对多的联系7、队列的插入操作在哪里进行?删除操作在哪里进行?队列插入在队尾进行;删除在队首8、单链表中指针P所指结点为尾结点的条件是什么?p->next==NULL9、栈的插入操作在哪里进行?,删除操作在哪里进行?栈的插入和删除都在栈顶进行10、深度为n(根的层次号为1)的完全二叉树至多有个结点?2n n -111、假定一棵二叉树的广义表表示为a(b(c,d),e(,f(,g))),它含有双分支结点,单分支结点,叶子结点分别有几个?2、2、312、大根堆和小根堆的堆顶分别有什么特点?大根堆堆顶具有最大值、小根堆堆顶具有最小值13、一棵二叉排序树中若存在n个结点,则平均查找次数为多少?log2n14、一个具有n个顶点的连通有向图至多有多少条边?n(n-1)15、对于一个具有n个顶点和e条边的连通图,其生成树的顶点数和边数分别为多少?分别为:n个顶点e-1条边16、在索引表中每个索引项包含哪几项?至少包含哪两项?每个索引项包括:索引值、子表开始位置、子表长度;至少包括:索引值、子表开始位置17、在对有100个数据的有序表作对半查找时,有多少个结点的查找次数是5?16个结点18、在线性表的散列存储中,处理冲突有几种种方法?分别是什么?两种方法:分别是开放地址法和链地址法19、在一个稀疏矩阵中,每个非零元素所对应的三元组元素包括哪三项?行号、列号以及元素值二、选择题(每小题4分)1、若让五个元素1,2,3,4,5依次进栈,则出栈次序不可能出现__B、C种情况。

精品数据结构模拟题

精品数据结构模拟题
TwoMerge(A, B,0,4,9);
for ( int i=0; i<10; i++)
cout<<B[i]<<” “;
cout<<endl;
}
调用该算法后,输出结果为:
五、算法填空,在画有横线的地方填写合适的内容(10分)。
利用单链表进行数据排序。
void LinkSort (ElemType a[ ],int n)
2、从一维数组a[n]中顺序查找出一个最大值元素的时间复杂度为________,输出一个二维数组b[m][n]中所有元素值的时间复杂度为________。
3、在归并排序中,进行每趟归并的时间复杂度为________,整个排序过程的时间复杂度为________,空间复杂度为________。
4、在一棵m阶B_树上,每个非树根结点的关键字数目最少为________个,最多为________个,其子树数目最少为________,最多为________。
5、当从一个小根堆中删除一个元素时,需要把________元素填补到________位置,然后再按条件把它逐层________调整。
6、快速排序在平均情况下的时间复杂度为________,在最坏情况下的时间复杂度为________。
7、从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明_______,若元素的值小于根结点的值,则继续向________查找,若元素的大于根结点的值,则继续向________查找。
2、对以下图,试给出一种拓扑序列,若在它的邻接表存储结构中,每个顶点邻接表中的边结点都是按照终点序号从大到小链接的,则按此给出唯一一种拓扑序列。
四、阅读算法,回答问题(每小题5分,共20分)

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

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

《数据结构》模拟题一、单项选择题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,则入队列的操作序列为()。

数据结构模拟试题

数据结构模拟试题
七、(每小题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 及其答案

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

2. 线性表的顺序存储结构相比链式存储结构,有什么优缺点?适用于什么情况的存储? 优点:1)是一种随机存储结构,存取任何元素的时间是一个常数,速度快;2)结构简 单,逻辑上相邻的元素在物理上也是相邻的;3)不使用指针,节省存储空间。 缺点:1)插入和删除元素要移动大量元素,消耗大量时间;2)需要一个连续的存储空 间;3)插入元素可能发生“溢出” ;4)自由区中的存储空间不能被其他数据占用(共享) 。 适Байду номын сангаас于经常用于检索、存取元素,但是插入和删除元素操作较少的情况。 3. 已 知 一 颗 非 空 二 叉 树 , 按 前 序 遍 历 的 结 果 是 ACBGDEHFJI , 按 中 序 遍 历 的 结 果 是 CGBAHEDJFI,请画出该二叉树,并写出后序遍历的序列结果。 二叉树:
9. 队列操作的原则是【 A.进优于出
B.出优于进
D.后进先出
10. 下列数据结构中,【 A.栈
】是非线性数据结构。 C.队列 D.树 】 。
B.串
11. 两个指针 p 和 q, 分别指向单链表的两个元素, p 所指元素是 q 所指元素的前驱, 则 【 A.p==q B.q->next=pC.p->next=qD.p->next=q->next
至少有 1 个输出量。 3. 4. 5. 6. 【 【 【 【 】完全二叉树的某结点若没有左孩子,则它必是叶子结点。 】哈夫曼树是带权路径最短的树,路径上权值较大的结点离根较近。 】空栈就是所有元素都为 0 的栈。 】在单链表中,要访问某个结点,只要知道该结点的指针即可;因此,单链表
是一种随机存取结构。 7. 8. 9. 【 【 【 】n*n 对称矩阵经过压缩存储后占用的存储单元是原来的 1/2。 】一个栈的输入序列是 12345,则栈的输出序列可以是 54312。 】对于一个非空二叉树,它的根节点作为第一层,则第 i 层上最多能有 2 个
B.度为 2 的结点数减 1 D.度为 2 的结点数的两倍 】数据结构最佳。 C.队列 】。 B.一定是不连续的 D.连续或不连续都可以 】。 D.栈
B.线性表
23. 线性表采用链式存储时,其地址是【 A.必须是连续的 C.部分地址必须是连续的
24. 数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为【 A.物理结构 C.顺序存储结构 B.逻辑结构 D.链式存储结构
D.120
20. 下面语句的时间复杂度为【 s=0; for(i=1;i<=n;i++) s=s+i; A.O(n) B.O(n )
5
C.O(5 ) 】。
n
D.O(n )
2
21. 二叉树中,叶子的数组等于【 A.度为 2 的结点数加 1 C.度为 2 的结点数 22. 数制转换的算法,采用【 A.集合
第 3页(共 6 页)
中国地质大学(北京)继续教育学院
2016 年 03 课程考试
8. WPL(T)指的是树的【 12 】,即每个叶子的权与根到该叶子的路径长度的乘积之和。 9. 深度为 k 且有【 13 】个结点的二叉树称为满二叉树。 10. 3 层完全二叉树至少有【 14 】个结点。
四、简答题 1. 画出二叉树的 5 种基本形态。 2. 线性表的顺序存储结构相比链式存储结构,有什么优缺点?适用于什么情况的存储? 3. 已 知 一 颗 非 空 二 叉 树 , 按 前 序 遍 历 的 结 果 是 ACBGDEHFJI , 按 中 序 遍 历 的 结 果 是 CGBAHEDJFI,请画出该二叉树,并写出后序遍历的序列结果。 4. 若比较频繁的对一个线性表进行插入和删除操作,该线性表适合采用哪种存储结构?为 5. 简述二叉排序树(二叉查找树)的定义及特点。
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 】。 C.d1+(i+1)mD.d1-i*m 】。
16. 深度为 6 的二叉树最多有【 A.62 B.63
17. 由 3 个结点可以构造出【 A.2 B.3
18. 栈的插入和删除操作在【 A.栈顶 B.栈底
19. 数组 A 中,每个元素的长度为 3 个字节,行下标 i 从 1 到 5,列下标 j 从 1 到 4,从首 地址 SA 开始连续存放在存储器内,该数组占用的字节数为【 A.20 B.60 】。 C.80 】。
】时, 宜用顺序表作存储结构。 B.经常作插入、删除 D.经常作动态增减
A.经常随机存取 C.无足够连续存储空间
二、判断题 1. 【 】二叉排序树中每个结点的关键字值大于其左非空孩子(若存在的话)的关键
字值,且小于其右非空孩子(若存在的话)结点的关键字值。 2. 【 】算法必须具备的 5 个特征是:有穷性、确定性、可行性、有 0 或多个输入量,
参考答案: 一.单项选择题 1 C 11 A 21 A 2 A 12 A 22 D 3 D 13 B 23 D 4 C 14 B 24 C 5 B 15 C 25 D 6 D 16 B 26 A 7 C 17 D 8 C 18 A 9 C 19 B 10 B 20 A
二.判断题 1 √ 8 × 2 × 9 √ 3 × 10 √ 4 √ 11 √ 5 √ 12 √ 6 √ 13 × 7 × 14 ×
i-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 】。
25. 两个指针 p 和 q, 分别指向单链表的两个元素, p 所指元素是 q 所指元素的前驱, 则 【 A.p==q C.p->next=q->next B.q->next=p D.p->next=q
】 。
第 2页(共 6 页)
中国地质大学(北京)继续教育学院
2016 年 03 课程考试
26. 线性表在【
3. n 个结点的线索二叉树上含有的线索数为【 A.2n B.n-1 C.n
4. 设广义表 D=(a,(b,c)),则 tail(D)=【 A.b,c B.(b,c)
】。 D.c
C.((b,c))
5. 由 4 个结点可以构造出【 A.12 B.13
】种不同的二叉树。 C.14 】。 C.O(log2n) D.O(n ) 】 。
B.d1+i*m
14. 分析下列算法 suanfa1(n)的时间复杂度是【 void suanfa1(int n) { int i,j,x=1; for(i=0;i<n;i++)
第 1页(共 6 页)
中国地质大学(北京)继续教育学院
2016 年 03 课程考试
for(j=0;j<n;j++) x=x*2; } A.O(2n) B.O(2 )
2
D.15
6. 在栈中,出栈操作的时间复杂度为【 A.O(1) B.O(n)
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.先进先出 C.n*(n+1)/2 D.(n+1)*(n+1)/2
后序遍历的结果是 GBCHEJIFDA 4.若比较频繁的对一个线性表进行插入和删除操作, 该线性表适合采用哪种存储结构?为什
第 5页(共 6 页)
中国地质大学(北京)继续教育学院
2016 年 03 课程考试
么?时间复杂度是多少? 链式存储结构。 因为链式存储的线性表,插入和删除操作只需要改变指针,时间复杂度为 O(1) ,而采 用顺序存储结构的线性表插入和删除涉及到数据的大量移动,时间复杂度为 O(n) 。 5.简述二叉排序树(二叉查找树)的定义及特点。 定义:如果二叉树的任一结点大于其非空左子树的所有节点,而小于等于其非空右子树 的所有结点,则这棵二叉树称为二叉排序树。 特点:对一颗二叉排序树进行中序排序,所得的结点序列一定是递增有序的。
相关文档
最新文档