c语言数据结构试题模拟试卷.doc
《c语言数据结构试题模拟试卷.doc》由会员分享,可在线阅读,更多相关《c语言数据结构试题模拟试卷.doc(21页珍藏版)》请在咨信网上搜索。
1、模拟试卷一一、 单选题(每题 2 分,共20分)1. 以下数据结构中哪一个是线性结构?( B ) A. 有向图 B. 队列 C. 线索二叉树 D. B树2. 在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下( )语句序列。 A. p=q; p-next=q; B. p-next=q; q-next=p; C. p-next=q-next; p=q; D. q-next=p-next; p-next=q;3. 以下哪一个不是队列的基本运算?( ) A. 在队列第i个元素之后插入一个元素 B. 从队头删除一个元素 C. 判断一个队列是否为空 D.读取队头元素的
2、值4. 字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( )个不同的字符串? A.14 B.5 C.6 D.85. 由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。EAGCBDF图1A 11 B.35 C. 19 D. 53以下6-8题基于图1。6. 该二叉树结点的前序遍历的序列为( )。A. E、G、F、A、C、D、B B. E、A、G、C、F、B、DC. E、A、C、B、D、G、F D. E、G、A、C、D、F、B7. 该二叉树结点的中序遍历的序列为( )。A. A、B、C、D、E、G、FB. E、A、G、C、F、B、D C. E、
3、A、C、B、D、G、F E.B、D、C、A、F、G、E 8. 该二叉树的按层遍历的序列为( )。 AE、G、F、A、C、D、B B. E、A、C、B、D、G、F C. E、A、G、C、F、B、D D. E、G、A、C、D、F、B9. 下面关于图的存储的叙述中正确的是( )。 A用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关 B用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关 C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关 D用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关10. 设有关键码序列(q,g,m,z
4、,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?( ) A. a,g,h,m,n,p,q,x,z B. a,g,m,h,q,n,p,x,z C. g,m,q,a,n,p,x,h,z D. h,g,m,p,a,n,q,x,z二、 填空题(每空1分,共26分)1. 数据的物理结构被分为_顺序_、_链表_、_索引_和_散列_四种。2. 对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为_ O(n)_,在表尾插入元素的时间复杂度为_ O(1)_。3. 向一个由HS指向的链栈中插入一个结点时p时,需要执行的操作是_ p-next=HS _;删除一个结点时,需要执行的操作是
5、_HS=p HS=HS-next_(假设栈不空而且无需回收被删除结点)。4. 对于一棵具有n个结点的二叉树,一个结点的编号为i(1in),若它有左孩子则左孩子结点的编号为_2i_,若它有右孩子,则右孩子结点的编号为_2i+1_,若它有双亲,则双亲结点的编号为_i/2_。5. 当向一个大根堆插入一个具有最大值的元素时,需要逐层_向上_调整,直到被调整到_根_位置为止。6. 以二分查找方法从长度为10的有序表中查找一个元素时,平均查找长度为_2.9_。7. 表示图的三种常用的存储结构为_邻接矩阵_、_邻接表 _和_边集数组_。8. 对于线性表(70,34,55,23,65,41,20)进行散列存储
6、时,若选用H(K)=K %7作为散列函数,则散列地址为0的元素有_1_个,散列地址为6的有_4_个。9. 在归并排序中,进行每趟归并的时间复杂度为_O(n)_,整个排序过程的时间复杂度为_O(nlog2n)_,空间复杂度为_O(n)_。10. 在一棵m阶B_树上,每个非树根结点的关键字数目最少为_m/2-1_个,最多为_m-1_个,其子树数目最少为_m/2_,最多为_m_。三、 运算题(每题 6 分,共24分)1. 图2写出下列中缀表达式的后缀形式:(1) 3X/(Y-2)+1 3 x * Y 2 - / 1 +(2) 2+X*(Y+3) 2 X Y 3 + * +2. 试对图2中的二叉树画出
7、其:(1) 顺序存储表示的示意图;(2) 二叉链表存储表示的示意图。4. 已知一个图的顶点集V和边集E分别为: V=1,2,3,4,5,6,7; E=(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15,(3,5)12,(3,6)9,(4,6)4, (4,7)20,(5,6)18,(6,7)25; 按照普里姆算法从顶点1出发得到最小生成树,试写出在最小生成树中依次得到的各条边。(1,2)3, (1,3)5, (1,4)8, (4,6)4, (2,5)10, (4,7)20四、 阅读算法(每题7分,共14分)1. void AE(Stack& S) InitSt
8、ack(S); Push(S,3); Push(S,4); int x=Pop(S)+2*Pop(S); Push(S,x); int i,a5=1,5,8,12,15; for(i=0;i5;i+) Push(S,2*ai); while(!StackEmpty(S) coutPop(S)left,c1,c2); c1+; if (BT-left=NULL&BT-right=NULL) c2+; ABC(BT-right,c1,c2); /if 该函数执行的功能是什么?统计出BT所指向的二叉树的结点总数和叶子总数五、 算法填空(共8分)向单链表的末尾添加一个元素的算法。Void Insert
9、Rear(LNode*& HL,const ElemType& item)LNode* newptr;newptr=new LNode;If (_newptr=NULL_)cerrMemory allocation failare!=data _=item;newptr-next=NULL;if (HL=NULL) HL=_ newptr_;elseLNode* P=HL;While (P-next!=NULL) _p=p-next_;p-next=newptr; 六、 编写算法(共8分)编写从类型为List的线性表L中将第i个元素删除的算法,(假定不需要对i的值进行有效性检查,也不用判别L是
10、否为空表。)void Delete(List& L, int i) for(int j=i-1;jnext=HS;HS=p HS=HS-next4. 2i 2i+1 i/2(或i/2)5. 图3向上 根6. 2.97. 邻接矩阵 邻接表 边集数组8. 1 49. O(n) O(nlog2n) O(n)10. m/2-1 m-1 m/2 m 三、 运算题(每题6分,共24分)1. (1) 3 X * Y 2 - / 1 + (2) 2 X Y 3 + * + 2. (1)012345678910111213141516123456789 (2)见图3所示: 3. (1)不是小根堆。调整为:12,
11、65,33,70,24,56,48,92,86,33 (2)是小根堆。 4. 普里姆算法从顶点1出发得到最小生成树为:(1,2)3, (1,3)5, (1,4)8, (4,6)4, (2,5)10, (4,7)20四、 阅读算法(每题7分,共14分)1. 30 24 16 10 2 102. 该函数的功能是:统计出BT所指向的二叉树的结点总数和叶子总数 五、 算法填空(共8分,每一空2分)newptr=NULL newptr-=data newptr p=p-next六、 编写算法(8分) void Delete(List& L, int i) for(int j=i-1;jnext=HL;
12、B. p-next=HL-next; HL-next=p; C. p-next=HL; p=HL; D. p-next=HL; HL=p; 2. 2. 若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储( )个元素. A. n B.n-1 C. n+1 D.不确定3. 3. 下述哪一条是顺序存储方式的优点?( ) A存储密度大 B.插入和删除运算方便 C. 获取符合某种条件的元素方便 D.查找运算速度快4. 4. 设有一个二维数组Amn,假设A00存放位置在600(10),A33存放位置在678(10),每个元素占一个空间,问A23(10)存放在什么位置?(脚注(10)表示
13、用10进制表示,m3) A658 B648 C633 D6535. 5. 下列关于二叉树遍历的叙述中,正确的是( ) 。A. 若一个树叶是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序遍历最后一个结点B若一个点是某二叉树的前序遍历最后一个结点,则它必是该二叉树的中序遍历的最后一个结点 C若一个结点是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序最后一个结点 D若一个树叶是某二叉树的前序最后一个结点,则它必是该二叉树的中序遍历最后一个结点6. 6. k层二叉树的结点总数最多为( ). A2k-1 B.2K+1 C.2K-1 D. 2k-17. 7. 对线性表进行二分法查找,其
14、前提条件是( ).A. A.线性表以链接方式存储,并且按关键码值排好序 B. B.线性表以顺序方式存储,并且按关键码值的检索频率排好序C. C. 线性表以顺序方式存储,并且按关键码值排好序D. D.线性表以链接方式存储,并且按关键码值的检索频率排好序8. 8. 对n个记录进行堆排序,所需要的辅助存储空间为 A. O(1og2n) B. O(n) C. O(1) D. O(n2)9. 9. 对于线性表(7,34,77,25,64,49,20,14)进行散列存储时,若选用H(K)=K %7作为散列函数,则散列地址为0的元素有( )个, A1 B2 C3 D410. 10.下列关于数据结构的叙述中,
15、正确的是( ).A. A. 数组是不同类型值的集合 B. B. 递归算法的程序结构比迭代算法的程序结构更为精炼C. C. 树是一种线性结构D. D. 用一维数组存储一棵完全二叉树是有效的存储方法二、 二、 填空题(每空1分,共26分)1. 1. 数据的逻辑结构被分为集合结构、_线性结构_、_树结构_和_图结构_四种。2. 2. 一个算法的时间复杂度为(3n3+2000nlog2n+90)/n2,其数量级表示为_ O(n)_。3. 3. 对于一个长度为n的单链存储的队列,在表头插入元素的时间复杂度为_ O(1)_,在表尾插入元素的时间复杂度为_ O(1)_。4. 4. 假定一棵树的广义表表示为A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数据结构 试题 模拟 试卷
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。