试卷1及答案.doc_第1页
试卷1及答案.doc_第2页
试卷1及答案.doc_第3页
试卷1及答案.doc_第4页
试卷1及答案.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、 选择题 ( 每小题 2 分,共 20 分 ) 1下列程序段的时间复杂度为( )。i=0,s=0; while (snext=p-next;p-next=-s; (B) q-next=s; s-next=p;(C) p-next=s-next;s-next=p; (D) p-next=s;s-next=q;4设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为( )。(A) 5,3,4,6,1,2 (B) 3,2,5,6,4,1 (C) 3,1,2,5,4,6 (D) 1,5,4,6,2,35设有一个10阶的下三角矩阵A(包括对角线),按照从上到下、从左到右的顺序存储到连续的55个存储单元中,每个数组元素占1个字节的存储空间,则A54地址与A00的地址之差为( )。(A) 10 (B) 19 (C) 28 (D) 556设一棵m叉树中有N1个度数为1的结点,N2个度数为2的结点,Nm个度数为m的结点,则该树中共有( )个叶子结点。7. 二叉排序树中左子树上所有结点的值均( )根结点的值。(A) (C) = (D) !=8. 设一组权值集合W=(15,3,14,2,6,9,16,17),要求根据这些权值集合构造一棵哈夫曼树,则这棵哈夫曼树的带权路径长度为( )。(A) 129 (B) 219 (C) 189 (D) 2299. 设有n个关键字具有相同的Hash函数值,则用线性探测法把这n个关键字映射到HASH表中需要做( )次线性探测。(A) n2 (B) n(n+1) (C) n(n+1)/2 (D) n(n-1)/210.设某棵二叉树中只有度数为0和度数为2的结点且度数为0的结点数为n,则这棵二叉中共有( )个结点。(A) 2n (B) n+l (C) 2n-1 (D) 2n+l二、 填空题 ( 每空2 分,共 50 分 ) 1. 数据元素及其关系在计算机存储器内的表示称为。 2. 假设某个带头结点的单链表的头指针为head,则判定该表为空表的条件是。 3. 栈是一种操作受限的线性结构,其操作的主要特征是 。若进栈序列为123,则不可能的出栈序列为 。 4. 已知广义表C=(a,(b,c),d),则:tail(head(tail(C)= 。 5. 要在单链表中指针p所指向结点后插入s所指的结点,应顺序执行 和 语句。 6.具有3个结点的二叉树有 种形态。 7.一棵二叉树采用二叉链表存储,则必有 个指针域不空。 8.对关键字序列采用快速排序以位于最左位置的对象为基准而得到的第一次划分结果为 。 9. 在哈希查找中,处理冲突的方法有 、再哈希法、 和建立公共溢出区。 10.在堆排序过程中,由n个待排序记录建成初始堆需要进行 次筛选。 11.已知二叉树中叶子结点数为50,则该二叉树的总结点数至少应有 个。 12.一个具有n个顶点无向连通图最少有 条边,最多有 条边。 13.图的深度优先搜索遍历算法类似于二叉树的 遍历,图的广度优先遍历算法类似于二叉树的 遍历。 14.在二叉排序树上进行 遍历,可以得到一个关键字的递增序列。 15.在图G的邻接表表示中,每个顶点邻接表中所含的结点数,对于无向图来说等于该顶点的 ;对于有向图来说等于该顶点的 。 16.若待排序序列中存在多个具有相同关键字的记录,若排序完成后这些记录的相对位置发生改变,则称该排序法是 。写出3种不稳定的排序法 、 、 。三、 判断题 (每小题1分, 共 10 分 ) 1.单链表的头结点是必不可少的。 ( ) 2.如果一个二叉树中没有度为1的结点,则必为满二叉树。 ( ) 3顺序存储结构只能用来存放线性结构,链式存储结构只能用来存放非线性结构。 ( ) 4.队列只能在队首进行删除,在队尾进行插入。 ( ) 5.一棵树转换成二叉树后根结点一定没有右孩子。 ( ) 6.有向图中,所有结点的出度之和等于入度之和。 ( ) 7.内部排序是指排序过程在内存中进行的排序。 ( ) 8.在一个大根堆中,最小元素不一定在最后。 ( ) 9.一棵赫夫曼树中不存在度为1的结点。 ( ) 10.平衡二叉树左子树和右子树的深度之差的绝对值不超过1。( ) 四、算法设计题(每题10分,共20分) 1从顺序表中删除具有最小值的元素并返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息。 顺序表的类型描述如下: #define maxsize 100typedef struct ElemType elemmaxsize; /* 线性表占用的数组空间。*/int last; /*记录线性表中最后一个元素在数组elem 中 的位置(下标值),空表置为-1*/ SeqList;2已知一个二叉树采用二叉链表存放,写一算法,计算二叉树的度为2的结点的个数。 二叉链表的类型描述如下: typedef struct NodeDataType data;struct Node * lchild;struct Node * rchild;BiTNode, *BiTree;答案:一、选择题 1A 2D 3B 4B 5B 6D 7A 8D 9D 10C 二、填空题 1.物理结构或存储结构 2.head-next=NULL 3.先进后出或后进先出、312 4. (c) 5. s-next= p-next 、p-next=s 6. 5种 7.n-1个 8.(40,38,46,56,79,84) 9.开放定址法、链地址法 10. n/2 11. 99 12.n-1、n(n-1)/2 13.先序,层次 14.中序 15.度、出度 16.不稳定、(简单选择排序、堆排序、快速排序、希尔排序)任选3个 三、判断题 1-10: 四、算法设计题 1.解:#define OK 1#define ERROR 0int DelList(SeqList *L,ElemType *e)/*在顺序表L中删除最小值的数据元素,并用指针参数e返回其值。空出的位置由最后一个元素填补*/ int m=0,i; /假定0号元素的值最小 if (L-last = -1 ) /表空, 中止操作返回 printf( “ List is Empty!n ”); return error; for (i = 1; i last; i+ ) /循环, 寻找具有最小值的元素 if (L-elem i elem m ) m = i; /让m指向当前具最小值的元素 *e= L-elem m; L-elem m = L-elem L-last; L-last-; /空出位置由最后元素填补, 表最后元素位置减1 return ok; 2.解:/* NodeCount保存满足条件的结点的数目的全局变量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论