ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:81.17KB ,
资源ID:9939731      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9939731.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构练习题.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构练习题.docx

1、数据结构练习题 练习题一、判断题1、线性表中每个元素都有一个直接前驱和一个直接后继( 0 )2、满二叉树的结点个数一定为奇数( 1 )3、最短路径一定是简单路径。( 1 )4、满二叉树的结点个数不一定为奇数。( 0 )5、若有一个结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的前序遍历结果序列的最后一个结点。( 0 )6、链表插入排序方法是稳定的。( 1 )7、栈和队列的存储方式既可是顺序方式,也可是链接方式。( 1 )8、邻接表只能用于有向图的存储,邻接矩阵对于有向图和无向图的存储都适用。(0 )9、直接插入排序中的数据比较次数与数据的初始排列无关。( 0 )10、

2、向栈顺序地输入一个整数序列1,2,3,4,5,6,能得到输出序列3,2,5,6,4,1(1 )11、满二叉树的结点个数一定为奇数(1 )12、在只有度为0和度为k的结点的正则k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。( 0 )13、直接插入排序中的数据比较次数与数据的初始排列无关。( 0 )二、选择题1、对表长为n的顺序表进行顺序搜索,在等概率情况下,搜索成功时的平均搜索长度为( )。A(n+1)/2 B(n-1)/2 Cn/2 Dn2、设双向循环链表中结点的结构为(data,lLink,rLink),且不带头结点,若想在指针p所指结点之后插入指针s所指的结点

3、,则应执行下列哪个操作序列?( )Ap-rLink=s;s-lLink=p;p-rLink-lLink=s;s-rLink=p-rLink;Bp-rLink =s;p-rLink-lLink=s;s-lLink =p;s-rLink= p-rLink;Cs-lLink=p;s-rLink=p-rLink;p-rLink-lLink=s;p-rLink=s;Ds-lLink=p;s-rLink=p-rLink;p-rLink=s;p-rLink-lLink=s;3、设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5、e6和e7依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的

4、的顺序是e2、e4、e3、e6、e5、e7、e1,则栈S的容量至少应该是( )A6 B4 C3 D24、向一个有127个元素的顺序表插入一个新元素并保持各元素原来的次序不变,则在等概率情况下平均要移动( )个元素。A63.5 B63 C8 D75、以下关于链式存储结构的叙述中,( )是不正确的。A结点除自身信息外还包括指针域B逻辑上相邻的结点物理上不必相邻C可以通过计算直接确定第i个结点的存储地址D插入、删除运算操作方便,不必移动结点6、设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次入/出栈S,一个元素出栈后即进入队列Q,若6个元素出队的的顺序是e2、e4、e3、e6

5、、e5、e1,则栈S的容量至少应该是( )。A6 B4 C2 D37、已知广义表的表头为a,表尾为(b,c),则此广义表为( )。A(a,(b,c) B(a,b,c) C、(a),b,c) D(a,b,c)8、AVL树是一种平衡的二叉搜索树,树中任一结点的( ) A左、右子树的高度均相同 B左、右子树高度差的绝对值不超过1 C左子树的高度均大于右子树的高度 D左子树的高度均小于右子树的高度 9、在二叉树的前序遍历序列、中序遍历序列和后序遍历序列中,所有叶子结点的先后顺序( )A完全相同 B都不相同C前序与中序相同,与后序不同 D中序与后序相同,与前序不同10、在一个长度为n的线性表中顺序搜索值

6、为x的元素,在等概率情况下,搜索成功时的平均搜索长度为( )An B n/2 C(n+1)/2 D(n-1)/211、若无向连通图G中有n个顶点,则其边数最少为( )An Bn-1 Cn(n-1) Dn(n-1)/212、用直接插入排序方法对下面四个序列进行排序(由小到大),比较次数最少的是( )A94、32、40、90、80、46、21、69 B32、40、21、46、69、94、90、80C21、32、46、40、80、69、90、94 D90、69、80、46、21、32、94、4013、对有n个结点的顺序表进行快速排序,在最坏情况下其时间复杂度为( )AO(n) BO(log2n) C

7、O(nlog2n) DO(n2)14、线性表采用链表存储时,其地址( )A、必须是连续的 B、一定是不连续的C、部分地址必须是连续的 D、连续与否均可以15、设有一个二维数组Amn,假设A00存放位置在644(10),A22存放位置在676(10),每个元素占一个空间,则A45在( )位置,(10)表明用10进数表示。A、692(10) B、626(10) C、709(10) D、724(10)16、在一个表头指针为ph的不带头结点的单链表中,若要向表头插入一个由指针p指向的结点,则应执行( )操作。Aph=p;p-next=ph; Bp-next=ph;ph=p;Cp-next=ph;p=p

8、h; Dp-next=ph-next;ph-next=p;17、设单循环链表中结点的结构为(data, link),且rear是指向非空的带表头结点的单循环链表的尾结点的指针。若想删除链表第一个结点,则应执行下列哪个操作?( )As =rear; rear=rear-link; delete s; Brear=rear-link; delete rear;Crear=rear-link-link; delete rear;Ds=rear-link-link;rear-link-link=s-link; delete s;18、下列陈述中正确的是( )。A二叉树是度为2的有序树 B二叉树中结点只

9、有一个孩子时无左右之分 C二叉树中必有度为2的结点D二叉树中最多只有两棵子树,并且有左右之分 19、如图所示的4棵树中,不是完全二叉树的为( )。(A) (B) (C) (D)20、AVL树是一种平衡的二叉排序树,树中任一结点的( )。 A左、右子树的高度均相同 B左、右子树高度差的绝对值不超过1 C左子树的高度均大于右子树的高度 D左子树的高度均小于右子树的高度 21、一个具有n个顶点的无向完全图的边数为( )。An(n+1)/2 Bn(n-1)/2 C n(n-1) Dn(n+1)22、下面的( )方法可以判断出一个有向图中是否有环(回路)? A深度优先遍历 B拓朴排序C求最短路径 D求关

10、键路径23、利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素35要进行( )元素间的比较。A4次 B5次C 7次 D10次24、下面给出的四种排序法中( )排序法是不稳定性排序法。A直接插入 B冒泡C二路归并 D堆25、二维数组A按行优先顺序存储,其中每个元素占1个存储单位。若A11的存储地址为420,A33的存储地址为446,则A55的存储地址为( )。A470 B471C472 D47326、设有两个均只有头指针的单链表,若要将长度为n的单链表链接到长度为m的单链表之后,则实现该功能的算法的时间复杂度为( )。AO(1) B

11、O(n)CO(m) DO(m+n)27、设单循环链表中结点的结构为(data, link),且rear是指向非空的带表头结点的单循环链表的尾结点的指针。若想删除链表第一个结点,则应执行下列哪个操作?( )As =rear; rear=rear-link; delete s;Brear=rear-link; delete rear;Crear=rear-link-link; delete rear;Ds=rear-link-link;rear-link-link=s-link; delete s;28、从堆中删除一个元素的时间复杂度为( )。AO(1) BO(n)CO(log2n) DO(nlo

12、g2n)29、对于一棵具有n个结点的二叉树,在其二叉链表的存储结构中,所有结点的空指针等于( )。An Bn-1Cn+1 D2*n30、如图所示的4棵二叉树中,不是完全二叉树的为( )。(A) (B) (C) (D)31、利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素35要进行( )元素间的比较。A4次 B5次C. 7次 D10次32、在一个带权连通图G中,权值最小的边一定包含在G的( )中。A最小生成树 B生成树C广度优先生成树 D深度优先生成树33、一个有n个顶点和n条边的无向图一定是( )。A连通的 B不连通的C无回路

13、D有回路34、对n个关键字的序列进行快速排序,其平均情况下的空间复杂度为( )。AO(1) BO(logn)CO(n) DO(nlogn)35、已知广义表的表头为(a,d),表尾为(b,c),则此广义表为( )A(a,d),(b,c) B(a,d),b,c)C(a,d),b,c) D(a,d),b,c)36、在一棵AVL树中,每个结点的平衡因子的取值范围是()A-11 B-22C12 D0137、设n,m为一棵二叉树上的两个结点,在中序遍历时,n在m前的条件是( )A.n在m右方 B.n是m的祖先C.n在m左方 D.n是m的子孙38、若无向连通图G中有n个顶点,则其边数最少为( )An Bn-

14、1 Cn(n-1) Dn(n-1)/239、用直接插入排序方法对下面四个序列进行排序(由小到大),比较次数最少的是( )A94、32、40、90、80、46、21、69 B32、40、21、46、69、94、90、80C21、32、46、40、80、69、90、94 D90、69、80、46、21、32、94、4040、关键码比较次数与待排序对象的初始排列状态无关的排序方法是( )A直接插入排序 B起泡排序C快速排序 D直接选择排序41、将8个元素的序列49,38,65,97,76,13,27,50排序为递增有序,( )是选择排序法的第一趟的结果。A13,38,65,97,76,49,27,5

15、0 B13,27,38,49,50,65,76,97C97,76,65,50,49,38,27,13 D13,38,65,50,76,49,27,97三、填空题1、在下面的程序段中,语句p*=j;的执行次数为( )int i=0,s=0;while(+in) int p=1; for(int j=1;j=i;j+)p*=j; s=s+p;2、数据结构可定义为DS=(D,R),其中,D是某一数据对象,R是( )。3、算法是一个有穷的指令集,它为解决某一特定任务规定了一个运算序列。它应当具有输入、输出、确定性、( )和有效性等特性。4、在一个带头结点的单循环链表中(结点结构为:数据域data,指针

16、域next),指针p指向尾结点的直接前驱,则指向头结点的指针head可用p表示为( )。5、两个字符串相等的充要条件是( )。6、顺序队列一般应该组织成环状队列的形式,此时一般队头或队尾应做特殊处理,这样做的原因是为了( )。7、递归工作栈中的工作记录通常包括:( )、在本次过程调用时与形参结合的实参值和本层的局部变量值。8、一个二叉树按顺序方式存储在一个一维数组中,如图0 1 2 3 4 5 6 7 8 9 10 11 12 13 14ABCDEFGHIJ则结点E在二叉树的第( )层。9、在用于表示有向图的邻接矩阵中,对第j列的元素进行累加, 可得到第j个顶点的( )度。10、拓扑排序方法可

17、以检测AOV网络中是否存在( )。11、在一个带头结点的单循环链表中(结点结构为:数据域data,指针域next),指针p指向尾结点,则指向头结点的指针head可用p表示为( )。12、两个字符串相等的充要条件是( )13、数据结构是由某一数据对象和该对象中各个数据成员间的关系组成。依据所有数据成员之间关系的不同,分为两大类:( )和( )。14、在下面程序段中,s=s+p;语句的执行次数为( )。int i=0, s=0;while(+i=n) int p=1; for(int j=1;j=i; j+) p*=j; s=s+p;15、如果使用循环链表表示的队列的长度为n,且只设立头指针,则进

18、队操作的时间复杂度为( )。16、递归工作栈中的工作记录通常包括:( )、在本次过程调用时与形参结合的实参值和本层的局部变量值。17、具有n个结点的二叉树,若采用二叉链表的存储结构,共有2n个指针域,其中空指针( )个。18、以折半搜索方法搜索一个顺序表时,此顺序表必须是( )。19、在用于表示有向图的邻接矩阵中,对第J列的元素进行累加, 可得到第J个顶点的( )度。20、对于一个具有n个顶点和e条边的有向图,在其对应的邻接表中,所含边结点为( )个6、具有n个结点的二叉树,若采用二叉链表的存储结构,共有2n个指针域,其中空指针( )个。21、广义表L=(x,a),(x,a,(b,c),y)的

19、深度为( )22、数据结构是由某一数据对象和该对象中各个数据成员间的关系组成。依据视点的不同,分为数据的( )和( )。23、递归工作栈中的工作记录通常包括:( )、在本次过程调用时与形参结合的实参值和本层的局部变量值。24、一个顺序栈存储于一维数组am中,当栈顶指针等于( )时,则为空栈。25、有42个结点的二叉树的高度最小是( )。26、在一棵二叉树中,假定度为2的结点有5个,度为1的结点有6个,则叶子结点数有( )个。27、在一个最小堆中,堆顶结点的值是所有结点中的( )。28、对于一个具有n个顶点昨e条边的连通图,其生成树中的边数为( )。29、从邻接矩阵A=可以看出,若该图是有向图,

20、则共有( )条边。30、直接插入排序在最好情况下的时间复杂度为( )31、在单链表中,结点间的逻辑关系不是通过存储单元的顺序来表示的,而是通过( )来实现的。32、循环队列用数组A0m-1存放其元素值,已知其头尾指针分别为front和rear,则当前队列中的元素个数为( )33、深度为k的完全二叉树,若按自上而下,从左到右的次序给结点编号(从1开始),则编号最小的叶子结点的编号是( )34、假定一个有向图的顶点集为a,b,c,d,e,f,边集合为,则出度为0的顶点个数为( )。35、如图所示的有向无环图可以排出( )种不同的拓扑序列。四、简答与应用题1、下列整数序列由前序遍历一棵二叉搜索树得到

21、:50,40,30,45,65,55,70,80。试构造一棵这样的二叉搜索树。3、已知一棵二叉树如下,请分别写出按前序、中序、后序得到的结点序列。3、设一组记录的排序码为(46,79,56,38,40,84,50,42),若需利用堆排序方法将其排序为递增有序,应建立最小堆还是最大堆?并给出建立的初始堆。4、有一份电文中共使用五个字符:a,b,c,d,e,它们的出现频率依次为4,7,5,2,9,试画出对应的Huffman树,并给出每个字符的Huffman编码。5、已知一个无向连通网络G,如下图所示,完成以下问题:(1)画出该连通网的邻接矩阵; (2)试根据Kruskal算法,画出一棵最小生成树。

22、(要求写出构造过程)6、有7个带权结点,其权值分别为3,7,8,2,6,10,14,试以它们为叶子结点生成一棵霍夫曼树,并求出该树的带权路径长度。7、已知一个图的顶点集V和边集E分别为:V=0,1,2,3,4,5;E=(0,1,8),(0,2,5),(0,3,2),(1,5,6),(2,3,10),(2,4,13),(3,5,9);其中边集E的边结点结构为:(顶点1,顶点2,权值)。试根据Prim算法写出从顶点1出发得到最小生成树的过程中,依次选取的各条边,并求最小生成树的权。8、设有一个1010的对称矩阵A1010,采取按行压缩存储的方式存放于一个一维数组B中,则数组B的容量应该有多大?若设

23、A00为第一个元素,存放于B0,且数组A的每一个数组元素在数组B中占一个数组元素位置,则A85在数组B中的地址是多少?9、含有144个叶结点的完全二叉树最多有多少个结点?试分析之。10、有一个有序表R113=1,3,9,12,32,41,45,62,75,77,82,95,100,当用折半搜索法搜索关键字为82的结点时,经过多少次比较后搜索成功?依次与哪些关键字进行了比较?11、关键字序列12,7,18,13,17,29,34,6,8是否为堆?若不是,请将其调整为堆(小根堆),并统计建堆过程中的交换次数。12、已知一个无向连通网络G,如下图所示,完成以下问题:(1)画出该连通网的邻接矩阵; (

24、2)试根据Kruskal算法,画出一棵最小生成树。13、设表示式a+b*(c-d)-e/f对应的语法树如图所示,请写出该语法树的前序、中序、后序遍历的结果序列。14、有7个带权结点,其权值分别为3,7,8,2,6,10,14,试以它们为叶子结点生成一棵霍夫曼树(要求左子女的权值小于右子女),并求出该树的带权路径长度。15、已知一个图的顶点集V和边集E分别为:V=0,1,2,3,4,5;E=(0,1,8),(0,2,5),(0,3,2),(1,5,6),(2,3,10),(2,4,13),(3,5,9);其中边集E的边结点结构为:(顶点1,顶点2,权值)。试写出按照普里姆(Prim)算法从顶点1

25、出发得到最小生成树的过程中,依次选取的各条边,并求最小生成树的权。(1)依次选取的边为: (2)最小生成树的权为:16、在实际应用中经常遇到的稀疏矩阵是三对角矩阵,如下图所示。在该矩阵中除主对角线及在主对角线上下最临近的两条对角线上的元素外,所有其他元素均为0。现在要将三对角矩阵A中三条对角线上的元素按行优先方式存储在一维数组B中,且a11存放于B0。试给出计算A在三条对角线上的元素aij(1in,i-1ji+1)在一维数组B中的存放位置的计算公式。A=a11a12a21a22a23a32a33a34ann-1ann17、已知完全二叉树第6层有5个结点(根结点在第1层),问该完全二叉树有多少个

26、结点?其中有多少个叶结点?18、若一个具有n个顶点,k条边的无向图是一个森林(nk),则该森林中必有多少棵树。19、如下图所示的二叉搜索树,画出删除65,再插入65后的二叉搜索树。20、有一个有序表R113=1,3,9,12,32,41,45,62,75,77,82,95,100,当用折半搜索法搜索关键字为82的结点时,经过多少次比较后搜索成功?依次与哪些关键字进行了比较?21、已知一棵满二叉树的结点个数在20与40之间,此二叉树的叶子结点有多少个?22、任意一个有n个结点的二叉树,已知它有m个叶子结点,试问它有多少个度为2的非叶子结点?23、给出以数据序列4,5,6,7,10,12,18为结

27、点权值所构造的霍夫曼树,并计算其带权路径长度。24、画出对长度为10的有序表A110进行折半搜索的一棵判定树,并求其等概率时搜索成功的平均搜索长度。25、对于一个栈,输入项序列为A、B、C,试给出全部可能的输出序列。答:ABC、ACB、BAC、BCA、CBA五、算法填空1、下面算法的功能是对含有n个互不相同元素的顺序表,经过一趟遍历同时找出最大元素和最小元素。试填空完成该算法,并分析至少需要进行多少次比较?void maxMin(seqlist r,int n,keytype &min,keytype &max) int i; min=max=r0.key; for(i=1; ;i+) if(

28、ri.keydata) ; else if(itemdata) ; else ; return false;3、下面是从一维数组An中折半查找关键字为K的元素的非递归算法,若查找成功则返回对应元素的下标,否则返回-1。说明:一维数组An关于关键字递增有序。int Binsearch(ElemType A,int n,KeyType K)/其中ElemType,KeyType分别为数据元素和关键字域的数据类型 int low=0,high=n-1; while(low=high) int mid; mid= ; if(K=Amid.key)return mid; else if(K Amid.key) ; else ;return -1;4、下面是有序顺序表类的折半搜索成员函数的递归实现,以实现在一维数组Elementn中查找关键字为K的元素,若查找成功则返回对应元素的下标,否则返回-1。说明:一维数组Elementn关于关键字递

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1