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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构复习题 2.docx

1、数据结构复习题 2一、填空题1.栈中元素的进出原则是 ,队列中元素的进出原则 是 。 2.设指针p指向单链表中结点A,指针s指向被插入的结点X,则在结点A的前面插入结点X时的操作序列为:1) s-next=_;2) p-next=s;3) t=p-data;4) p-data=_;5) s-data=t; 3.假设以行序为主序存储二维数组A=array1.100,1.100,设每个数据元素占2个存储单元,基地址为10,则LOC6,6= 。 4.表达式a*(b+c)-d/e的后缀表达式为 。 5.设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则e=_。 6.设一棵完全二叉树中有1

2、00个结点,则该二叉树的深度为_;若用二叉链表作为该完全二叉树的存储结构,则共有_个空指针域。 7.设有向图G的存储结构用邻接矩阵A来表示,则A中第i行中所有非零元素个数之和等于顶点i的_。 8.利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素20要进行 次元素间的比较。 9.在活动图中,节点表示项目中各个工作阶段的里程碑,连接各个节点的边表示活动,边上的数字表示活动持续的时间。在右边的活动图中,从A到J的关键路径长度是 ,从E开始的活动启动的最早时间是 。 10.设一组初始记录关键字序列为(20,18,22,16,30,19)

3、,则根据这些初始关键字序列建成的初始大根堆序列为_。 11.已知待散列的线性表为(36,15,40,63,22),散列用的一维地址空间为0.6,假定选用的散列函数是H(K)= K mod 7,若发生冲突采用线性探查法处理,求出在查找每一个元素概率相等情况下的平均查找长度 。12在下面的程序段的时间复杂度为 。for (int i=1;im;i+) for (int j=1;jn;j+) aij=i*j;13设二维数组A0.10,0.20按行优先顺序存储,每个元素占4个存储单元,A2,1的存储地址是1000,则A5,6的存储地址是 。14在循环单链表La(La为头指针)中,指针p所指结点为表尾的

4、条件 。15设s=YOU ARE STUDENT IT RIGHT OR WRONG,顺序执行下列操作:SubString(sub1,s,1,8); SubString(sub2,s,20,5); StrCat(sub1,sub2); 则最后sub1的值为: 。16顺序存放的循环队列的元素以数组Am存放,其头尾指针分别为front和rear,则当前队列中的元素个数为 。17算法分析考虑的两个主要因素是 和 。18若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是 。19若待排序序列中具有相同关键字的记录在排好序后其相对位置发生了变化,则称这种排序方法是 。20.为了保证

5、图中的各顶点在遍历过程中访问且仅访问一次,需要为每个顶点设一个访问标志,因此要为图设置一个 ,用于标示图中每个顶点是否被访问过。二、单项选择题1.以下与数据的存储结构无关的术语是( )。A顺序队列 B链表 C有序表 D链栈2.以下数据结构中,( )是非线性数据结构。A树 B字符串 C队列 D栈3.算法分析的两个主要方面是( )。A空间复杂性和时间复杂性 B正确性和简明性C可读性和文档性 D数据复杂性和程序复杂性4.线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。A必须是连续的 B部分地址必须是连续的C一定是不连续的 D连续或不连续都可以5设输入序列为1、2、3,则通过栈的作用后

6、不可以得到的输出序列为( )。A3,1,2 B3,2,1 C1,3,2 D1, 2,36.广义表(a,(b,c))的表头和表尾分别为( )。Aa和(b,c) B(a)和(b,c)Ca 和(b,c) D(a) 和(b,c)7.栈和队列的共同特点是( )。A只允许在端点处插入和删除元素B都是先进后出 C都是先进先出D没有共同点 8.下面程序段的时间复杂度为( )。for (int i=1;in;i+) for (int j=1;jnext=q;q-prior=p;p-next-prior=q;q-next=q; Bp-next=q;p-next-prior=q;q-prior=p;q-next=p

7、-next; Cq-prior=p;q-next=p-next;p-next-prior=q;p-next=q; Dq-prior=p;q-next=p-next;p-next=q;p-next-prior=q;10.设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是( )。Ahead=NULL Bhead-next=NULLChead-next=head Dhead!=NULL11.判定一个队列Q(最多元素为m)为满队列的条件是( )。AQ-rear-Q-front = = m BQ-rear- Q-front-1= = m CQ-front = = Q-rear DQ-f

8、ront = = Q-rear+112.串的长度是指( )。 A串中所含不同字母的个数 B串中所含字符的个数 C串中所含不同字符的个数 D串中所含非空格字符的个数13.设有一个10阶的下三角矩阵A(包括对角线),按照从上到下、从左到右的顺序存储到连续的55个存储单元中,每个数组元素占1个字节的存储空间,则A54地址与A00的地址之差为( )。A10 B19 C28 D5514.在下述结论中,正确的是( )。只有一个结点的二叉树的度为0; 二叉树的度为2; 二叉树的左右子树可任意交换;深度为K的完全二叉树结点个数小于或等于深度相同的满二叉树; A B C D15.若一棵二叉树具有10个度为2的结

9、点,5个度为1的结点,则度为0的结点个数是( )。A9 B11 C15 D不确定16.具有n个顶点的无向连通图的生成树应有( )条边。An-1 Bn Cn+1 Dn+217.设有向无环图G中的有向边集合E=,则下列属于该有向图G的一种拓扑排序序列的是( )。A1,2,3,4 B2,3,4,1 C1,4,2,3 D1,2,4,318.对n个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( )。A(n-1)/2 Bn/2 C(n+1)/2 Dn19.从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)一端的方法称为( )。A归并排序 B冒泡排序C插入排序 D选择排序20

10、.若一组记录的排序码为(46,79,56,38,40,84),则利用快速排序方法,以第一个记录为基准得到的一次划分结果为( )。A38,40,46,56,79,84 B40,38,46,79,56,84C40,38,46,56,79,84 D40,38,46,84,56,7921设某个栈的入栈序列是A,B,C,D,E,则下面4个选项中不可能的出栈序列是 。AADBEC BBCDEA CEBCAD DEABCD22广义表(a,(b,c),d)的表头和表尾分别为 。 Aa和(b,c),d B(a)和(b,c),d Ca和(b,c),d) D(a)和(b,c),d)23设有向图的顶点个数为n,则该图

11、是有向完全图的条件是边的条数满足 。An (n-1) Bn(n-1)/2 Cn(n+1)/2 Dn(n+1)24一个有n个顶点的无向连通图的生成树,其边的条数为 。An-1 Bn Cn+1 Dnlogn25一个有向图用邻接矩阵表示,要删除所有从第i个顶点发出的边,应该 。A将邻接矩阵的第 i 行删除 B将邻接矩阵的第 i 行元素全部置零C将邻接矩阵的第 i 列删除 D将邻接矩阵的第 i 列元素全部置零26已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则完全二叉树的结点个数最多是 。A39 B52 C111 D11927在线索化二叉树中,t所指结点没有左子树的充要条件是 。At-lch

12、ild=NULL Bt-ltag=1 Ct-ltag=0 D.以上都不对28AVL树是一种平衡的二叉排序树,树中任一结点的 。A左、右子树高度差的绝对值不超过1 B左、右子树的高度均相同 C左子树的高度均大于右子树高度 D左子树的高度均小于右子树高度29下列四个序列中,哪一个是堆 。A75,65,30,15,25,45,20,10 B75,65,45,10,30,25,20,15C75,45,65,30,15,25,20,10 D75,45,65,10,25,30,20,1530下列排序在一趟结束后不一定能选出一个元素放在其最终位置上的是 。A选择排序 B归并排序 C冒泡排序 D快速排序31一

13、组记录的关键字为46,79,56,38,40,84,利用快速排序的方法,以第一个记录为基准得到的一次划分结果为 。A38,40,46,56,79,84 B40,38,46,79,56,84C40,38,46,56,79,84 D40,38,46,84,56,7932下列叙述中,不符合m阶B树定义要求的是 。A根节点最多有m棵子树 B所有叶结点都在同一层上C各结点内关键字均升序或降序排列 D叶结点之间通过指针链接三、应用题1设某棵二叉树的先序遍历序列为ABDFCEGH,中序遍历序列为BFDAGEHC,要求画出此二叉树并给出该二叉树的后序遍历序列。2设有无向连通网络G如下图所示(1)画出其邻接矩阵

14、存储;(2)从顶点搜索所得的深度优先搜索(DFS)序列和广度优先搜索(BFS)序列;(3)请采用普里姆或克鲁斯卡尔算法画出G的最小生成树。3已知世界六大城市为:北京(Pe)、纽约(N)、巴黎(Pa)、 伦敦(L) 、 东京(T) 、 墨西哥(M),下表给定了这六大城市之间的交通里程: 世界六大城市交通里程表(单位:百公里) penpaLTMPe109828121124N109585510832PA825839792L815539589T211089795113M124329289113(1)画出这六大城市的交通网络图;(2)画出该图的邻接表表示法;(3)画出该图按权值递增的顺序来构造的最小(代

15、价)生成树.4已知某系统在通信联络中只可能出现4种字符:a,b,c,d,其概率分别为1,3,5,7。要求: (1) 画出对应的哈夫曼树(要求左子树根结点的权小于等于右子树根结点的权) 。 (2)为这4个字符设计哈夫曼编码(要求左分支为0,右分支为1)。 (3)计算该哈夫曼树的最小加权路径长度WPL。 5已知某系统在通信联络中只可能出现8种字符a,b,c,d,e,f,g,h,其概率分别为5,25,3,6,10,11,36,4。要求:(1) 画出对应的哈夫曼树(要求左子树根结点的权值小于等于右子树根结点的权值) 。(2)为8个字符设计哈夫曼编码(规定左子树编码为0,右子树编码为1)。(3)计算该哈

16、夫曼树的最小加权路径长度WPL。6已知一个二叉树的顺序存储结构图如下: (1)请画出该二叉树; (2)写出该二叉树先序、中序遍历序列; (3)将其转化成等价的树或森林。下标123456789101112131415结点ABCDEFGHIJ7已知一有向网的邻接矩阵如下,如需在其中一个结点建立娱乐中心,要求该结点距其它各结点的最长往返路程最短,相同条件下总的往返路程越短越好,问娱乐中心应选址何处?给出解题过程。8AOE网可用来估算工程的完成时间,图3是某项工程AOE网的邻接表表示(V1地址为1),其中表结点第一个域为顶点,第二个域为权值。顶点V i表示事件,数字i表示事件的编号,边的数字(权值)表

17、示活动所需的天数,求:(1)分别画出此项工程对应的邻接矩阵和AOE网。(2)以顶点V1出发广度遍历图G(邻接表表示)所得的顶点序列。(3)给出图G的一个拓扑排序序列。(4)计算此项工程各事件(顶点)的ve(vi)和vl (vi)的函数值,各活动弧的e(ai)和l(ai)的函数值,即各事件和各活动弧的最早开始时间和最迟开始时间?(5)根据计算结果确定此工程的关键路径及完成此工程的工期(即所需的最少天数)?9给定一组关键字序列(SUN,MON,TUE,WED,THU,FRI,SAT),建立一个长度为10的哈希表,哈希函数为H(K)=(K中第一个字母在字母表中的序号)%7。要求:,并计算:对以下(1

18、)分别用线性探测和链地址两种方法处理冲突,画出所对应构造的哈希表(散列表)。(2)设每个记录的查找概率相等,分析并计算在以上两种处理冲突方法所构造的哈希表中进行查找时,查找成功的平均查找长度(ASLsucc)以及查找不成功的平均查找长度(ASLunsucc)。10将关键字序列(7,8,30,11,18,9,14),散列存储到散列表中,散列表的存储空间是一个下标从0开始的一个一维数组,散列函数为H(Key)=(Key3) % P。处理冲突采用线性探测再散列法,已知装填因子为0.7。要求:(1)画出所构造的散列表(哈希表)。(2)分别计算等概率情况下,查找成功和查找不成功的平均查找长度。四、算法分

19、析与设计题1. 下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。typedef struct int s100; int top; sqstack;void push(sqstack &stack,int x)if (stack.top=m-1) printf(“overflow”);else _;_;2.二叉搜索树的查找递归算法:bool Find(BTreeNode* BST,ElemType &item) if (BST=NULL)return false; /查找失败else if (item=BST-data)item=BST-data;/查找成功return _;el

20、se if(itemdata)return Find(_,item);else return Find(_,item); /if3.下面程序段的功能是实现二分查找算法,请在下划线处填上正确的语句。struct recordint key; int others;int bisearch(struct record r , int k)int low=0,mid,high=n-1;while(low=high) _; if(rmid.key=k) return(mid+1);else if(_) high=mid-1;else low=mid+1; return(0); 4下面是一趟快速排序的算

21、法,待排序记录存放在记录数组r中,请在横线上填空,把算法补充完整。int QKPass(RecordType r, int low, int high) x= rlow; /* 选择基准记录*/ while ( lowhigh ) while (low=x.key ) high-; if (low high) ; low+; while (lowhigh & rlow.keyx.key ) low+; if ( lowhigh ) ; high-; rlow=x; /*将基准记录保存到low=high的位置*/ return low; /*返回基准记录的位置*/ /* QKPass */ 5(

22、1) 将两个非递减的有序链表合并为一个非递增的有序链表。要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。表中允许有重复的数据。(2) 设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B、C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点(链表A的元素类型为整型,要求B、C表利用A表的结点)。(3) 已知长度为n的线性表A采用顺序存储结构,请写一时间复杂度为O(n)、空间复杂度为O(1)的算法,该算法删除线性表中所有值为item的数据元素。6设计判断两个二叉树是否相同的算法。datanext7已知带有表头结点的单链表,结点结构为:假设该

23、链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data值,并返回1;否则,只返回0。要求:(1)描述算法的基本设计思想。(2)根据设计思想,采用C程序设计语言描述算法,关键之处请给出简要注释。8利用二叉树递归遍历算法,编写统计二叉树中叶子结点数目的算法。二叉树采用二叉链表存储的类型定义如下:typedef char datatype;typedef struct Node datatype data; struct Node *lchild,*rchild; BiTree;9设二叉排序树按照二叉链表存储,编写算法InsertBST(BSTree *&bst, KeyType k)在二叉排序树中插入一个结点。二叉排序树的链式存储结构的类型定义如下:typedef int KeyType;typedef struct Node KeyType key; struct Node *lchild,*rchild; BSTree;

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

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