数据结构试题库中的习题_第1页
数据结构试题库中的习题_第2页
数据结构试题库中的习题_第3页
数据结构试题库中的习题_第4页
数据结构试题库中的习题_第5页
免费预览已结束,剩余6页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构试题库中的习题一、填空1、线性表的顺序存储是用一组连续的空间单元实现数据元素的存储。2、线性表的链式存储是用语句实现空间单元动态分配。3、头结点地址指针为L的循环单链表,空表的判别标志是。4、含有N个结点的一棵完全二叉树上,叶子结点的最小编号是。5、高度为K的一棵完全二叉树中,结点的总个数至少是个;至多是个。6、图的遍历过程中,选择出发顶点V0的次数,为该图的的个数。7、图的邻接表存储适用于,。8、拓扑排序的功能是检验AOV网络中是否存在。9、在拓扑排序过程中,若图中没有入度为零的结点,则此时确定在该图中存在回路。10、关键路径的功能是计算时间;找出顶点;提供策略。11、图的遍历输出序

2、列唯一的。12、一个赋权图的最小代价生成树唯一的。13、仅适用于有向图存储的存储方法是法。14、义表的头元素可以是元素,也可以是元素;其尾元素只能是元素。15、给出二叉树的先根序序列和中根序序列,便能的确定这棵二叉树。16、先根序序列和中根序序列相同的二叉树是树中每个结点只有孩子结点的二叉树。17、后根序序列和中根序序列相同的二叉树是树中每个结点只有孩子结点的二叉树。18、先根序序列、中根序序列和后根序序列均相同的二叉树是树或者是只有个结点的二叉树.119、判定一棵线索二叉树中未知结点P没有左孩子的标志。20、线索二叉树是利用结点中空闲字段来记录次序的二叉树。21、在一棵中序线索二叉树中已知结

3、点P的左侧插入一个新结点Y后仍然是一棵中序线索二叉树的操作,主要是查找P的前驱结点22、本书介绍的静态查找方法有,;其中,需要记录表是顺序存储且按关键字大小有序。23、二叉排序树中删除有左右孩子的结点P时,一般用P的前驱或后继来带替P的位置。24、含有N个顶点E条边的无向图中,假设每个顶点和每条边都占用一个存储单元,采用邻接表存储方式,那么,共需要单元。25、在一个图中,若两个顶点是邻接的,那么,这两个顶点之间至少存在路径。路径长度为。26、在一个图中,若两个顶点间存在路径,则这两个顶点是相邻接。0,那么,该图一定是一个27、在对一个有向图进行拓扑排序结束后,发现输出顶点个数为图。28、分块查

4、找的索引表中的关键字是有序的。所以,在索引表中确定给定值所在块时,可以用查找方式。29、在构造二叉排序树时,若新结点插在左重结点左孩子的左分支上,则称为型。用旋转的方法调整。30、哈希表查找,从原理上讲,查找时间只与被查记录的有关,而与表的无关。31、影响哈希表查找时间的因素有32、哈希表查找的主要缺点是,解决的办法通常有下列四种其一,其一其二其四_33、在实际工作中选择?小于1的目的是为了冲突。34、哈希表查找成功的平均查找长度是对所有记录查找成功时总的比较次数与的比值。35、哈希表查找不成功的平均查找长度是对所有记录查找不成功时总的比较次数与的比值。36、排序时,若待排序记录能一次全部调入

5、内存进行排序的方式,一般称排序。37、平均时间量级为O()的排序方法有,。38、希尔排序是属于,但它不是稳定排序。39、磁带文件只能是。40、顺序文件分为文件文件。它们分别对应于线性表的顺序存储和链式存储。41、一棵M叉的树中,结点的度最多有种。42、一棵高度为N的树中,结点的最大为N。43、构成森林的每棵子树的根结点是关系。45、有序树中每个结点的孩子结点的是固定的。46、一棵具有N个结点的完全二叉树中,叶子结点的最大为No47、磁带文件批处理时,待修改的原文件称为。所有的修改申请构成一个。这两个文件是有序文件。它们利用的方式形成新。48、一棵二叉树中结点的度有,三种。49、哈(霍、赫)夫曼

6、树中结点的度,只有,两种。50、从连通图的定义出发,树是一个没有的连通图。51、B-树的叶子结点为结点,它们必须在层上。52、除根为叶子结点外,根结点至少有棵子树。53、M阶的B科中,非叶子结点上最多有个关键字。54、M阶的B附中,非叶子结点上最少有个关键字。55、N阶B+树中,结点上有个关键字。56、在B+树上查找记录时,可以,从开始按索引方式查找也可以从开始按顺序查找。57、在计算机科学中常用的数据结构有,58、栈的操作特点是先进后出;队列的操作特点是先进先出。59、线性表的顺序存储,要求每个数据元素都占用相同的存储单元数。60、线性表的顺序存储可以用顺序查找,也可以用查找。61、线性表的

7、顺序存储的缺点是在任意位置上插入数据与删除数据费时间。62、在实际应用中,一般最多建立级索引。63、线性表的顺序存储可以用顺序查找,也可以用查找。64、线性表的顺序存储的缺点是在任意位置上数据与»数据费时间。65、线性表的顺序存储是用一组物理连续的空间单元实现数据元素的存储。66、编写在内存中生成线性表(ala2a3-an)的算法。(判断表是否满了)67、已知线性表(ala2a3-an)以顺序的方式存储在内存,编写在表中查找值为X的元素,若存在把它与其直接前驱元素交换,否则把X插到表尾的算法。并计算该算法的时间复杂性.(如果是al就不交换)(可用while语句做)68、编写把线性表(

8、ala2a3-an)的顺序完全倒置的算法。并计算该算法的时间复杂性及决定时间复杂性的语句频度。(对称交换)69编写把从线性表(ala2a3-an)中值为X的元素开始到的所有元素顺序倒置的算法。70、线性表的链式存储C语言是用语句实现空间单元动态分配。71、设一线性表的顺序存储,总存储容量为M,其指针的变化范围为一一。(0M-1)72、线性表的顺序存储,要求每个数据元素都占用的存储单元。73、头结点地址指针为L的循环单链表,空表的判别标志是。74、头结点地址指针为L1的双循环链表,空表的判别标志是。75、含有N个结点的一棵完全二叉树上,叶子结点的最小编号是。76、后根序序列和中根序序列相同的二叉

9、树是树中每个结点只有左孩子结点的二叉树。77、先根序序列、中根序序列和后根序序列均相同的二叉树是上树或者是只有个结点的二叉树。78、判定一棵线索二叉树中未知结点P没有左孩子的标志是。79、线索二叉树是利用结点中空闲字段来记录次序的二叉树。80、高度为K的一棵完全二叉树中,结点的总个数至少是个;至多是个。给出二叉树的先根序序列和中根序序列,便能唯一的确定这棵二叉树。81、先根序序列和中根序序列相同的二叉树是树中每个结点只有左孩子结点的二叉树。82、在一棵中序线索二叉树中已知在结点P的左侧插入一个新结点Y后仍然是一棵中序线索二叉树的操作,主要是查找P的前驱结点。83、高度为K的一棵完全二叉树中,结

10、点的总个数至少是个;至多是个。84、一棵M叉的树中,结点的度最多有种。85、一棵高度为N的树中,结点的最大为N。86、一棵具有N个结点的完全二叉树中,叶子结点的最大为N。87、构成森林的每棵子树的根结点是关系。88、有序树中每个结点的孩子结点的是固定的。89、含有N个结点的一棵完全二叉树上,叶子结点的最小编号是。、完成下列各题1、知A为二维数组,A-12,-23,按顺序存储,基址为999,每个元素都占用4个存储单元,分别计算元素A(-1,-1)按行(列)优先存储的地址号。(写出计算公式)2、知S="aabbbccaabccaabct"='xxyy'm=ASS

11、IGN(m,SUBSTR(S,LEN(t);i=INDEX(m,SUBSTR(S,6,LEN(t);求REPLACE(m,SUBSTR(m,i,LEN(t),t)=?3、知广义表A=(a),b,(d,(f),c),(e),g,(h),求A的长度与深度;4)设有abcd'按顺序进入一个栈,试写出所有可能的输出序列。5)设有abcd第过一个栈的处理得到输出序列为cdbea。'假设,用P代表一次进栈操作,Q代表一次退栈操作。要求,写出用PQ序列表示得到上述输出结果的过程。6)假设三维数组A,它的各维界偶分别为(4,9),(-1,5),(-9,-2),基地址为20,每个元素占三个存储单

12、元,试计算元素A6,0,-5的存储位置。7)写出head(tail(head(a,b),c,d)和tail(head(tail(a,(b,c,d)各自的运算结果。画出A的图形表示及一种存储结构图;写出用求头、尾元素的方式求出单元素h的过程。8、知一棵二叉树的先根序、中根序序列分别为123456789”243168975试画出这棵二叉树。9、知一棵完全二叉树的结点个数为20到40之间的素数,求该二叉树的叶子结点个数。10、知一有向图G,用n*n维邻接矩阵表示,据此回答下列问题:1)该图中边的条数为多少?2)任一顶点的V的入度、出度是多少?3)若用邻接表方式存储图G,应构成多少个单链表?11、知一

13、无向图G,用n*n维邻接矩阵表示,据此回答下列问题:1)该图中边的条数为多少?2)任一顶点的V度是多少?3)若用邻接表方式存储图G,应构成多少个单链表?12、假设N为一棵结点的度只有0和2的二叉树中叶子结点的个数,M为树中结点的总个数,证明:M=2*NT。13、设一棵具有N个结点的二叉树用链式存储,每个结点都含有左右孩子指针域和数据域,证明:该树中共空闲N+1个字段。14、知算术表达式为A*(B-C)/E+F*G-H/(I+J),用学过的方法把它划成一棵二叉树。然后,再画成按后序遍历的线索二叉树。15、知要传输的数据为字符串“AABBBBAAAACCCDDCC,试画出哈夫曼树并求出数据中每种符

14、号的哈夫曼编码。16、知A,B,C,D,E为高度为3的一棵三叉树上的结点,也是由这棵三叉树转换成的高度为4的一棵二叉树上的结点,试画出满足上述两条件的所有三叉树和二叉树。17、知关键字集合(60,70,50,40,30,55,58)按顺序输入构成一棵平衡二叉排序树,画出中间出现的各不平衡树,并说明属于何种类型;画出最后的平衡二叉排序树。18、判断关键字集合(20,45,60,55,70,90,80,75)是否是堆树,若不是画出按顺序输入构成的树及整理成的堆树。然后再画出输出一个排序结果的树及调整后的堆。19、设某系学生举办运动会,参加同学的学号为(9301,9382,9372,9324,934

15、5,9248,9262,9207,9223,9246,9152,9162,9109,9147,9118)。试画出其块大小为5的分块查找的数据结构图。20、设关键字集合(16,87,54,70,75,26,63,29,32,52,53,78),a=0、75,设计一种散列函数,将它们进行散列,画出散列表并计算查找成功时的平均查找长度。21、在实际工作中顺序栈有两种,一种是我们讲过的栈顶移动的栈。另一种是栈底移动的栈。但一般都不用第二种方式,请回答为什么?22、设有abcd'按顺序进入一个栈,试写出所有可能的输出序列。23、高度为K的一棵完全二叉树中,结点的总个数最多是多少?最少是多少?24

16、、设一棵满二叉树中,结点的总个数为2040间的一个素数,问满二叉树中共有多少个叶子结点?25、一棵完全二叉树中结点的总个数是一个偶数,问该完全二叉树中有多少个度为一的结点?26、设一棵完全二叉树中结点i的堂兄弟结点的编号是2i+3,问该堂兄弟结点的双亲结点编号是多少?27、知A为二维数组,A-12,-23,按顺序存储,基址为999每个元素都占用4个存储单元,分别计算元素A(-1,-1)按行(列)优先存储的地址号。(写出计算公式)28、假设三维数组A,它的各维界偶分别为(4,9),(-1,5),(-9,-2),基地址为20,每个元素占三个存储单元,试计算元素A6,0,-5的存储位置。29、写出h

17、ead(tail(head(a,b),c,d)和tail(head(tail(a,(b,c,d)各自的运算结果。30、设有abcdell过一个栈的处理得到输出序列为cdbea'假设,用P代表一次进栈操作,Q代表一次退栈操作。要求,写出用PQ序列表示得到上述输出结果的过程。31、一棵完全二叉树中的某个结点,如果没有左孩子结点,则其一定没有右孩子。这种说法正确吗?32、具有N个结点的一棵完全二叉树中,编号最小的叶子结点的编号是多少?33、知A为二维数组,A-12,-23,按顺序存储,基址为999每个元素都占用4个存储单元,分别计算元素A(-1,-1)按行(列)优先存储的地址号。(写出计算公

18、式)34、已知下边给出的两棵二叉树是由森林转换成的,现要求画出原森林。35、用迪杰斯特拉算法,求右下图中从顶点V1到其他各顶点的最短路径,要求写出:无图(1)网的带权邻接矩阵;(2)求最短路径的计算过程。36、利用深度优先搜索的方法编写求无向图中通过给定顶点VK的简单回路的算法。37、利用广度优先搜索思想编写求无向图中从V1顶点到VK顶点之间的最短路径(指边的条数)的算法。38、根据右下图的AOE网络完成各题:(1)求每个顶点的最早、晚时间;无图(2)写出关键顶点;(3)是否有哪项活动减少时间后能使整个工期缩短。39、假设三维数组A,它的各维界偶分别为(4,9),(-1,5),(-9,-2),

19、基地址为20,每个元素占三个存储单元,试计算元素A6,0,-5的存储位置。40、写出head(tail(head(a,b),c,d)和tail(head(tail(a,(b,c,d)各自的运算结果。41、已知T为一棵二叉树的根结点,按先序遍历该树的输出序列为ABDFGHCE按中序遍历该树的输出序列为BFDHGAEC要求画出这棵二叉树。三.算法1、已知L为单链表的头结点的地址指针,编写把L从第i个结点处分开形成两个带头结点的单链表的算法。第1个结点为新表结点。2、编写把一个值为X的结点插到表中地址为Y的结点之前的算法。3、已知L为单链表的头结点的地址指针,数据结点值递增有序。编写把表中从值大于X

20、的结点开始到小于值为Y的结点之间的所有结点的顺序完全倒置的算法。4、已知L为单链表的头结点的地址指针,表中结点的值都是正整数,编写把表中值为奇数的所有结点从表中删除并生成一个新的带头结点的单链表的算法。(要求用的时间较少)5、已知L为单链表的头结点的地址指针,编写把表中值X的结点的直接前驱结点删除的算法。6、已知L为循环单链表的头结点指针,且每个结点都有一个空闲的前驱指针域,要求编写一个算法把该表变为循环双链表。7、已知一个循环单链表,要求编写删除表中地址为Y的结点的直接前驱结点的算法。8、已知L为循环单链表的头结点指针,要求编写把表从地址为Y的结点处分开,形成两个循环单链表的算法。Y作为新表

21、的第一个结点。9、编写把一个循环双链表中已知结点P与其直接前驱结点位置交换的算法。(要求只用一个辅助空间P)10、已知一个循环单链表的尾结点地址P,问在该链表中能否执行首部删除、尾部插入结点的操作?如何实现?11、完成两个栈的设计以及进、退栈的算法。12、完成将迷宫的算法编写成C语言的程序。13、编写链式栈的进、退栈算法。14、已知L为循环单链表的头结点地址指针,AV为另一单链表的第一个结点地址指针(如图示),要求用最少的时间、用最链表AV中,并写出相应的算法。少的操作完成把L表中的全部结点链接到15、求出子串NGB字符串JIAOTONG中的位置序号。16、由下图1知,此时队列中的空间并非全部

22、都被占用(若用循环队b图三个盘子移动列,这些空间可以被重新使用),现在,希望你想另外一种方法,也能使这些空间可以被重新使用。并设计实现进、出队列的算法。17、编写一个计算循环队列中数据元素个数的算法。(图2)18、设有m个连续的存储单元,现分成由一个栈和一个队列使用。栈和队列的容量不知且不相等。要求在任何时刻,只要栈和队列中已存储的元素个数之和小于m,便能满足用户的存放数据的申请。试设计出这种结构并写出进、出栈的算法。图2FQ.fronQ.frontQ.rea图119、已知T为一棵二叉树的根结点,设计把树中每个结点的左右孩子结点交换的算法。20、已知T为一棵二叉树的根结点,设计把树中每个单分支

23、结点,用添加数据值为0的新结点变为双分支结点的算法。21、已知T为一棵二叉树的根结点,设计把树中值为X的结点找出,并将它的两个孩子分别作为根生成两棵子树的算法。22、已知T为一棵二叉树的根结点,设计计算该树高度(深度)的算法。23、已知T为一棵二叉树的根结点,树中结点的数据值都是正整数其中只有一个值是寄数,设计找出该结点的算法。24、已知T为一棵二叉树的根结点,设计计算该树中结点总个数的算法。?25、已知T为一棵中序线索二叉树的根结点指针,P为树中一个结点的地址,设计把一个新结点X插到结点P左侧(即作为P的左孩子)的算法。26、设计把一个新结点X插到结点P右侧(即作为P的右孩子)的算法。27、

24、若把第一题中的新结点X改成是以X为根的一棵中序线索二叉树,设计把以X为根的一棵中序线索二叉树,插到结点P左侧(或右侧)的算法。四.术语1 .数据结构2 .逻辑结构3 .存储结构4 .算法5 .时间复杂度6 .空间复杂度7 .数据类型8 .抽象数据类型9 .线性表10 .循环链表11 .双向链表12 .静态链表13 .栈14 .循环队列15 .队列16 .串17 .子串18 .广义表19 .二叉树20 .满二叉树21 .中序遍历22 .线索23 .线索化24 .先序遍历25 .后序遍历26 .水平遍历27 .树的深度28 .树的度29 .树30 .完全二叉树31 .前缀码32 .哈夫曼编码33

25、.最优二叉树34 .最小生成树35 .完全有向图36 .完全无向图37 .广度遍历38 .深度遍历39 .生成树40 .生成森林41 .环(简单环)42 .路径43 .极大连通子图44 .连通图45 .拓扑排序46 .关键路径47 .最短路径48 .折半查找49 .索引顺序表50 .二叉排序树51 .平衡因子52 .平衡二叉树53 .平衡旋转54 .LR型平衡旋转55 .LL型平衡旋转56 .RL型平衡旋转57 .RR型平衡旋转58 .哈希函数59 .哈希表60 .shell排序61 .气泡排序法62 .选择排序63 .快速排序64 .堆排序65 .交换排序66 .插入排序67 .稳定排序68

26、 .不稳定排序69 .内部排序70 .归并排序71 .基数排序72 .外部排序五.简答1、什么是数据,数据元素、数据项?何谓主关键字?2、什么是数据结构?什么是存储结构?它们各有多少种形式?3、衡量一个算法性能好坏的标准是什么?5、如果两个算法的平均时间复杂度相同,能否说,这两个算法的实际执行时间一定相等?6、试描述数据结构的概念与程序设计语言中数据类型概念的区别。1、什么是数据结构?什么是存储结构?它们各有多少种形式?2、数据结构是如何分类的?举出你所学的六种并分类。3、衡量一个算法性能好坏的标准是什么?4、抽象数据类型如何描述,以线性表为例说明。5、描述以下三个概念的区别:哨兵指针,哨兵结

27、点,首结点(第一个元素结点)6、算法与程序的主要区别是什么?7、如果两个算法的平均时间复杂度相同,能否说,这两个算法的实际执行时间一定相等?(不一定)。8、线性表、栈、队列的区别与联系。9、线性表的顺序存储结构与链式存储结构在操作上的特点是什么?10、 线性表与用的区别与联系。11、 静态链表与动态链表的不同点与相同点。12、 简述队列在顺序存储结构上实现的特点。13、 简述二栈共享空间时的数据结构、操作实现过程及优点。14、 链式结构存储用时,每个结点可存放多个字符,当插入和删除子用时操作如何实现?15、 如何用一维数组存储对称矩阵?16、 如何用一维数组存储下三角矩阵?17、 稀疏矩阵有几种存储方式分别叙述。18、 已知二叉树的中序遍历和先序遍历结果,如何确定这棵二叉树?19、 简述哈夫曼算法。20、 树的存储结构有几种?简述之。21、 一棵完全二叉树中的某个结点,如果没有左孩子

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论