02142数据结构导论复习题.docx
- 文档编号:4289721
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:20
- 大小:50.40KB
02142数据结构导论复习题.docx
《02142数据结构导论复习题.docx》由会员分享,可在线阅读,更多相关《02142数据结构导论复习题.docx(20页珍藏版)》请在冰豆网上搜索。
02142数据结构导论复习题
数据结构导论
模拟试题
一、考试题型及分值分布:
1、单项选择题(本大题共15小题,每小题2分,共30分)
2、填空题(本大题共13小题,每小题2分,共26分)
3、应用题(本大题共5小题,每小题6分,共30分)
4、算法设计题(本大题共2小题,每小题7分,共
二、单项选择题和填空题样题参考
(一)单项选择题
1.在二维数组中,每个数组元素同时处于(
A.0B.1C.2D.n
2.已知单链表A长度为m单链表B长度为整体连接到A的末尾,其时间复杂度应为()。
A.O
(1)B.O(m)C.O(n)D.O(m+n)
假定一个链式队列的队头和队尾指针分别为
14分)
)个向量中。
n它们分别由表头指针所指向,若将B
3.
front和rear,则判断队空的条件为
A.front==rearB.front!
=NULL
C.rear!
=NULLD.front==NULL若让元素1,2,3依次进栈,则出栈次序不可能出现()种情况。
A.3,2,1B.2,1,3C.3,1,2D.1,3,2图的广度优先搜索类似于树的()遍历。
A.先根B.中根C.后根D.层次下面程序段的时间复杂度为()。
for(inti=0;i for(intj=0;j A.O(m2)B.O(n2)C.O(m*n)D.O(m+n) 7.设有两个串t和P,求P在t中首次出现的位置的运算叫做()。 串替换D.串连接 4. 5. 6. A.求子串B.模式匹配C. 8利用双向链表作线性表的存储结构的优点是A.便于单向进行插入和删除的操作C.节省空间D. 9.设链式栈中结点的结构为(data,link 的栈顶插入一个由指针s所指的结点,则应执行 B. ),且 () )。 便于双向进行插入和删除的操作便于销毁结构释放空间top是指向栈顶的指针。 若想在链式栈操作。 A.top->link=s;B.s->link=top->link;top->link=s; C.s->link=top;top=s;D.s->link=top;top=top->link; 10.一棵具有35个结点的完全二叉树的高度为 A.5B.6C.7D.8 11.一个有n个顶点和n条边的无向图一定是 A连通B.不连通C.无回路 。 假定空树的高度为 -1。 的。 .有回路 12.在一个长度为n的顺序表的任一位置插入一个新元素的时间复杂度为(A.O(n)B.O(n/2)C.O (1) 13.已知广义表为A((a,b,c),(d,e,f)) A.Tail(Head(A))B )。 2 D.O(n2) ,从A中取出原子e的运算是( .Head(Tail(A)) )。 C.Head(Tail(Head(Tail(A))))D.Head(Head(Tail(Tail(A)))) 14.在一棵树的静态双亲表示中,每个存储结点包含()个域。 A1B2C3D4有向图中的一个顶点的度数等于该顶点的A入度B.出度 15. 15. 17. C入度与出度之和D.(入度+出度)/2 与邻接矩阵相比,邻接表更适合于存储 A无向图B.连通图C.稀疏图 较快的数据搜索方法是()搜索方法。 A.顺序B.折半C.单链 .稠密图 D.堆积” 18.在闭散列表中,散列到同一个地址而引起的 A.同义词之间发生冲突B. C.同义词之间或非同义词之间发生冲突 19.根据n个元素建立一个有序单链表的时间复杂度为 2 A.O (1)B.O(n)C.O(n2) D. 散列 问题是由于()引起的。 非同义词之间发生冲突 散列表“溢出” )。 D.O(nlog2n) front和rear,则判断队 20.假定一个顺序存储的循环队列的队头和队尾指针分别为空的条件为()。 A.front+1==rearB.rear+1==front C.front==0D.front==rear 假定一棵二叉树的第i层上有3i个结点,则第i+1层上最多有()个结点。 A.3iB.6iC.9iD.2i 对于具有e条边的无向图,它的邻接表中共有()个边结点。 Ae-1Be+1C 图的深度优先搜索遍历类似于树的 21. 22. 2e A.先根B.中根 C. 后根D. 层 次 24栈S最多能容纳4个元素。 现有 6个元素按 A、 B、 C、 D、E、F的顺序进栈,问下 列哪一个序列是可能的出栈序列? ( ) A.E、D、C、B、A、F B.B 、C、 E、 F、 A、 D C.C、B、E、D、A、F D.A 、D、 F、 E、 B、 C 23. 25.将一棵有100个结点的完全二叉树从根这一层开始, D.3e )次序遍历。 每一层从左到右依次对结点进行编号,根结点编号为1,则编号为49的结点的左孩子的编号为: () A.98B.99C.50D.48 26.对下列关键字序列用快速排序法进行排序时,速度最快的情形是: A.{21、25、5、17、9、23、30} B.{25、23、30、17、21、5、9} B.{21、9、17、30、25、23、5} D.{5、9、17、21、23、25、30} 27对于只在表的首、尾进行插入操作的线性表,宜采用的存储结构为 A.顺序表B.用头指针表示的单循环链表 C.用尾指针表示的单循环链表D.单链表 28假设以第一个元素为分界元素,对字符序列(Q,H,C,Y,P,A,M,S,R,D,F, X)进行快速排序,则第一次划分的结果是: A.(A,C,D,F,H,M,P,Q,R,S,X,Y) B.(A,F,H,C,D,P,M,Q,R,S,Y,X) C.(F,H,C,D,P,A,M,Q,R,S,Y,X) D.(P,A,M,F,H,C,D,Q,S,Y,R,X) 29下面是三个关于有向图运算的叙述: (1)求有向图结点的拓扑序列,其结果必定是唯一的 (2)求两个指向结点间的最短路径,其结果必定是唯一的 (3)求AOE网的关键路径,其结果必定是唯一的其中哪个(些)是正确的? A.只有 (1) B. .若进栈序列为 a,b,c, A.4B.5 C.6 30() (1)和 (2)C.都正确D.都不正确 则通过入出栈操作可能得到的a,b,c的不同排列个数为: 31. D.7 正确的是: () 以下关于广义表的叙述中 广义表是由0个或多个单元素或子表构成的有限序列广义表至少有一个元素是子表 广义表不能递归定义 广义表不能为空表 A. B. C. D) 排序时扫描待排序记录序列,顺次比较相邻的两个元素的大小,逆序时就交换位置。 这是哪种排序方法的基本思想? () A.堆排序B.直接插入排序已知一个有向图的邻接矩阵表示, A.将邻接矩阵的第i行删除 C.将邻接矩阵的第i列删除有一个含头结点的双向循环链表, A.head->priro==NULL C.head->next==head 32. 33. 34. C.快速排序D.冒泡排序 要删除所有从第i个结点发出的边,应该: () B.将邻接矩阵的第i行元素全部置为0 D.将邻接矩阵的第i列元素全部置为0 头指针为head,则其为空的条件是: () B.head-〉next==NULL D.head->next->priro==NULL 在顺序表(3,6,8,10,12,15,16,18,21,25,30) 所需的关键码比较次数为: () A.2B.3C.4D.5 以下哪一个不是队列的基本运算? A.从队尾插入一个新元素B. C.判断一个队列是否为空D. 37•对包含n个元素的哈希表进行查找, A.O(log2n)B.O(n)C.O(nlog 35. 码值11, 36. 中,用折半法查找关键 ) 从队列中删除第i个元素读取队头元素的值 平均查找长度为: 2n)D 38•将一棵有100个结点的完全二叉树从根这一层开始, 行编号,根结点编号为1,则编号最大的非叶结点的编号为: A.48B.49C.50D.51 39.某二叉树结点的中序序列为() () 不直接依赖于n 每一层从左到右依次对结点进 () A、B、C、DE、F、G 后序序列为B、D、CA、F、G E,则其左子树中结点数目为: A.3 下面 40. 41. A.存储密度大B. C.查找方便D. 下面关于串的叙述中, B.2C.4D.5 —是顺序存储结构的优点。 插入运算方便 适合各种逻辑结构的存储表示 是不正确的。 空串是由空格构成的串 D.串既可以采用顺序存储,也可以采用链式 A.串是字符的有限序列B. C.模式匹配是串的一种重要运算 存储 的邻接矩阵是对称矩阵。 A.有向图B.无向图C.AOV网 43.用链式方式存储的队列,在进行删除运算时,仅修改尾指针头、尾指针可能都要修改 A.仅修改头指针B. C.头、尾指针都要修改D. D.AOE网 44.二叉树的先序遍历和中序遍历如下,则该二叉树右子树的树根是< 先序序列: EFHIGJK中序序列: HFIEJKG A.EB.FC.GD.H 45.下面方法可以判断出一个有向图中是否有环。 A.深度优先遍历B.拓朴排序C.求最短路径D.求关键路径 46. 排序法。 冒泡D.都不是 ,则栈的不可能的输出序列是 D.abcde i的节点是叶子结点的条件是 从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为 A.插入B.选择C. 47.—个栈的入栈序列是a,b,c,d,e A.edcbaB.decbaC.dceab 48.n个节点的完全二叉树,编号为 A.i 49. 平均要移动 向一个有128个元素的顺序表中插入一个新元素并保持原来顺序不变,个元素。 A.64.5B.64C.63D.65 50. 在一个单链表HL中,若要在指针点,则执行 B.p->next=q->next;q=p; D.p->next=q->next;q->nxet=p; n个结点,深度为h,则有 A.q->next=p->next;p->next=q; C.p->next=p->next;q->next=q; 51.对一个满二叉树,m个树叶, A.n=h+mB.h+m=2nC.m=h-1D.n=2h-1 52.在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是 A.选择排序B.冒泡排序C.插入排序D.希尔排序 53.用链式方式存储的队列,在进行插入运算时, A.仅修改头指针B.仅修改尾指针 C.头、尾指针都要修改D.头、尾指针可能都要修改 54.在一个长度为n的顺序存储的线性表中,向第i个元素(1Wi A.n-iB.n-i-1C.n-i+1D.i 55.一个栈的入栈序列是12345,则栈的不可能的输出序列是 A.23415B.54132C.23145D.15432 56.5个顶点的有向图最多有条弧。 A.5B.20C.4D.25 front和rear,则判断队空的条件 57.假定一个链队的队首和队尾指针分别为为 单向循环链表 59.将含有100个结点的完全二叉树从根开始自上向下,根结点的编号为1,则编号69的结点的双亲的编号为( D. A.34B.35C.33 60.单循环链表的主要优点是( A.不再需要头指针了 B.已知某结点的位置后,很容易找到其前驱 C.在进行插入、删除运算时,能更好地保证链表不断开 D.从表中任一结点出发都能扫描到整个链表 61.一个栈的入栈顺序是 A.5、4、3、2、1 1、2、3、4、5,则此栈不可能的输出顺序为( B.4、5、3、2、1 C.4、3、5、1、2 62.串是一种特殊的线性表,A.可以顺序存储C可以链式存储 D.1 其特殊性表现在( B. D. 63.n个顶点的无向图中最多有( A.n(n-1)/2B.n(n-1)C.n(n+1) 64.6个顶点的无向图中,至少有( 、2、3、4、5 )。 数据元素是一个字符 数据元素是多个字符 )条边。 D.n(n+1)/2 )条边才能保证是一个连通图。 A.5B.6C.7D.8 65.若某线性表中最常用的操作是删除第 A.单链表B.双链表C. 66.在一棵完全二叉树的顺序存储方式中, 号为()。 A.2iB.2i-1 67.按照二叉树的定义, A.3 68.在长为 素。 1个元素,则不宜采用( 单向循环链表D.顺序表 若编号i的结点有右孩子,则其右孩子的编 )存储方式。 69. C.2i+1 具有 C.5 B.4 n的顺序表中,删除第 B.n-i+1 A.n-i 一个队的入队顺序是 A.5、4、3、2、1 D.i/2 3个结点的二叉树有( D.6 i个元素(1 )种不同形态。 )个元 C.n-i-1 1、2、3、 B.4 D.i 4、5, 则此队的出队顺序为( 、5、3、2、1 C.4、3、5、1、2 栈是一种特殊的线性表, A.可以顺序存储 C.可以链式存储 71.一棵二叉树中,第 A.2kB.2k-1 70. D.1 其特殊性表现在 B. D. k层上最多有( C.2 、2、3、4、5 ()。 只能从端点进行插入和删除 可以在任何位置进行插入和删除)个结点。 D.2 k-1 72.一棵有18个结点的二叉树,其高度最小为( A.4 73.有向图中, A.0.5 (二)填空题 1.数据元素之间存在的相互关系称为— 2.数据结构从逻辑上分为结构和 3.线性表的顺序存储结构称为。 4.所有插入在表的一端进行,而所有删除在表的另一端进行的线性表称为 5.深度为h的二叉树,最少有个结点。 6.折半查找要求待查表为表。 7.n个记录按其关键字大小递增或递减的次序排列起来的过程称为 B.5C.6D.18 所有顶点入度和是所有顶点出度和的( B.1C.2D.4 O 结构。 )层。 )倍。 8.存储数据时,不仅要存储数据元素的,还要存储元素之间的相互o 9.将一棵有100个结点的完全二叉树按层编号,则编号为49的结点X,其双亲PARENTX)的编号为o 10、一个字符串相等的充要条件是和o 11、在有向图的邻接表和逆邻接表表示中,每个顶点的边链表中分别链接着该顶点的所有 和_结点。 11、在一个长度为n的顺序表中向第i个元素(0 要向后移动个元素。 12、_是只允许在表的一端进行插入,而在另一端进行删除的线性表。 13、设主串T="abxxyxyxxbaa”,模式串P="xyxx”则第次匹配成功。 14、在一棵二叉树中,第5层上的结点数最多为o(根的层次为1) 15、假设一个9阶的上三角矩阵A按列优先顺序压缩存储在一维数组中,其中B: 0]存储 矩阵中第1个元素a1,1,贝yB[31]中存放的元素是o 16、有n个结点的二叉链表中,其中空的指针域为n+1,指向孩子的指针个数为 17、二叉树后序遍历的顺序是ABCDE则该二叉树的根结点是o 18、对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则整个邻接表中的结点总数是o 19、在单链表上难以实现的排序方法有和o 20、_ 21、在有 _查找法的平均查找长度与元素个数n无关。 —个元素的顺序表的任意位置插入一个元素所需移动结点的平均次数为 22、_ ,是插入和删除元素都在表的同一端进行的线性表。 23、广义表L=(a,b,c,L),则其长度为o ,结点。 个o 24、在树中,除跟结点外,其他结点都有且只有一个. 26、在串s=“structure”中,以t为首字符的子串有 31、 32、 33、 34、 35、 36、 27、广度优先搜索遍历类似于树的按遍历的过程。 28、已知一棵完全二叉树中共有768个结点为,则该树中共有个叶子结点。 29、在有序表(12,24,36,48,60,72,84)中二分查找关键字72时所需进行的关键字比较次 数为o 30、两个长度分别m和(m>n)的排好序的表归并成一个排好序的表,至少要进行 键值比较。 通常从四个方面评价算法的质量: 、、和 一个算法的时间复杂度为(『+n2log2n+14n)/n2,其数量级表示为o 若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指 针。 在这种存储结构中,n个结点的二叉树共有个指针域,其中有个指针 域是存放了地址,有个指针是空指针。 对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点 分别有个和个。 在一个具有n个顶点的无向完全图中, 向完全图中,包含有条边。 36.在快速排序、堆排序、归并排序中,37.中序遍历二叉排序树所得到的序列是 38.快速排序的最坏时间复杂度为 39.设一组初始记录关键字序列为 的初始堆为 40.数据的物理结构主要包括 个和 包含有 条边,在一个具有n个顶点的有 排序是稳定的。 _序列。 ,平均时间复杂度为o (55,63,44,38,75,80,31,56),则利用筛选法建立 两种情况。 44、 45、 46、 47、 48、 49、 50、 51、 52、 53、 54、 41、设一棵完全二叉树中有500个结点,则该二叉树的深度为 为该完全二叉树的存储结构,则共有个空指针域。 42、设输入序列为1、2、3,则经过栈的作用后可以得到种不同的输出序列。 43、设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第i行上所有元素之和等于顶点i的,第i列上所有元素之和等于顶点i的。 设哈夫曼树中共有n个结点, 则该哈夫曼树中有个度数为1的结点。 设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d则e和d的关系为 ;若用二叉链表作 遍历二叉排序树中的结点可以得到一个递增的关键字序列 填先序、中序或 后序)。 设查找表中有100个元素,如果用二分法查找方法查找数据元素次就可以断定数据元素X是否在查找表中。 不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为 X,则最多需要比较 O 设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第i个结点的双亲结点编号为,右孩子结点的编号为。 设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的一趟快速排序结果为。 设有向图G中有向边的集合E={<1,2>,<2,3>,<1,4>,<4,2>,<4,3>},则该图的一种拓扑序列为。 下列算法实现在顺序散列表中查找值为x的关键字,请在下划线处填上正确的语句。 structrecord{intkey;intothers;}; inthashsqsearch(structrecordhashtable[],intk) {inti,j;j=i=k%P; while(hashtable[j].key! =k&&hashtable[j].flag! =0){j=( return(-1);} if()return(j);elsereturn(-1); }j+1,hashtable[j].key==k 下列算法实现在二叉排序树上查找关键值tyPedefstructnode{intkey;structbitree*bstsearch(bitree*t,intk) { if(t==0)return(0);elsewhile(t! =0)if(t->key==k); else; } %m;if(i==j) k,请在下划线处填上正确的语句。 node*lchild;structnode*rchild;}bitree; elseif(t->key>k) t=t->lchild; return(t),t=t->rchild设有n个无序的记录关键字,则直接插入排序的时间复杂度为均时间复杂度为。 设指针变量P指向双向循环链表中的结点X,则删除结点X需要执行的语句序列为 (设结点中的两个指针域 快速排序的平 分别为llink和rlink)。 根据初始关键字序列(19,22,01,38,10)建立的二叉排序树的高度为3。 55、深度为k的完全二叉树中最少有2k-1个结点。 设初始记录关键字序列为(Kl,K2,…,Kn),则用筛选法思想建堆必须从第素开始进行筛选。 59、设哈夫曼树中共有99个结点,则该树中有 存储结构,则该树中有个空指针域。 56、 n/2_个元 个叶子结点;若采用二叉链表作为 60、设有一个顺序循环队列中有M个存储单元,则该循环队列中最多能够存储个队 列元素;当前实际存储个队列元素(设头指针F指向当前队
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 02142 数据结构 导论 复习题
![提示](https://static.bdocx.com/images/bang_tan.gif)