数据结构模拟考试试卷2
数据结构--第二章考试题库(含答案)

第2章线性表一选择题1.下述哪一条是顺序存储结构的优点?()【北方交通大学 2001 一、4(2分)】A.存储密度大 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示2.下面关于线性表的叙述中,错误的是哪一个?()【北方交通大学 2001 一、14(2分)】A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
3.线性表是具有n个()的有限序列(n>0)。
【清华大学 1998 一、4(2分)】A.表元素 B.字符 C.数据元素 D.数据项 E.信息项4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
【哈尔滨工业大学 2001二、1(2分)】A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
【南开大学 2000 一、3】A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表6.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。
A. 单链表B.单循环链表C. 带尾指针的单循环链表D.带头结点的双循环链表【合肥工业大学 2000 一、1(2分)】7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。
则采用()存储方式最节省运算时间。
【北京理工大学 2000一、1(2分)】A.单链表 B.双链表 C.单循环链表 D.带头结点的双循环链表8. 静态链表中指针表示的是(). 【北京理工大学 2001 六、2(2分)】A.内存地址 B.数组下标 C.下一元素地址 D.左、右孩子地址9. 链表不具有的特点是()【福州大学 1998 一、8 (2分)】A.插入、删除不需要移动元素 B.可随机访问任一元素C.不必事先估计存储空间 D.所需空间与线性长度成正比10. 下面的叙述不正确的是()【南京理工大学 1996 一、10(2分)】A.线性表在链式存储时,查找第i个元素的时间同i的值成正比B. 线性表在链式存储时,查找第i个元素的时间同i的值无关C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关11. 线性表的表元存储方式有((1))和链接两种。
数据结构模拟试卷及参考答案

数据结构模拟试卷及参考答案一、简答题(共10题,每题10分,共计100分)1. 什么是数据结构?请简要解释。
数据结构是计算机中用于组织和存储数据的方式,它包含了一系列的数据元素,以及这些数据元素之间的关系和操作。
通过使用不同的数据结构,可以更高效地存储、查找和操作数据。
2. 请解释什么是栈,并给出一个栈的应用场景。
栈是一种具有特定操作限制的数据结构,它遵循"先进后出"(LIFO)的原则。
栈的应用场景包括函数调用、表达式求值、撤销操作以及浏览器中的历史记录。
3. 什么是队列?请给出一个队列的实际应用例子。
队列是一种具有特定操作限制的数据结构,它遵循"先进先出"(FIFO)的原则。
一个实际应用例子是操作系统的进程调度,进程按照到达时间加入队列,并按照一定规则出队执行。
4. 请解释什么是链表,并给出一个链表的优点和缺点。
链表是一种动态数据结构,它由一系列节点构成,每个节点包含数据和指向下一个节点的指针。
链表的优点是可以动态地分配内存空间,且插入和删除节点的时间复杂度为O(1)。
缺点是访问链表某个具体节点的时间复杂度为O(n),且需要额外的内存空间存储指针。
5. 请解释什么是树,并给出一个树的实际应用例子。
树是一种分层次的数据结构,它由一系列节点和节点之间的关系构成。
一个实际应用例子是文件系统的目录结构,文件和文件夹通过树的结构进行组织和存储。
6. 请解释什么是图,并给出一个图的实际应用例子。
图是一种由节点和节点之间的连接关系组成的数据结构。
一个实际应用例子是社交网络,人与人之间的关系可以用图来表示,每个人是一个节点,节点之间的连接表示关系。
7. 请解释什么是散列(哈希)表,以及它的优势和劣势。
散列表是一种根据关键字直接访问的数据结构,它通过将关键字映射到表中的位置来实现快速的查找操作。
散列表的优势是查找操作的平均时间复杂度为O(1)。
劣势是如果存在多个关键字映射到同一个位置,就会发生冲突,需要解决冲突问题。
DS试题10套

第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)1.计算机算法指的是,它必须具备输入、输出和【】A.计算方法B.排序方法C.解决问题的有限运算步骤D.程序设计方法2.下列算法的时间复杂度是【】for(i=0;i<n;i++)c[i][j]=i+j;A .O(l) B.O(n) C.O(log2n) D.O(n2)3.在单链表的一个节点中有【】A.l个指针B.2个指针C.0个指针D。
3个指针4.在具有n个节点的单链表中做插入、删除运算,平均时间复杂度为【】A.O(l)B。
O(n)C.O(log2n)D.O(n2)5.向一个栈顶指针top的链栈中插入一个S所指节点时,执行【】A.top->next=s;B.s->next=top->next;top一>next=s;C.s->next=top;top=s;D.s->next=top;top=top->next;6.栈结构通常采用的两种存储结构是【】A.散列方式和索引方式B.顺序存储结构和链表存储结构C.链表存储结构和数组D.线性存储结构和非线性存储结构7.设s1=””,则strlen(s1)=【】A.0 B.1 C。
2 D.38.设目标串T=”aabbccddbbaa”,模式P=”bb”,则该模式匹配的有效位移为【】A.1 B.2 C.3 D.49.数组与一般线性表的区别主要在【】A.存储方面B.元素类型一致C.逻辑结构方面D.不能进行插入、删除运算10设二线数组A[0。
m-l][0。
n-1]按行优先顺序存储在内存中,每个元素占d个字节,则元素A[i][j]的地址为【】A.LOC(A[1][1])+[(i-1)*n+j-l]*dB.LOC(A[0][0])+[(i-l)*n+j-1]*dC.LOC(A[1][1])+[(j-l)* n+i–1]*dD.LOC(A[0][0])+[(j-l)*n+i-1]*d11具有n个节点的完全二叉树的深度为【】A.log2n +1 B.log2n+lC.log2n D.log2n12在具有n(n>l)个节点的完全二叉树中,节点i(2i>n)的左孩子节点是【】A.2i B.2i+lC.不存在D.是2i-l13.在一个图中,所有顶点的度数之和等于图的边数的几倍。
数据结构模拟试题二及答案

六.算法设计题
1.Struct node{
int data;
node* next;
}
typedef node* pointer;
pointer head;
voiddel(){
pointer p,q,r,s;
q=head; p=q->next;
数据结构模拟题二参考答案
一.判断题
1、× 2、× 3、√ 4、× 5、√ 6、√ 7、×.8、× 9、√ 10、× 11、×12、× 13、√ 14、×.15、×
二.填空题
1.数组 2.给f和r赋同一个值x,0≤x≤100 3.前者没有指定存储方法,后者指定存储方法 4.n ┏log2(n+1)┐ 5.双亲数组 孩子链表 左孩子和右兄弟链表 6.n 7. 57
7.若某棵二叉树结点的后序序列和层次序列正好相反,则该二叉树_____________。
A.每个结点都没有右孩子B.不存在度为2的结点C.每个结点都没有左孩子D.不存在
8.对于一棵具有n个结点,度为3的树来说,树的高度至少是____________。
A.┏log32n┓B.┏log3(3n-1)┓C.┏log3(3n+1)┓D.┏log3(2n+1)┓
13.对n个元素执行简单选择排序,排序码的比较次数总是n(n-1)/2次。
14.物理记录的大小与逻辑记录的大小成正比。
15.对索引文件,索引表是建立在内存的,数据区是建立在外存的。
二.填空题(每空1分,共15分)
1.在程序中,描述顺序表的存储空间一般用________变量。
2.若用Q[0]~Q[100]作为循环顺序队列的存储空间,用“队首指针f的值等于队尾指针r的值”作为队空的标志,则创建一个空队列所要执行的操作是___________。
数据结构(第二版)模拟测试题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—。
《数据结构》模拟试卷二及答案

模拟试卷二一、单选题(每题 2 分,共20分)1.在一个带有附加表头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行(B )。
A. HL=p; p->next=HL;B. p->next=HL->next; HL->next=p;C. p->next=HL; p=HL;D. p->next=HL; HL=p;2.若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储(A B )个元素.A. nB.n-1C. n+1D.不确定3.下述哪一条是顺序存储方式的优点?(C A )A.存储密度大 B.插入和删除运算方便C. 获取符合某种条件的元素方便D.查找运算速度快4.设有一个二维数组A[m][n],假设A[0][0]存放位置在600(10),A[3][3]存放位置在678(10),每个元素占一个空间,问A[2][3](10)存放在什么位置?(脚注(10)表示用10进制表示,m>3) BDA.658 B.648 C.633 D.653 3m+3=78 m=255.下列关于二叉树遍历的叙述中,正确的是( DA ) 。
A. 若一个树叶是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序遍历最后一个结点B.若一个点是某二叉树的前序遍历最后一个结点,则它必是该二叉树的中序遍历的最后一个结点C.若一个结点是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序最后一个结点D.若一个树叶是某二叉树的前序最后一个结点,则它必是该二叉树的中序遍历最后一个结点6.k层二叉树的结点总数最多为( A ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.对线性表进行二分法查找,其前提条件是( ).A.线性表以链接方式存储,并且按关键码值排好序B.线性表以顺序方式存储,并且按关键码值的检索频率排好序C.线性表以顺序方式存储,并且按关键码值排好序D.线性表以链接方式存储,并且按关键码值的检索频率排好序8.对n个记录进行堆排序,所需要的辅助存储空间为A. O(1og2n)B. O(n)C. O(1)D. O(n2)9.对于线性表(7,34,77,25,64,49,20,14)进行散列存储时,若选用H(K)=K %7作为散列函数,则散列地址为0的元素有()个,A.1 B.2 C.3 D.410.下列关于数据结构的叙述中,正确的是( D ).A.数组是不同类型值的集合B.递归算法的程序结构比迭代算法的程序结构更为精炼C.树是一种线性结构D.用一维数组存储一棵完全二叉树是有效的存储方法二、填空题(每空1分,共26分)1.数据的逻辑结构被分为_________、________、__________和___________四种。
《数据结构》期末模拟试卷及参考答案【十套】

《数据结构》模拟试卷及参考答案模拟试卷一一、单选题(每题2 分,共20分)1.以下数据结构中哪一个是线性结构?( )A. 有向图B. 队列C. 线索二叉树D. B树2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。
A. p=q; p->next=q;B. p->next=q; q->next=p;C. p->next=q->next; p=q;D. q->next=p->next; p->next=q;3.以下哪一个不是队列的基本运算?()A. 在队列第i个元素之后插入一个元素B. 从队头删除一个元素C. 判断一个队列是否为空D.读取队头元素的值4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串?A.14B.5C.6D.85.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。
以下6-8题基于图1。
6.该二叉树结点的前序遍历的序列为( )。
A.E、G、F、A、C、D、BB.E、A、G、C、F、B、DC.E、A、C、B、D、G、FD.E、G、A、C、D、F、B7.该二叉树结点的中序遍历的序列为( )。
A. A、B、C、D、E、G、FB. E、A、G、C、F、B、DC. E、A、C、B、D、G、FE.B、D、C、A、F、G、E8.该二叉树的按层遍历的序列为( )。
A.E、G、F、A、C、D、B B. E、A、C、B、D、G、FC. E、A、G、C、F、B、DD. E、G、A、C、D、F、B9.下面关于图的存储的叙述中正确的是( )。
A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( )A. a,g,h,m,n,p,q,x,zB. a,g,m,h,q,n,p,x,zC. g,m,q,a,n,p,x,h,zD. h,g,m,p,a,n,q,x,z二、填空题(每空1分,共26分)1.数据的物理结构被分为_________、________、__________和___________四种。
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的完全二叉树中最少有()个结点。
数据结构模拟试卷和答案

北京语言大学网络教育学院《数据结构》模拟试卷一注意: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、对一棵二叉排序树进行()遍历,可以得到该二叉树的所有结点按值从小到大排列的序列。
《数据结构》模拟试题与参考答案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. 下列哪种数据结构是先进先出(FIFO)的?A. 栈B. 队列C. 树D. 图答案:B2. 在排序算法中,哪一种算法的时间复杂度最低?A. 冒泡排序B. 快速排序C. 插入排序D. 堆排序答案:D3. 下列哪种算法不属于贪心算法?A. 背包问题B. 最短路径问题C. 活动选择问题D. 最小生成树问题答案:C4. 在二叉树中,下列哪种遍历方式是先访问左子树,再访问右子树?A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:C二、填空题1. 在链表中,每个节点包含两个域:数据域和______域。
答案:指针2. 在二分查找法中,每次比较的中间元素的下标为______。
答案:(low + high) / 23. 快速排序算法的时间复杂度为______。
答案:O(nlogn)4. 最小生成树算法中,普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法的时间复杂度分别为______和______。
答案:O(n^2),O(elogn)三、判断题1. 线性表是一种随机存取的数据结构。
()答案:正确2. 在二叉树中,每个节点的度都不超过2。
()答案:正确3. 贪心算法在每一步都选择当前最优解,一定能得到全局最优解。
()答案:错误4. 在排序算法中,冒泡排序算法的时间复杂度最低。
()答案:错误四、简答题1. 请简述快速排序算法的基本思想。
答案:快速排序的基本思想是分治法。
首先选取一个基准元素,将比基准元素小的元素放在其左边,比基准元素大的元素放在其右边。
然后递归地对左右两边的子数组进行快速排序。
2. 请简述二分查找法的基本思想。
答案:二分查找法的基本思想是折半查找。
首先确定待查找区间,然后计算中间元素的下标。
若中间元素等于目标值,则查找成功;若中间元素小于目标值,则在左半区间继续查找;若中间元素大于目标值,则在右半区间继续查找。
重复以上过程,直到查找成功或区间为空。
国家电网招聘考试计算机类专业知识(数据结构与算法)模拟试卷2(

国家电网招聘考试计算机类专业知识(数据结构与算法)模拟试卷2(题后含答案及解析)题型有:1. 单项选择题单项选择题1.采用顺序查找法查找长度为n的顺序表时,查找成功的平均查找长度为( )。
A.(n-1)/2B.(n+1)/2C.nD.n/2正确答案:B解析:在查找成功的前提下,查找的最好情况是查找的第一个元素即想要查找的元素,最坏情况是查找的最后一个元素即想要查找的元素,所以查找成功的平均查找长度是(n+1)/2。
2.在循环队列中用数组A[0..m-1]存放队列元素,其队头指针和队尾指针分别为front和rear,则当前队列中的元素个数是( )。
A.(front-rear+1)%mB.(rear-front+1)%mC.(front-rear+m)%mD.(rear-front+m)%m正确答案:D3.算法分析的目的是( )。
A.找出数据结构的合理性B.研究算法中输入和输出的关系C.分析算法的效率,以求改进D.分析算法的易懂性和文档性正确答案:C4.下列关于栈的叙述,正确的是( )。
A.只要确定了入栈序列,就可以确定出栈序列B.栈是一种操作受限的线性表,只允许在其两端进行操作C.采用非递归方式重写递归程序时,必须使用栈D.函数调用时,可以使用栈来保存必要的信息解析:确定了入栈序列无法确定出栈序列,因为各个元素出栈的时间是不确定的;栈是一种操作受限的线性表,只允许在其一端进行操作;采用非递归方式重写递归程序时,除了栈还可以使用循环结构算法。
5.若允许表达式中多种括号混合嵌套,则检查表达式中括号是否正确配对的算法,通常选用的辅助结构是( )。
A.栈B.线性表C.队列D.二叉排序树正确答案:A解析:由于栈具有先进后出的特点,因此选用辅助结构栈可以实现表达式中多种括号混合嵌套的配对。
例如,使用3个栈,就可以同时解决表达式中的“{”与“}”、“[”与“]”、“(”与“)”的配对问题。
6.设线性表的长度为15,采用冒泡排序,在最坏的情况下需要比较的次数为( )。
数据结构模拟试题(含答案)

数据结构模拟试题(含答案)一、单选题(共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中()。
2010年数据结构考试模拟题及答案

2010年数据结构考试模拟题型一、单选题(每题2 分,共20分)1. 对一个算法的评价,不包括如下()方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。
A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3. 对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4. 一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35. AOV网是一种()。
A.有向图B.无向图C.无向无环图D.有向无环图6. 采用开放定址法处理散列表的冲突时,其平均查找长度()。
A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7. 若需要利用形参直接访问实参时,应将形参变量说明为()参数。
A.值B.函数C.指针D.引用8. 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。
A.行号B.列号C.元素值D.非零元素个数9. 快速排序在最坏情况下的时间复杂度为()。
A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2)10. 10. 从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A. O(n)B. O(1)C. O(log2n)D. O(n2)二、填空题(每题6 分,共24分)1. 数据结构是指数据及其相互之间的______________。
当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。
《数据结构》(本)模拟试题二

《数据结构》(本)模拟试题二一、填空题(每小题2分,共24分)1.结构中的数据元素存在多对多的关系称为_____ ___结构。
2.要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。
则比较的次数和算法的时间复杂度分别为________和。
3.设有一个头指针为head的单向循环链表,p指向链表中的结点,若p->next= =_______,则p所指结点为尾结点。
4.向一个栈顶指针为h的链栈中插入一个s所指结点时,可执行s->next=h和。
5.在一个链队中,设f和r分别为队头和队尾指针,则插入s所指结点的操作为________和r=s; (结点的指针域为next)6.设有n阶对称矩阵A,用数组S进行压缩存储,当i<j时,A的数组元素a ij相应于数组S的数组元素的下标为_______。
(数组元素的下标从1开始)7.一棵二叉树中顺序编号为i的结点,若它存在左、右孩子,则左、右孩子编号分别为_____ _、___ _____。
8.一棵有2n-1个结点的二叉树,其每一个非叶结点的度数都为2,则该树共有_______个叶结点。
9.________遍历二叉排序树可得到一个有序序列。
10.如图1所示的二叉树,其前序遍历序列为_______ __。
图111.二叉树为二叉排序的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。
这种说法是__________的。
(回答正确或不正确)12.按某关键字对记录序列排序,若在排序前和排序后仍保持它们的前后关系,则排序算法是稳定的,否则是不稳定的。
二、单项选择题(每小题2分,共30分)1.在C语言中,顺序存储长度为3的字符串,需要占用()个字节。
A.4 B.3 C.6 D.122.数据的物理结构()。
A.与数据的逻辑结构无关 B.仅仅包括数据元素的表示C.只包括数据元素间关系的表示 D.包括数据元素的表示和关系的表示3.串函数StrCat(a,b)的功能是进行串()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构模拟考试试卷(2卷)一.判断题(下列各题,正确的请在前面的括号内打√;错误的打×)(√)1.数据的逻辑结构是独立于计算机的。
(×)2.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此单链表是随机存取的存储结构。
(√)3.栈的特点是“后进先出”。
(√)4.判断顺序队列为空的标准是头指针和尾指针均指向同一个结点。
(×)5.串的堆分配存储是一种静态存储结构。
(×)6.完全二叉树一定是满二查树。
(×)7.邻接表只能用于有向图的存储。
(×)8.选择好的哈希函数就可以避免冲突的发生。
n)。
(√)9.对于n个记录的集合进行归并排序,所需的平均时间为O (nlog2(×)10.对于满足二分查找和分块查找条件的文件而言,无论它存放在何种介质上,均能进行顺序查找,折半查找和分块查找。
二.填空题1.数据结构是一门研究非数值计算程序设计中计算机的操作对象以及它们之间的关系和运算的学科。
2.数据的存储结构形式包括:顺序存储、链式存储、散列存储、索引存储。
3.在线性表的顺序存储中,元素之间的逻辑关系是通过相邻位置决定的。
4.在双向链表中,每个结点都有两个指针域,它们一个指向其前趋结点,另一个指向其后继结点。
5.在有n个元素的栈中,出栈操作的时间复杂度为 O(1)。
6.在栈结构中,允许插入、删除的一端称为栈顶。
7.对于队列,只能在队首删除元素。
8.循环队列SQ经过InitQueue (SQ),SQ->front等于0 。
9.空格串的长度等于空格的个数。
10.设目标T="abccdcdccbaa",模式P="cdcc",则第 6 次匹配成功。
11.采用二叉链表存储的n个结点的二叉树,一共有2n 个指针域。
12.给定如下图所示的二叉树,其前序遍历序列为:ABEFHCG 。
Array13.图的逆邻接表存储结构只适用于 __有向____图。
14.一个图的生成树的顶点是图的 _ 全部____顶点。
15.快速排序是对冒泡排序的一种改进。
16.在哈希函数H(key)=key % P中,P一般应取质数。
17.大多数排序算法都有两个基本的操作:比较和移动。
18.在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第19个记录60插入到有序表时,为寻找插入位置至少需比较 6 次。
19.一个连通图有 1 个连通分量。
20.已知二叉树有50个叶子结点,则二叉树的总结点树至少是99 。
三.选择题1.执行下列语句的时间复杂度为:( B )。
s=0;for (i=1;i<=n; i++)s=s+i;A. O(1)B. O(n)C. O(n2)D. O(n3)2.数据结构中,在逻辑上可以把数据结构分成:( C )。
A. 动态结构和静态结构B. 紧凑结构和非紧凑结构C. 线性结构和非线性结构D. 内部结构和外部结构3.向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动( B )个元素。
A.8 B.63.5 C.63 D.74.用链表存储的线性表,其优点是( C )。
A.便于随机存取B.花费的存储空间比顺序表少C.便于插入和删除D.数据元素的物理顺序与逻辑顺序相同5.在栈顶一端可进行( D )操作。
A.插入 B.删除 C.进栈D.插入和删除6.从一个栈顶指针为top的链栈中删除一个结点时,用x保存被删除的结点,应执行下列 ( D )命令。
A.x=top;top=top->next; B.top=top->next;x=top->data;C.x=top->data; D.x=top->data;top=top->next; 7.若进队的序列为:A,B,C,D,则出队的序列是( C )。
A.B,C,D,A B.A,C,B,DC.A,B,C,D D.C,B,D,A8.从一个顺序循环队列删除一个元素时,首先需要做的操作是( B )。
A.队头指针减1 B.取出队头指针所指的元素C.队头指针加1 D.取出队尾指针所指的元素9.串是( D )。
A. 不少于一个字母的序列B.任意个字符的序列C. 不少于一个字母的序列D.有限个字符的序列10.若串S="SOFTWARE",其子串的数目是:( C )。
A.35 B.36 C.37 D.388+7+6+5+4+3+2+1+1=3711.根据二叉树的定义,具有3个结点的二叉树有( C )种树型。
A.3 B.4 C.5 D.612.如右图所示的二叉树,先序遍历的序列是(A. A、B、C、D、E、F、G 、H、IB. A、B、D、H、I、E、C、F、GC. H、D、I、B、E、A、F、C、GD. H、I、D、E、B、F、G、C、A13.有8个结点的无向连通图最少有( C )条边。
A. 5 B. 6 C. 7 D. 614.任何一个无向连通图的最小生成树( A )。
A.只有一棵 B.一棵或多棵 C.一定有多棵 D.可能不存在15.平衡二叉树的各结点左右子树深度之差不能为( D )。
A.-1 B.0 C.1 D.216.静态查找的全部运算是( D )。
A.建表 B. 建表和查找C.查找和读表元素 D.建表、查表和读表元素17.排序方法中,从无序序列中选择关键字最小的记录,将其与无序区(初始为空)的第一个记录交换的排序方法,称为: ( D )。
A.希尔排序 B.归并排序 C.插入排序 D. 选择排序18.一组记录的排序码为(25,48,16,35,79,82,23,40,36,72),其中含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为:( A )。
A,16 25 35 48 23 40 79 82 36 72 B.16 25 35 48 79 82 23 36 40 72C.16 25 48 35 79 82 23 36 40 72 D.16 25 35 48 79 23 36 40 72 82 19.有序表是( A )的查找表。
A.结点按键值有序排列 B. 顺序存储C.二叉排序树 D.散列存储20.将一棵有100个结点的完全二叉树从上到下,从左到右依次对结点编号,根结点的编号为1,则编号为49的结点的右孩子编号为( B )。
A.98 B.99 C.50 D.100四.应用题1.根据二元组关系画出逻辑图形,并指出它们属于何种数据结构。
C=(D,R),其中:D={1,2,3,4,5,6},R={(1,2),(2,3),(2,4),(3,4), (3,5),(3,6),(4,5),(4,6)}解:属于图结构2. 某二叉树的结点数据采用顺序存储,其结构如下:(1)画出该二叉树(3分)(2)写出按层次遍历的结点序列(2分) 解: (1)(2)层次遍历的结点序列:E A F D H C G I B3. 已知一棵树的层次遍历的序列为:ABCDEFGHIJ ,中序遍历的序列为:DBGEHJACIF ,请画出该二叉树,并写出它的后序遍历的序列。
解:后序遍历的序列:D G J H E B I F C A 4. 根据如下有向图,画出邻接矩阵和邻接表。
解(1)邻接矩阵 1 2 3 4 5⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛0100000001100000100010110543215. 对于给定结点的关键字集合K={34,76,45,18,26,54,92,38}, (1)试构造一棵二叉排序树;(2)求等概率情况下的平均查找长度ASL 。
解:(1)构造二叉排序树(2)ASL=(1*1+2*2+3*3+4*2)/ 8 =2.75 (或=11/4)6. 已知数据序列{10,18,14,13,16,12,11,9,15,08},写出希尔排序每一趟(设d=5、2、1)排序的结果。
① ②③④⑤解: 10 18 14 13 16 12 11 09 15 08 d=510 11 09 13 08 12 18 14 15 16 d=208 11 09 12 1013 15 14 18 16d=1 08 09 10 11 12 13 14 15 16 18五.程序填空题(填上适当的表达式、运算符或语句,每空1分,共5分)以二叉链表为存储结构,试完成求二叉树深度的程序填空typedef struct BT{ datatype data; // 定义结点 BT *lchild; BT *rchild; }BT;int TreeDepth(BT *T) // 求树深度 { i nt ldep,rdep; if( T==NULL ) return 0; else{ ldep= TreeDepth(T->lchild) ; rdep= TreeDepth(T->rchild) ; if(ldep>rdep)return ldep+1 ; elsereturn rdep+1 ; }}六.按题目要求,写出运行下列程序的结果二叉树的结构如图所示,试写出执行下列算法后的输出结果: 。
(用大写的英文字母表示,字母之间不要任何间隔符号,最后一个字母后面也不要间隔符号)typedef struct BT{ datatype data; // 定义结点 BT *lchild;BT *rchild; }BT;void Levelorder(BT *T) { i nt i,j;BT *q[100],*p; p=T;if (p!=NULL){ i=1;q[i]=p;j=2; }while (i!=j){ p=q[i]; cout<<p->data ;if (p->lchild!=NULL){ q[j]=p->lchild; j++;}if (p->rchild!=NULL){ q[j]=p->rchild; j++; }i++;}}解:ABDCFGE 层次遍历七.程序设计题设待排序的文件用单链表做存储结构,头指针为head,写出其选择排序算法。
void select ( lklist head ){ p=head;while ( p!=NULL ){ s=p;q=p->next;while ( q!=NULL ){ if ( q->key < s->key )s=q;q=q->net;}if ( s!=p ){ t=p->key;p->key=s->key;s->key=t;}}p=p->next;}。