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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构本期末综合练习.docx

1、数据结构本期末综合练习数据结构期末综合练习2012年12月期末练习一一、单项选择题1. 一种逻辑结构在存储时( )。 A只要存储数据元素间的关系 B只能采用一种存储结构 C可采用不同的存储结构 D只要存储数据元素的值 2同一种逻辑结构( )。 A只能有唯一的存储结构 B可以有不同的存储结构 C只能表示某一种数据元素之间的关系 D以上三种说法均不正确3 .对链表, 以下叙述中正确的是( )。A不能随机访问任一结点 B结点占用的存储空间是连续的 C插入删除元素的操作一定要要移动结点 D可以通过下标对链表进行直接访问 4链表所具备的特点是( )。A可以随机访问任一结点 B占用连续的存储空间C插入删除

2、元素的操作不需要移动元素结点 D可以通过下标对链表进行直接访问5线性表在存储后,如果相关操作是:要求已知第i个结点的位置访问该结点的前驱结点,则采用( )存储方式是不可行的。A单链表 B双链表 C单循环链表 D顺序表 6数据的物理结构( )。 A与数据的逻辑结构无关 B仅仅包括数据元素的表示C只包括数据元素间关系的表示 D包括数据元素的表示和关系的表示7栈和队列的共同特点是( )。 A都是先进后出 B元素都可以随机进出C只容许在端点处插入和删除元素 D都是先进先出 8线性结构中数据元素的位置之间存在( )的关系。 A一对一 B一对多9元素2,4,6,8按顺序依次进栈,按该栈的的可能输出序列依次

3、入队列,该队列的可能输出序列是( )(进栈出栈可以交替进行)。 A8,6,2,4 B8,4,2,6 C6,2,4,8 D8,6,4,2 10以下表中可以随机访问的是( )。 A单向链表 B双向链表 C单向循环链表 D顺序表11在一个不带头结点的链队中,假设f和r分别为队头和队尾指针,则从该对列中删除一 个结点并把结点的值保存在变量x中的运算为( )。 Ax=rdata;r=rnext; Br=rnext; x=rdata Cx=fdata;f=fnext; Df=fnext; x=fdata 12算法的时间复杂度与( )有关。 A所使用的计算机 B与计算机的操作系统 C与算法本身 D与数据结构

4、13设有一个20阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则数组中第38号元素对应于矩阵中的元素是( )。 Aa10,8 Ba7,6 Ca9,2 Da8,5 14设有一个长度为n的顺序表,要删除第i个元素需移动元素的个数为( )。 An-i+1 Bn-i Cn-i-1 Di 15在C语言中,分别存储 “S”和s,各需要占用( )字节。 A一个和两个 B两个 C一个 D两个和一个 16在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用的语句是( )。 Ap=q-next Bp-

5、next=q Cp-next=qnext Dq-next=NULL17一棵有n个结点,采用链式存储的二叉树中,共有( )个指针域被有效使用(即指针域为非空)。 An+1 Bn Cn-1 Dn-2 18从一个栈顶指针为top的链栈中删除一个结点时,用变量x保存被删结点的值,则执行( )。 Ax=top-data; top=top-next; Bx=top-data; Ctop=top-next; x=top-data; Dtop=top-next; x=data;19在一棵二叉树中,若编号为i的结点存在双亲结点,则双亲结点的顺序编号为( )。 Ai/2.0 Bi/2向下取整 C2i+1 Di+2

6、 20在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为( )。 Ar=f-next; Br=r-next; Cf=f-next; Df=r-next;21设一棵哈夫曼树共有2n+1个结点,则该树有( )个非叶结点。 An Bn+1 Cn-1 D2n 22一个栈的进栈序列是a,b,c,d,e,则栈的不可能输出序列是( )(进栈出栈可以交替进行)。Adceab Bedcba Cdecba Dabcde 23一棵完全二叉树共有4层,且第4层上有2个结点,该树共有( )个非叶子结点(根为第一层)。 A5 B4 C3 D9 24有一个长度为10的有序表,按折半查找对该表进行查找,在等

7、概率情况下查找成功的平均比较次数为( )。A26/10 B29/10 C29/9 D31/1025如图1所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。 Aabedfc Bacfebd Caebcdf Daebcfd 图126排序算法中,从未排序序列中依次取出元素与已排序序列(初始为空)中的元素进行比较(要求比较次数尽量少),然后将其放入已排序序列的正确位置的方法是( )。 A冒泡 B直接插入 C折半插入 D选择排序27一组记录的关键字序列为(56,30,89,66,48,50,94,87,100),利用快速排序,以第一个关键字为分割元素,经过一次划分

8、后结果为( )。 A30,50,48,56,66,89,94,100,87 B 50,30,48,56,66,89,94,87,100 C48,30,50,56,66,89,94,87,100 D50,30,48,66,56,89,94,87,100 28设有一个10阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主存储到一维数组B中(数组下标从1开始),则矩阵中元素A8,5在一维数组B中的下标是( )。A33 B32 C85 D4129线性表以( )方式存储,能进行折半查找。 A关键字有序的链接 B顺序 C关键字有序的顺序 D数组 C多对多 D每一个元素都有一个直接前驱和一个直接后

9、继 30在一个无向图中,所有顶点的度数之和等于边数的( )倍。 A3 B2.5 C1.5 D2二、填空题1. 数据的逻辑结构在计算机中的表示称为_结构。 2栈和队列的操作特点分别是_ _和 _ _。3. 求两个n阶矩阵的乘积,算法的基本操作为_,时间复杂度为 _。 4结构中的数据元素存在多对多的关系称为_ _结构。5 设有一个长度为25的顺序表,第8号元素到第25号元素依次存放的值为8,9,10,11,25, 某人想要在第8个元素前插入1个元素7(也就是插入元素作为新表的第8个元素),他 的做法是从第8号元素开始,直到第25号元素依次向后移动1个位置,然后把7存放在 8号位置,其结果是新表中第

10、25号元素的值为_ 。 6根据数据元素间关系的不同特性,通常可分为集合、线性、 、 四类基本结构。7在双向链表中,要在p所指的结后插入q所指的结点(设q所指的结点已赋值),其中所用的一条语句(p-next)-prior=q; 的功能是使P所指结点的_指向q 。 8要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。则比较的次数和算法的时间复杂度分别为_和 _ 。9设有一个带头结点的,头指针为head的单向链表,p指向表中某一个结点,且有p-next= =NULL,现要删除头结点,并使该单向链表构造成单向循环链表,通过操作head=head-next; _。 10在一个单向链表中p

11、所指结点之后插入一个s所指向的结点时,应执行_ _ _和p-next=s;的操作。11从一个栈顶指针为top的链栈中删除一个结点时,用d保存被删结点的值,可执行_。(结点的指针域为next,数据域为data) 12在二叉树的链式存储结构中,通常每个结点中设置三个域,它们是值域 、 。13 循环链队列中,设front和rear分别为队头和队尾指针,(最多元素为MaxSize,采用少用一 个元素的模式),判断循环链队列为满的条件为_ 。14一棵二叉树中顺序编号为i的结点,若它存在左、右孩子,则左、右孩子编号分别为_、_。15对稀疏矩阵进行压缩存储,可采用三元组表,一个6行7列的稀疏矩阵A相应的三元

12、组 表共有8个元素,则矩阵A共有_个零元素。 16向一个栈顶指针为h的链栈中插入一个s所指结点时,可执行s-next=h;和_。17.一棵有20个结点的4度的树,其中3度结1个,2度结1个,1度结2个,则该树共有 _个叶结点。 18在一个链队中,设f和r分别为队头和队尾指针,则插入s所指结点的操作为_和r=s; (结点的指针域为next)19一棵有18个结点的二叉树,其2度结点数的个数为8,则该树共有 _个1度结点 20设有一棵深度为4的完全二叉树,第四层上有5个结点,该树共有_个结点。(根所在结点为第1层)21如图2所示的二叉树,其先序遍历序列为_。 图222对稀疏矩阵进行压缩存储,矩阵中每

13、个非零元素对应的三元组包括该元素的_、_ _和_ _三项信息。23在查找表中,通过记录的某关键字能唯一地确定一个记录,该关键字称为_。 24在对一组记录(55,39,97,22,16,73,65,47,88)进行直接插入排序时,当把第7个记录65插入到有序表时,为寻找插入位置需比较_次。三、综合题 1(1)对给定权值3,1 ,4,4,5,6,构造深度为5的哈夫曼树。(设根为第1层) (2) 求树的带权路径长度。(3)链接存储上述哈夫曼树,结点中共有多少个个指针域为空,说明理由.2 (1)以2,3,4,7,8,9作为叶结点的权,构造一棵哈夫曼树( 要求每个结点的左子树根结点的权小于等于右子树根结

14、点的权),给出相应权重值叶结点的哈夫曼编码。(2) 一棵哈夫曼树有n个叶结点,它一共有多少个结点?简述理由?3. (1) 如下的一棵树,给出先序遍历序列 (2) 把1,2,3,4,5,6,7,8,9填人,使它成为一棵二叉排序树 提示:设图中的树是二叉排序树,找出中序遍历序列与 1,2,9的对应关系 (3) 请在该树中再插入一个结点3.5作为叶结点,并使它仍然是一棵二叉排序树。 图34一组记录的关键字序列为(46,79,56,38,40,84)(1)利用快速排序的方法,给出以第一个记录为基准得到的一次划分结果(给出逐次交换元素的过程,要求以升序排列)(2)对上述序列用堆排序的方法建立大根堆,要求

15、以二叉树逐次描述建堆过程。5设查找表为(5,6,7,8,9,10,11,12,13,14) (1)画出对上述有序表进行折半查找所对应的判定树(要求以数据元素作为树结点) (2) 给出二叉排序树的定义,针对上述折半查找所对应的判定树的构造过程,说明判定树 是否是二叉排序树(设树中没有相同结点)?(3) 为了查找元素5.5,经过多少次元素间的比较才能确定不能查到?6设查找表为(50,60,75,85,96,98,105,110,120,130) (1) 说出进行折半查找成功查找到元素120需要进行多少次元素间的比较?(2) 为了折半查找元素95,经过多少次元素间的比较才能确定不能查到?(3)画出对

16、上述有序表进行折半查找所对应的判定树(要求以数据元素作为树结点)四、程序填空题1以下函数为直接选择排序算法,对a1,a2,an中的记录进行直接选择排序,完成程序中的空格typedef struct int key;NODE; void selsort(NODE a,int n) int i,j,k; NODE temp; for(i=1;i= _(1)_;i+) k=i; for(j=i+1;j= _(2)_;j+) if(aj.keyak.key) _(3)_; if(i!=k) temp=ai; _(4)_; _(5)_; 2以下是用尾插法建立带头结点且有n个结点的单向链表的程序,结点中的

17、数据域从前向后依次为1,2,3,n,完成程序中空格部分。NODE *create(n)NODE *head , *p, *q; int i; p=(NODE*)malloc(sizeof(NODE);head= (1) ; (2) ;pnext=NULL; /*建立头结点*/for(i=1; idata;while (q-next!=NULL)q=q-next; _(1)_ q=p; p=p-next;while(p-data!=x) q=p;_(2)_(3)_ 4以下程序是中序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为left和right,数据域data为字符

18、型,BT指向根结点)。void Inorder (struct BTreeNode *BT) if(BT!=NULL) (1) ; (2) ; (3) ; 期末复习一答案一、单项选择题1C 2B 3A 4C 5A 6D 7C 8A 9D 10D 11C 12C 13C 14B 15D 16C 17C 18A 19B 20C 21A 22A 23B 24B 25C 26C 27B 28A 29C 30D二、填空题1物理(存储)2后进先出、先进先出3乘法 O(n3) 4图状 (网状)586树形 图状 7 直接前驱的左指针 8n-1,O(n) 、9 p-next= head;10s-next=p-n

19、ext;11d=top-data;top=top-next;12左指针 右指针13front= =(rear+1)% MaxSize142i 2i+1153416h=s; 1713 18r-next=s;1912012 2121534789622行下标、列下标、非零元素值23主关键字243三、综合应用题1. (1) 图4(2) WPL=3*4+1*4+4*3+6*2+4*2+5*2=58(3) 共11个结点,22个指针域,除根结点外,每个结点对应一个指针域.,共10个指针域非空,故 有 22-10=12个空指针域, 2 (1)图5 2:11103: 11114:1107:008:019:10(

20、2)2n-1个,因为非叶结点数比叶结点数少一个。3 .(1) A1 A2 A4 A7 A8 A5 A9 A3 A6 (2) (3) 图64(1)初始序列 46,79,56,38,40,8440,79,56,38,40,8440,79,56,38,79,8440,38,56,38,79,8440,38,56,56,79,8440,38,46,56,79,84(2) 图65.(1) 图7(2) 二叉排序树或者是一棵空树,或者是一棵具有下列性质的二叉排:若它的左子树 非空,则左子树的所有结点的值都小于它的根结点的值;若它的右子树非空,则右子 树的所有结点的值都大于(若允许结点有相同的值,则大于等于)

21、它的根结点的值; 左,右子树也是一棵二叉排序树,按定义判定树是二叉排序树。 (3) 3次6 (1)3次 (2)4次 (3)图8 四、程序填空题1(1)n-1(2)n(3)k=j(4)ai=ak(5)ak=temp2 (1)p(2)q=p(3)(NODE*)malloc(sizeof(NODE)(4)p(5)q=p3.(1) q-next=head;(2) p=p-next;(3) q-next=p-next;4 (1)Inorder(BT-left)(2)printf(“%c”,BT-data)(3) Inorder(BT-right)期末练习二一、单项选择题1 .结构中的元素之间存在一对多的

22、关系是( )。 A集合 B线性结构 C树形结构 D图状结构 2在C语言中,顺序存储长度为3的字符串,需要占用( )个字节。 A4 B3 C6 D123 .对不带头结点的单向链表,判断是否为空的条件是( )(设头指针为head)。Ahead=NULL Bhead-next= =NULL Chead-next= =head Dhead =NULL 4串函数StrCat(a,b)的功能是进行串( )。 A比较 B复制 C赋值 D连接5. 在一个不带头结点的单循环链表中,p、q分别指向表中第一个结点和尾结点,现要删除第一个结点,可用的语句是( )。 Ap=q-next; p=p-next; Bp-ne

23、xt=q ; p=p-next; Cp-next=q-next;q=p; Dp=p-next; q-next=p; 6一棵有n个结点采用链式存储的二叉树中,共有( )个指针域为空。 An+1 Bn Cn-1 Dn-27一个栈的进栈序列是1,2,3,4,5,则栈的不可能输出序列是( )(进栈出栈可以交替进行)。A12345 B43512 C45321 D54321 8设一棵哈夫曼树共有n个非叶结点,则该树有( )个叶结点。 An Bn+1 Cn-1 D2n9一个队列的入队序列是2,4,6,8,按该队列的输出序列使各元素依次入栈,该栈的可能输出序列是 ( )。 A8,6,4,2 B6,2,4,8

24、C8,4,2,6 D8,2,4,6 10从一个栈顶指针为top的链栈中删除一个结点时,用变量x保存被删结点的值,则执行( )。 Ax=top-data; top=topnext; Bx=top-data; Ctop=top-next; x=top-data; Dtop=top-next; x=data;11在一个链队中,假设f和r分别为队头和队尾指针,已生成一个结点p,要为结点p赋 值x,并入队的运算为( )。 A . p-data=x; p-next=NULL; f-next=p; f=p; B p-data=x; p-next=NULL ;r-next=p;r=p; C p-data=x;

25、 p-next=r;r=s; D p-data=x; p-next=f;f=s; 12一棵完全二叉树共有5层,且第5层上有六个结点,该树共有( )个结点。 A30 B20 C21 D2313设有一个25阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a7,6在一维数组B中的下标是( )。A34 B14 C26 D27 14在一个无向图中,所有顶点的度数之和等于边数的( )倍。 A3 B2.5 C1.5 D215.以下程序段的结果是 c的值为( )。char a5= “1236789”, int *p=a, int c=0; wh

26、ile(*p+)c+; A8, B7 C10 D12 16已知如图1所示的一个图,若从顶点V1出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。 AV1V2V4V8V5V3V6V7 BV1V2V4V5V8V3V6V7CV1V2V4V8V3V5V6V7 DV1V3V6V7V2V4V5V8 图117一棵有23个结点,采用链式存储的二叉树中,共有( )个指针域为空。 A24 B25 C23 D45 18已知如图2所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。 Aabcedf Babcefd Caebcfd Dacfdeb 图219在一棵二叉树中,若编号为i的结点是其双亲结点的左孩子,则双亲结点的顺序编号为( )。 Ai/2 B2i-1 C2i+1 Di/2 -1 20对二叉排序树进行( )遍历,可以使遍历所得到的序列是有序序列。 A按层次 B后序 C中序 D前序21设一棵哈夫曼树共有2n+1个叶结点,则该树有( )个叶结点。 An-1 Bn Cn+1 D2n 22在有序表2,4,7,14,34,43,47,64,75,80,90,97,120中,用折半查找法查找值80时,经( )次比较后查找成功。A4 B2 C3 D523已知如图3所示的一个图,若从顶点a出发,按深度优先搜索法进行遍历,则可能

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

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