北航算法与数据结构复习题_第1页
北航算法与数据结构复习题_第2页
北航算法与数据结构复习题_第3页
北航算法与数据结构复习题_第4页
北航算法与数据结构复习题_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

北航算法与数据结构复习题北航《算法与数据结构》复习题单选题(每小题2分,总分10分)1、线性表若采用链表存储结构时,要求内存中可用存储单元的地址(D)A、必需是联系的B、部分地址必须是连续的C、一定是不连续的D、连续不连续都可以2、对顺序表上的插入、删除算法的时间复杂性分析来说,通常以什么为标准操作(B)A、条件判断B、结点移动C、算术表达式D、赋值语句3、在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(B)A、p->next=s;s->next=p->next;B、s->next=p->next;p->next=s;C、p->next=s;p->next=s->next;D、p->next=s->next;p->next=s;4、对关键码序列28,16,32,12,60,2,5,72快速排序,从小到大一次划分结果为(C)A、(2,5,12,16)26(60,32,72)B、(5,16,2,12)28(60,32,72)C、(2,16,12,5)28(60,32,72)D、(5,16,2,12)28(32,60,72)5、稀疏矩阵的压缩存储方法是只存储(A)A、非零元素B、三元组(i,j,aij)C、aijD、i,j1、从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为(A)排序法。A、插入B、选择C、希尔D、二路归并2、用线性探测法查找闭散列表,可能要探测多个散列地址,这些位置上的键值(D)A、一定都是同义词B、一定都不是同义词C、都相同D、不一定都是同义词3、将含有83个结点的完全二叉树从根结点开始编号,根为1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为41的双亲结点编号为(D)A、42B、40C、21D、204、一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是(B)A、不确定B、n-i+1C、ID、n-i5、设深度为k的二叉树上只有度为0和度为2的节点,则这类二叉树上所含结点总数最少(C)个A、k+1B、2kC、2k-1D、2k+1判断题(每小题1分,总分10分)(A==对,B==错)6、在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行前序遍历和后序遍历,则具有相同的结果。(B)7、就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大(B)8、任何一棵二叉树都可以不用栈实现前序线索树的前序遍历(A)9、在一棵具有n个结点的线索二叉树中,每个结点的指针域可能指向子女结点,也可能作为线索,使之指向某一种遍历次序的前驱或后继结点,所有结点中作为线索使用的指针域共有n个。(B)10、线索二叉树中的每个结点通常包含有5个数据成员。(A)11、从未排序的序列中依次取出一个元素与已排序序列中的元素进行比较,然后将其放在已排序序列的合适位置上,该排序方法称为选择排序(B)12、在第一趟排序之后,一定能把数据表中最大或最小元素放在其最终的排序算法是冒泡排序(A)13、不是所有的AOV网都有一个拓朴序列(A)14、对于前序遍历和中序遍历结果相同的二叉树为所有结点只有右孩子的二叉树(A)15、邻接多重表示法对于有向图和无向图的存储都适用(A)6、在顺序表中进行顺序搜索时,若各元素的搜索概率不等,则各元素应按照搜索概率的降序排列存放,则可得到最小的平均搜索长度。(A)7、排序算法中的比较次数与初始元素序列的排列无关(B)8、队列逻辑上是一个下端和上端既能增加又能减少的线性表(A)。9、对于两棵具有相同记录集合而具有不同形态的二叉搜索树,按中序遍历得到的结点序列是相同的。(A)10、给定一棵树,可以找到唯一的一棵二叉树与之对应(A)11、字符串是一种线性表,其特殊性表现在它的数据元素是一个字符(A)12、由权值为9,2,5,7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度44(A)13、判断一个表达式中左右括号是否匹配,采用栈实现较为方便(A)14、算法在发生非法操作时可以作出处理的特性称为健壮性(A)15、快速排序的速度在所有排序方法中为最快,而且所需附加空间也最少(B)多选题(每小题2分,总分10分)16、对于单链表表示法,以下说法正确的是(ABC)A、指向链表的第一个结点的指针,称为头指针B、单链表的每一个结点都被一个指针所指C、任何结点只能通过指向它的指针才能引用D、尾指针变量具标识单链表的作用,故常用尾指针变量来命名单链表17、对有序表的查找方式有以下几种(ABC)A、折半查找B、斐波那契查找C、插值查找D、二叉树查找18、递归过程中要保存的信息包括(ABC)A、返回地址B、本次调用中与形参结合的实参值C、本次递归调用中的局部变量值D、执行结果19、以下说法正确的是(ABD)A、二叉树可以是空集B、二叉树的任一结点至多有两棵子树C、二叉树与树具有相同的树形结构D、二叉树的子树有次序之分20、以下说法正确的是(ABD)A、对于线性表来说,定位运算在顺序表和单链表上的量级均为O(n)B、读表元运算在顺序表上只需常数时间O(1)便可实现,因此顺序表是一种随机存取结构C、在链表上实现读表元运算的平均时间复杂性为O(1)D、插入、删除操作在链表上的实现可在O(1)时间内完成16、以下不稳定的排序方法是(ACD)A、快速排序B、冒泡排序C、希尔排序D、堆排序17、以下说法正确的是(ABD)A、直接插入排序的空间复杂度为O(1)B、快速排序附加存储开销为O(log2n)C、堆排序的空间复杂度为O(n)D、二路归并排序的空间复杂度为O(n)18、图的存储结构有(ABCD)A、邻接矩阵B、邻接表C、数组表示法D、十字链表19、属于插入排序的排序方法有(ABC)A、直接插入排序B、对半插入排序C、渐减增量排序D、冒泡排序20、二叉树的遍历方式有(ABC)A、先序遍历B、中序遍历C、后序遍历D、线索遍历简答题(每小题15分,总分30分)1、类C语言与标准C语言的主要区别是什么?类C语言只是在C语言编程过程中的一个思路的编写过程2、请用类C语言描述链串的类型定义。*[fhl注释:]代码后面的文字是解释说明,如果题目不要求解释,可以不写。3、叙述以下概念的区别:头指针变量、头指针、头结点、首结点,并说明头指针变量和头结点的作用。链表里有“头指针”变量,它存放一个地址,该地址指向一个元素。链表里的每个元素称为“节点”。头指针是指向链表中第一个结点的指针。head是头指针,而不是头结点,它只占用4字节大小空间(如果是32位)头节点是链表中第一个有效的节点,而不是用来存储第一个节点地址的头节点首结点是指链表中存储第一个数据元素的节点。头结点是在首节点之前附设的一个结点,该结点不存储数据元素,其指针域指向首元节点,其作用主要是为了方便对链表的操作。它可以对空表、非空表一级首元节点的操作技能型统一处理。4、简述二次探测法解决冲突的基本思想。二次探查采用的形式如下:h(k,i)=(h’(k)+c1i+c2i)modm其中h’是一个辅助散列函数,c1和c2为辅助常数,i=0,1,…m-1。处事的探查位置为T[h’(k)],后续的探查位置要在此基础上加上一个偏移量,该偏移量是以二次的方式依赖于探查号i的。如果两个关键字的初始探查位置是相同的,那么他们的后续二次探查的序列也是相同的。这种性质会导致一种程度较轻的群集现象,成为二次群集。简单地说就是遇到冲突,就以n^2,n=1,2,...的序列探查,如果找到首个没有冲突的位置,就插入,否则继续探查.5、算法的设计要求有哪些?1、正确性2、可读性;3、健壮性4、效率与低存储量需求6、图的存储有几种方式?1、数组表示法2、邻接表表示法3、十字链表4、链接多重表7、简述开散列表的组织方式及类型定义8、简述循环队列的类型定义9、简述闭散列表的类型定义分析题(每小题20分,总分40分)1、编程实现单链表的测长。答案:/*单链表的测长*/intlength(node*head)/*返回单链表长度*/{intlen=0;node*p;/*新建一个节点指针*/p=head->next;/*指针指向头节点的下一个节点*/while(p!=NULL)/*遍历链表*/{len++;p=p->next;}returnlen;}/*由于链表末尾节点的next指针被置为NULL,因此可以使用while循环进行遍历链表所有节点,当遇到NULL时结束循环*/2、完成以下递归算法,它将二叉树中所有结点的左、右子树相互交换。typedefstructBiTNode{chardata;//结点信息是字符structBiTNode*lchild,*rchild;//左右孩子指针}*BiTree;Statusexchangelr(BiTree&T)//算法用函数名exchangelr表示{BiTreep;//临时工作指针......//待完成的若干语句;}答案:3、对于循环队列,试写出求队列长度的算法。#include#include#defineMAXQSIZE100typedefstruct{int*base;intfront;intrear;}SqQueue;voidInitQueue(SqQueue*Q){Q->base=(int*)malloc(sizeof(int));if(!Q->base)exit(1);Q->front=Q->rear=0;}intQueueLength(SqQueue*Q){return(Q->rear-Q->front+MAX

温馨提示

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

评论

0/150

提交评论