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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构模拟试题.docx

1、数据结构模拟试题模拟试题1、选择题(共10题,每题1分,共10 分)1.下面关于线性表的叙述中,错误的是哪一个?( )A.线性表采用顺序存储,必须占用一片连续的存储单元B.线性表采用顺序存储,便于进行插入和删除操作C.线性表采用链接存储,不必占用一片连续的存储单元D.线性表采用链接存储,便于插入和删除操作2.s所指结 在一个单链表中,已知q所指结点是p所指结点的前驱,若在p和q之间插入 点,则执行的操作是( )。A.s-n ext=p-n ext;p-n ext=s;B.q-n ext=s;s-n ext=p;C.p-n ext=s-n ext;s-n ext=p;D.p-n ext=s;s-

2、n ext=q;3.设有三个元素 X Y,Z顺序进栈,下列得不到的出栈排列是 ()。A.XYZ B. YZX C. ZXY D. ZYX4.若用一个长度为6的数组来实现循环队列,且当前 rear和front的值分别为 则从队列中删除一个元素,再增加两个元素后, rear和front的值分别是(A.1 和 5 B . 2 和 4 C . 4 和 2 D. 5 和 15.下列说法中正确的是( )。6.二叉树中不存在度大于 2的结点二叉树就是度为 2的树 B9. 对17个元素的查找表做折半查找,则查找长度为 5的元素下标依次是(A. 8,17 B. 5,10,12 C . 9,16 D . 9,17

3、10. 关于排序,下列说法中正确的是( )。A.稳定的排序方法优于不稳定的排序方法,因为稳定的排序方法效率较高B.在顺序表上实现的排序方法在链表上也可以实现C.在链表上可以实现简单选择排序,但是难以实现堆排序D.就平均性能而言,堆排序最佳、填空题(共10空,每空2分,共20分)1.计算机执行下面的语句时,语句 s的执行次数为 。for(i=l ; i=i;j-) s;2. 队列是限制插入只能在表的一端, 而删除在表的另一端进行的线性表, 其特点是3.数组A0.5,0.6 的每个元素占五个字节,将其按列优先次序存储在起始地址为的内存单元中,则元素 A5,5的地址是 。4. 一棵有124个叶子结点

4、的完全二叉树,最多有个 结点。5. N个顶点的无向连通图若要存在回路,则至少需要 条边。6. 对于一棵二叉排序树做 遍历,可以得到一个有序的序列。7. 进行折半查找的两个先决条件是查找表中数据有序和 。& 按12,24,36,90,52,30 的顺序构成的平衡二叉树,其根结点是 。9. 时间复杂度为 O(nlg 2n)且稳定的排序算法是 排序。10. 快速排序在 情况下会蜕变成为冒泡排序。三、应用题(共5题,每题10分,共50分)1. 设一棵二叉树的先序遍历序列: A B D F C E G H 中序遍历序列: B F D A G E H C(1)画出这棵二叉树。(2 )将这棵二叉树转换成对应

5、的树(或森林) 。2. 给定一组数列(15,8,10,21,6,19,3 )分别代表字符 A,B,C,D,E,F,G 出现的频度,画出Huffman树,并给出各字符的 Huffman编码。3.根据Prim算法或Kruskal算法,求右图的最小生成树。4某一工程作业的网络图如右图所示,其中箭头表示作业,箭头边的数字表示完成作业所 需的天数。箭头前后的圆圈表示事件的编号。 求出所有事件开始的最早时间和最晚时间,并给出关键路径。5 .设哈希函数 H( k ) =3*K mod 11,散列地址空间为010,对关键字序列 (32,13,49,24,38,21,4,12 )按线性探测再散列的方法解决冲突,

6、构造哈希表,并求出等概率下查找成功时的平均查找长度四、程序设计题(共2题,共20分)1. 设有两条带头结点单链表 La和Lb,且表中的数据有序递增。现要将两条单链表合并成 为一条单链表Lc,并使Lc中的数据有序递减.。试写算法来实现,并说明算法的时间复 杂度。2. 写算法判断两棵二叉树是否相似。 相似的条件是:要么它们都为空或者都只有一个根结 点,要么它们的左右子树均相似。试题参考答案选择题 1-5 BACBB 6-10 CDCAC填空题1(n+3)( n-2)/22 FIFO311754 2485N-16中序遍历7顺序存储8 369归并排序10数据基本有序操作题1、3、4、 略5、散列地址0

7、12345678910关键字412493813243221比较次数11121212ASLsucc = ( 1 + 1+1+2+1+2+1+2) /8=11/8算法设计1 void Merge (LinkedList la , Linklist lb ) pa=La-n ext;pb=Lb-n ext;Lc =La;while(pa&pb) if(pa_datadata)Lc- n ext=pa; Lc=pa;pa=pa-n ext; elseLc- n ext=pb; Lc=pb;pb=pb-n extLc-n ext=pa?pa:pb; free(Lb);2 status sam(BiTre

8、e Ta, BiTree Tb) / 判断相似 if (!Ta & !Tb) return OK;else if ( Ta&!Tb | !Ta&Tb) return False; else p=same(Ta-lchild,Tb-lchild); if(p) p= same(Ta-rchild,Tb-rchild);return p;/结束模拟试题2一、选择题(共10题,每题1分,共10分)1.下面关于线性表的叙述中,错误的是哪一个?( )A.线性表采用顺序存储,必须占用一片连续的存储单元。B.线性表采用顺序存储,便于进行插入和删除操作。C.线性表采用链接存储,不必占用一片连续的存储单元。D.

9、线性表采用链接存储,便于插入和删除操作。2.在双向链表指针p的结点前插入一个指针 q的结点操作是( )。A.p-prior=q ;q_n ext=p;p-prior- n ext=q;q-prior=q ;B.p-prior=q;p-prior- n ext=q; q-n ext=p;q-prior=p-prior;C.q-n ext=p;q-prior=p-prior;p-prior- n ext=q;p-prior=q;D.q-prior=p-prior;q-n ext=q;p-prior=q;p-prior=q;3.设有三个元素 X, Y, Z顺序进栈(进的过程中允许出栈) ,下列得不到

10、的出栈排列是()。A.XYZ B. YZX C. ZXY D. ZYX4.递归过程或函数调用时,处理参数及返回地址,要用一种称为( )的数据结构。A.队列 B .多维数组 C .栈 D. 线性表5.循环队列存储在数组 A中,数组长度为 m,则入队时的操作为( )。A. rear=rear+1 B. rear=(rear+1) % (m-1)C. rear=(rear+1) % m D. rear=(rear+1) % m6.数组A0.5,0.6 的每个元素占五个字节,将其按列优先次序存储在起始地址为 1000的内存单元中,则元素 A5 , 5的地址是()。&一棵非空的二叉树的先序遍历序列与中序

11、遍历序列正好相同,则该二叉树一定满足1.计算机执行下面的语句时,则其复杂时间度为 0( )。for(i=l ; i=1;j-) s;2.栈的数据进出特点是 。3.在顺序表中做插入和删除操作,移动元素的个数大约等于表程长度的 。4.深度为5的完全二叉树,其结点至少有_个,至多有_个。5. 对一棵完全二叉树按照层次编号, 编号为i (i1 )的结点的双亲结点的编号是 6.对于一棵二叉排序树做 遍历,可以得到一个有序的序列。7.己知有序表为(12,18,24,35,47,50,62,83,90,115 ,134)当用二分法查找时,第二次查找即查找成功的数据是 或 。&归并排序算法的时间复杂度为 。三

12、、操作题(共5题,每题10分,共50分)1.设一棵二叉树的先序、中序遍历序列分别为,先序遍历序列: A B D F C E G H 中序遍历序列:B F D A G E H C ,画出这棵二叉树。2. 给定集合1,2,3,4,5,6,试构造一棵哈夫曼树。3.根据普利姆算法或克鲁斯卡尔算法,求它的最小生成树。4.5.设一数组中原有数据如下: 15,13,20,18,12,60。试写出每一趟快速排序的结果。四、程序设计题(共2题,共20分)1.设有一个无序单链表,删除单链表中第 i个元素,写算法实现。2.写出希尔排序的算法。1 (n+3)( n-2)/23 2 _丄5 2 67 3 8试题参考答案

13、选择题 1-5 BCCCD 6-10 ABADB填空题2FIFO 42 二 2 k-1中序遍历 归并操作题1、3、A2ADF3AD32AD3GB3G2D4CAD CB33G12、wpl=51散列地址01234578g10111213141516关键宇AprAugBeeFebJanMarMayJun丁讥SepOctNov比较次数12111i245256b=13AA IAAAAA0123456789AprAugAJunMayANevAJul 人4、a: ASLsucc=31/125快速排序算法设计 (2) b: ASGcc=18/121 void Mini Value ( Lin kedList

14、la )/ la是数据域为正整数且无序的单链表,本算法查找最小值结点且打印。若最小值结点的 数值是奇数,则与后继结点值交换;否则,就删除其直接后继结点。p=la-next ; /设la是头结点的头指针,p为工作指针。pre=p ; / pre指向最小值结点,初始假定首元结点值最小。while (p-next!=null ) / p-next 是待比较的当前结点。 if (p_next-datadata ) pre=p-next ;p=p-next ; /后移指针printf (最小值=%dn”, pre-data );if (pre-data%2!=0 ) /处理奇数if (pre- next

15、!=null )/若该结点没有后继,则不必交换t= pre-data ; pre-data=pre-next-data ; pre-next-data=t ; 交换完毕else /处理偶数情况 if (pre- next!=null )/若最小值结点是最后一个结点,则无后继u=pre-next ; pre-next=u-next ; free (u); 释放后继结点空间2 void Count(BiTree bt, int *n0,*n)/ 统计二叉树 bt上叶子结点数 n0和非叶子结点数 nif (bt)if (bt-lchild=null & bt-rchild=nuII) *n0+ ;

16、/ 叶子结点else *n+; / 非叶结点Cou nt(bt-lchild, &n 0,&n);Cou nt(bt-rchild, &n 0,&n); / 结束 Cou nt模拟试题3、选择题共10题,每题1分,共10分)1.若栈采用顺序存储方式存储,现两栈共享空间 V1.m , topi代表第i个栈(i =1,2)栈顶,栈1的底在v1,栈2的底在Vm,则栈满的条件是( )。A. |top1-top2|=1 B. top1+1=top2C. top1+top2=m D. top1=top22.用链接方式存储的队列,在进行插入运算时 ().A.仅修改头指针 B. 头、尾指针都要修改C.仅修改尾

17、指针 D. 头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构? ()6.)的数据结构。递归过程或函数调用时,处理参数及返回地址,要用一种称为(A.队列 B .多维数组 C .栈 D. 线性表7.若有18个元素的有序表存放在一维数组 A19中,第一个元素放 A1中,现进行二分查找,则查找A :3的比较序列的下标依次为 ( )B.A. 1 , 2, 39, 5, 2, 3C.9, 5, 3 D. 9, 4, 2, 38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. p-Lli nk=q;q-Rli nk=p;p-Lli nk-Rli nk=q;q-Lli nk=qB.p-

18、Lli nk=q;p-Lli nk-Rli nk=q;q-Rli nk=p;q-Lli nk=p-Lli nk;C.q-Rli nk=p;q-Lli nk=p-Lli nk;p-Lli nk-Rli nk=q;p-Lli nk=q;D. q-Lli nk=p-Lli nk;q-Rli nk=q;p-Lli nk=q;p-Lli nk=q; 序二、填空题(共10空,每空2分,共20分)1.若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针。在这种存储结构中,n个结点的二叉树共有 个指针域,其中有 个指针域是存放了地址,有 个指针是空指针。2. 循环队列的引入,目的是为

19、了克服 。3.对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点分别有 个和 个。4.已知完全二叉树的第 4层有3个叶子结点,则整个二叉树最多有 结点。5. 二叉树的后序遍历序列与中序遍历序列相同,则此二叉树 。6. n个顶点的连通无向图,其边的条数至少为 _。7对二叉排序树进行 遍历,可以得到该二叉树所有结点构成的有序序列。、应用题(共6题,共48分)1有一份电文中共使用 5个字符:a, b, c, d, e,它们的出现频率依次为 4, 7, 5, 2, 9。 试构造对应的Huffman树(按照左子树根结点的权小于等于右子树根结点的权的次序构造 ),并求出每个字符的

20、 Huffman编码和树的带权路径长度。2. 已知一棵二叉树的前序遍历的结果是 ABDFCEGH,中序遍历的结果是 BFDAGEHC,试 画出这棵二叉树。3. 已知一个无向图如下图所示,用 Prim或者Kruskal算法生成最小树(假设以为起点, 试画出构造过程)。20104 .判别以下序列是否是堆(大顶堆) ,如果不是,则把它调整为堆。 (12 , 70, 33, 65,24, 56, 48, 92, 86, 33)5.设一个散列表下标从0到18 ,采用二次探测法解决冲突。请将关键字 19,1,23,14,55,20,84,27,68,11,10,77采用哈希函数。H(key)=key%13

21、将各关键码映像到表中。并给出在等概率情况 下查找成功时的平均查找长度。6.请阅读下列算法,回答问题void sort (r, n) FOR(i=2 ;i= n;i+ ) x=r(i) ; r(O)=x ; j=i-1 ;WHILE ( x.keyr(j).key )r(j+1):=r(j); j:=j-1;r(j+1)=x 问题一:这是什么类型的排序算法,该排序算法稳定吗?问题二:设置r(O)的作用是什么?若将 WHILE语句中判断条件改为 x.key=r(j).KEY, 该算法将会有什么变化,是否还能正确工作?三、算法题(共2题,共12分)1.设单链表的表头指针为 h,结点结构由data和n

22、ext两个域构成,其中data域为字符型。 写出算法dc(h,n),判断该链表的前n个字符是否中心对称。 例如xyx, xyyx都是中心对称。2以下程序是二分查找的递归算法。,请填空使之完善。Int Binsch(ElemType A,int low,int high,KeyType K)if int mid=(low+high)/2;)return mid; /if ( else if (KAmid.key)return Bin sch(A,low,mid-1,K); /else return else ; / ; 试题参考答案选择题 1-5 DDDDC 6-10 CDCBC填空题1 i/2

23、 2i 2i+12解决空间和入队操作间的矛盾32e e4查找成功,返回元素的下标在左子表上继续查找;/ 在右子表上继续查找查找失败,返回-125 5所有结点都没有左子树6n-17中序操作题比较次数312123113111ASL succ =20/126、(1)此为直接插入排序算法,该算法稳定。rO 的作用是监视哨,免去每次检测文件是否到尾,提高了排序效率。采用x.keylchild=null & bt-rchild!=null| bt-lchild!=null &bt-rchild=n ull) *n+ ;Cou nt(bt-lchild,&n0,&n);Cou nt(bt-rchild,&n 0,&n); / 结束 Cou nt2low=highAmid.key= =kBin sch(A,mid+1,high,k)return -1return mid

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

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