北航算法与数据结构复习题

北航《算法与数据结构》复习题单选题(每小题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、编程实现单链表的测长。

答案:/*单链表的测长*/int length(node *head)/*返回单链表长度*/{int len = 0;node *p;/*新建一个节点指针*/p = head->next;/*指针指向头节点的下一个节点*/while(p != NULL)/*遍历链表*/{len++;p = p->next;}return len;}/*由于链表末尾节点的next指针被置为NULL,因此可以使用while循环进行遍历链表所有节点,当遇到NULL时结束循环*/2、完成以下递归算法,它将二叉树中所有结点的左、右子树相互交换。

typedef struct BiTNode {char data ; // 结点信息是字符struct BiTNode *lchild,*rchild; // 左右孩子指针} *BiTree;Status exchangelr(BiTree &T) // 算法用函数名exchangelr 表示{BiTree p; // 临时工作指针...... // 待完成的若干语句;}答案:3、对于循环队列,试写出求队列长度的算法。

#include<stdio.h>#include<stdlib.h>#define MAXQSIZE 100typedef struct{ int *base;int front;int rear;}SqQueue;void InitQueue(SqQueue *Q){Q->base=(int*)malloc(sizeof(int));if(!Q->base)exit(1);Q->front=Q->rear=0;}int QueueLength(SqQueue *Q){return (Q->rear-Q->front+MAXQSIZE)%MAXQSIZE;}4、352033485911 12 其散列函数为h(key)=key%13, 处理冲突的方法为双重散列法,探查序列为:hi=(h(key)+i *h1(key))%m i =0,1,…,m-1其中h1(key)=key%11+1回答下列问题:(1)对表中关键字35,20,33和48进行查找时,所需进行的比较次数各为多少?(2)该散列表在等概率查找时查找成功的平均查找长度为多少?答案:5、。

合集下载

北航《算法与数据结构》在线作业一

北航《算法与数据结构》在线作业一

北航《算法与数据结构》在线作业一单选题一、单选题(共 25 道试题,共 100 分。

)1. 排序方法中,从未排序序列中依次取出元素与己排序序列(初始时为空)中的元素进行比较,将其放入己排序序列的正确位置上的方法,称为()A. 希尔排序B. 起泡排序C. 插入排序D. 选择排序-----------------选择:C2. 设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好()排序法。

A. 起泡排序B. 快速排序C. 堆排序D. 基数排序-----------------选择:B3. 以下说法正确的是 ( )A. 因链栈本身没有容量限制,故在用户内存空间的范围内不会出现栈满情况B. 因顺序栈本身没有容量限制,故在用户内存空间的范围内不会出现栈满情况C. 对于链栈而言,在栈满状态下,如果此时再作进栈运算,则会发生“上溢”D. 对于顺序栈而言在栈满状态下如果此时再作迸栈运算,则会发生“下溢”。

-----------------选择:A4. 对于数据结构课程的主要内容,以下解释正确的是A. 数据结构的定义,包括逻辑结构、存储结构和基本运算集B. 数据结构的实现,包括存储实现、运算实现和基本运算集C. 数据结构的评价和选择,包括逻辑结构的选择、基本运算集的选择和存储选择D. 以上说法均不正确-----------------选择:C5. 堆是一个键值序列{k1,k2,…, kn},对i=1,2,…,|_n/2_|,满足( )A. ki≤k2i≤k2i+1B. ki<k2i+1<k2iC. ki≤k2i且ki≤k2i+1(2i+1≤n)D. ki≤k2i 或ki≤k2i+1(2i+1≤n)-----------------选择:C6. 某二叉树结点的前序序列为E、A、C、B、D、G、F,中序遍历为A、B、C、D、E、F、G。

该二叉树结点的后序序列为 ( )。

A. B,D,C,A,F,G,EB. B,D,C,F,A,G,EC. E,G,F,A,C,D,B。

北航数据结构试题及答案

北航数据结构试题及答案

北航数据结构试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用什么数据结构来实现?A. 链表B. 栈C. 数组D. 树答案:C2. 下列关于二叉树的描述中,错误的是:A. 二叉树的第i层最多有2^(i-1)个节点B. 任意非空二叉树的叶子节点数等于度为2的节点数加1C. 任意非空二叉树的叶子节点数等于度为2的节点数减1D. 任意非空二叉树的叶子节点数等于度为2的节点数答案:C3. 在图的遍历算法中,深度优先搜索(DFS)使用的数据结构是:A. 队列B. 栈C. 链表D. 数组答案:B4. 哈希表的冲突解决方法不包括以下哪种?A. 开放定址法B. 链地址法C. 再散列法D. 排序法答案:D5. 快速排序算法的时间复杂度最坏情况下为:A. O(nlogn)B. O(n^2)C. O(n)D. O(1)答案:B6. 以下排序算法中,时间复杂度为O(nlogn)的是:A. 冒泡排序B. 快速排序C. 选择排序D. 插入排序答案:B7. 以下关于堆的描述中,正确的是:A. 堆是一种特殊的二叉树B. 堆是一种完全二叉树C. 堆是一种平衡二叉树D. 堆是一种链表答案:A8. 在一个长度为n的有序数组中查找一个元素,使用二分查找算法的时间复杂度是:A. O(n)B. O(nlogn)C. O(logn)D. O(1)答案:C9. 以下算法中,不属于动态数据结构的是:A. 链表B. 栈C. 数组D. 哈希表答案:C10. 以下关于图的描述中,错误的是:A. 图是由顶点和边组成的B. 图的顶点可以有0个或多个C. 图的边可以有向或无向D. 图的顶点数一定大于边数答案:D二、多项选择题(每题3分,共15分)1. 下列哪些是线性表的存储结构?A. 顺序存储B. 链式存储C. 索引存储D. 散列存储答案:A, B2. 在图的表示方法中,以下哪些是正确的?A. 邻接矩阵B. 邻接表C. 边表D. 顶点表答案:A, B, C3. 下列哪些排序算法是稳定的?A. 冒泡排序B. 快速排序C. 插入排序D. 选择排序答案:A, C4. 在数据结构中,以下哪些是递归算法的特点?A. 问题可以分解为更小的子问题B. 每个子问题都是原问题的实例C. 存在递归终止条件D. 递归算法的时间复杂度一定比迭代算法高答案:A, B, C5. 在使用链表实现栈时,以下哪些操作是合法的?A. pushB. popC. peekD. clear答案:A, B, C三、简答题(每题5分,共30分)1. 请简述什么是递归,并给出一个递归算法的例子。

北航201303学期算法与数据结构答案作业4

北航201303学期算法与数据结构答案作业4

作业4单项选择题第1题假设有对角矩阵a[n][n],我们可以按行序为主将对角矩阵A的非零元素存入一个一维数组B[K]中。

给出二维数组的任一元素a[i][j]与一维数组B[K]对应的下标m的关系:()。

A、k = 2*i + jB、k = 2 * j + iC、k = 3* (i + j )D、k = i + j答案:A第2题假设有对称矩阵a[n][n],我们可以按行序为主将对称矩阵A的下三角中的元素存入一个一维数组B[K](K=n(n+1)/2)中。

给出二维数组的任一元素a[i][j]与一维数组B[K]对应的下标m的关系:()。

A、(i-1)*(j+1)=kB、(i+1)*(j+1)=kC、(i-1)*j=kD、i*(j+1)=k答案:A第3题假定M行N列的数组a是行优先存贮的,L是元素a[0][0]的存贮地址,每个元素占K个存贮单元,元素a[I][j]的地址是:()。

A、L + (I –1)* N * K +j*KB、L +( I * N +j)*KC、( I * N * K + (J –1) *KD、L +( I * M +j) * K答案:B第4题对给定的图,Prim方法与Kruskal方法都能给出最小代价生成树,针对最小代价生成树的算法,下面的说法哪一个是正确的:()。

A、Prim方法与Kruskal方法均不需要进行圈的判断B、Prim方法与Kruskal方法都需要进行圈的判断C、Prim方法需要进行圈的判断,Kruskal方法不需要进行圈的判断D、Prim方法不需要进行圈的判断,Kruskal方法需要进行圈的判断答案:D多项选择题第5题假定以单向链表方式存贮堆栈,栈顶指针变量为p,表示栈空时,下面的说法哪一个是正确的():A、p==-1B、p==0C、p==NULLD、p != NULL答案:B|C第6题下述陈述中哪一项是正确的():A、文件中能唯一标识一个记录的数据项称之为主关键字B、文件中能唯一标识一个记录的数据项组合称之为主关键字C、文件中能标识一个记录的数据项称之为主关键字D、文件中能标识一个记录的数据项组合称之为主关键字答案:A|B第7题常用的线性表存贮结构有():A、顺序存贮结构B、链表存贮结构C、队列存贮结构D、堆栈存贮结构E、顺序存贮与链表存贮混合结构答案:A|B|E第8题常用的堆栈存贮结构有():A、顺序存贮结构B、链表存贮结构C、顺序存贮与链表存贮混合结构D、指针存贮结构答案:A|B判断题第9题空串是打印后不出现任何字符的字符器。

北航数据结构与程序设计真题 北航991真题及答案

北航数据结构与程序设计真题 北航991真题及答案

20XX年“数据结构与C程序设计”(代码991)试题一、单项选择题(本题共20分,每小题各2分)1.对于长度为n的线性表,建立其对应的单链表的时间复杂度为( )。

A.O(1);B.O(log2n);.O(n);D.O(n2)。

2.一般情况下,在一个双向链表中插入一个新的链结点,( )。

A.需要修改4个指针域内的指针;B.需要修改3个指针域内的指针;C.需要修改2个指针域内的指针;D.只需要修改1个指针域内的指针。

3.假设用单个字母表示中缀表达式中的一个运算数(或称运算对象),并利用堆栈产生中缀表达式对应的后缀表达式。

对于中缀表达式A+B*(C/D-E),当从左至右扫描到运算数E时,堆栈中的运算符依次是( )。

(注:不包含表达式的分界符)A.+*/-;B.+*(/-;C.+*-;.+*(-。

4.若某二叉排序树的前序遍历序列为50,20,40,30,80,60,70,则后序遍历序列为( )。

A.30,40,20,50,70,60,80;B.30,40,20,70,60,80,50;C.70,60,80,50,30,40,20;D.70,60,80,30,40,20,50。

5.分别以6, 3, 8, 12, 5, 7对应叶结点的权值构造的哈夫曼(Huffman) 树的深度为( )。

A.6;B.5;C.4;D.3。

6.下列关于图的叙述中,错误的是( )。

A.根据图的定义,图中至少有一个顶点;B.根据图的定义,图中至少有一个顶点和一条边(弧);C.具有n个顶点的无向图最多有n&#61620;(n-1)/2条边;D.具有n个顶点的有向图最多有n&#61620;(n-1)条边(弧)。

7.若在有向图G的拓扑序列中,顶点vi在顶点vj之前,则下列4种情形中不可能出现的是( )。

A.G中有弧<vi,vj>;B.G中没有弧<vi,vj>;C.G中有一条从顶点vi到顶点vj的路径;D.G中有一条从顶点vj到顶点vi的路径。

北京航空航天大学程序设计与数据结构专业考研真题

北京航空航天大学程序设计与数据结构专业考研真题

北京航空航天大学程序设计与数据结构专业考研真题(2000年)一、选择题(2’x10)1.在非空双向循环链表中q所指的结点前插入一个由p所指的链接点的过程依次为:rlink(p)←q;llink(p)←llink(q);llink(q)←p;_________。

(A)rlink(q)←p(B)rlink(llink(q))←p(C)rlink(llink(p))←p(D)rlink(rlink(p))←p2.若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B(1)1:2n n+⎡⎤⎢⎥⎣⎦中,则在B中确定a ij(i<j)的位置k的关系为_________。

(A)(1)2i ij*-+(B)(1)2j ji*-+(C)(1)2i ij*++(D)(1)2j ji*++3.某堆栈的输入序列为a,b,c,d,下面的四个序列中,_________不可能是它的输出序列。

(A)a,c,b,d(B)b,c,d,a(C)c,d,b,a(D)d,c,a,b4.深度为h的满m叉数的第k层有_________个结点。

(1≤k≤h)(A)m k-1(B)m k-1 (C)m h-1(D)m h-15.具有10个叶结点的二叉树中有_________个度为2的结点。

(A)8 (B)9 (C)10 (D)116.要连通具有n个顶点的有向图,至少需要_________条边。

(A)n-1 (B)n(C)n+1 (D)2n7.已知有向图G=(V,E),其中V={v1,v2,v3,v4,v5,v6,v7},E={<v1,v2>,<v1,v3>,<v1,v4>,<v2,v5>,<v3,v5>,<v3,v6>,<v4,v6>,<v5,v7>,<v6,v7>},G的拓扑序列是_________。

17春北航《算法与数据结构》在线作业三

17春北航《算法与数据结构》在线作业三

2017秋17春北航《算法与数据结构》在线作业三一、单选题(共25 道试题,共100 分。

)1. 快速排序的记录移动次数()比较次数,其总执行时间为O(nlog2n)。

A. 大于B. 大于等于C. 小于等于D. 小于正确答案:2. 对于顺序表的优缺点,以下说法错误的是A. 无需为表示结点间的逻辑关系而增加额外的存储空间B. 可以方便地随机存取表中的任一结点C. 插入和删除运算较方便D. 由于顺序表要求占用连续的空间,存储分配只能预先进行(静态分配)正确答案:3. 对一个由n个整数组成的序列,借助排序过程找出其中的最大值,希望比较次数和移动次数最少,应选用()方法。

A. 归并排序B. 直接插入排序C. 直接选择排序D. 快速排序。

正确答案:4. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是()。

A. edcbaB. decbaC. abcdeD. dceab正确答案:5. 一般地,一个存储结构包括以下三个主要部分。

以下说法错误的是A. 存储结点每个存储结点可以存放一个或一个以上的数据元素B. 数据元素之间关联方式的表示也就是逻辑结构的机内表示C. 附加设施,如为便于运算实现而设置的“哑结点”等等D. 一种存储结构可以在两个级别上讨论。

其一是机器级,其二是语言级正确答案:6. 下列数据结构中,能用折半查找的是( )。

A. 顺序存储的有序线性表B. 线性链表C. 二叉链表D. 有序线性链表正确答案:7. 若从二叉树的任一节点出发到根的路径上所经过的节点序列按其关键字有序,则该二叉树是()。

A. 二叉排序树B. 哈夫曼树C. 堆D. A VL树正确答案:8. 下列关于树说法正确的是A. 树的先根遍历序列与其对应的二叉树的先根遍历序列相同B. 树的先根遍历序列与其对应的二叉树的后根遍历序列相同C. 树的后根遍历序列与其对应的二叉树的先根遍历序列相同D. 树的后根遍历序列与其对应的二叉树的后根遍历序列相同正确答案:9. 深度为6的二叉树最多有( )个结点A. 64B. 63C. 32D. 31正确答案:10. 判定一个顺序栈(最多元素为m个)为空的条件是()。

北航研究生算法(208精心整理)

一:判断题1、一个正确的算法,对于每个合法输入,都会在有限的时间内输出一个满足要求的结果。

(对)2、NP完全问题比其他所有NP问题都要难。

(错)3、回溯法用深度优先法或广度优先法搜索状态空间树。

(错,仅深度优先)4、在动态规划中,各个阶段所确定的策略就构成一个策略序列,通常称为一个决策。

(错)5、P类和NP类问题的关系用P⊂NP来表示是错误的。

(错)6、若近似算法A求解某极小化问题一实例的解为Sa,且已知该问题的最优解为Sa/3,则该近似算法的性能比为3。

(错)7、通常来说,算法的最坏情况的时间复杂行比平均情况的时间复杂性容易计算。

(对)8、若P2多项式时间转化为(polynomial transforms to)P1,则P2至少与P1一样难。

(错)9、快速排序算法的平均时间复杂度是O(nlogn),使用随机化快速排序算法可以将平均时间复杂度降得更低。

(错)10、基于比较的寻找数组A[1,…,n]中最大元素的问题下届是Ω(n/3)。

(错)11、O(f(n))+O(g(n))=O(min{f(n),g(n)})(错)12、若f(n)=Ω(g(n)),g(n)=Ω(h(n)),则f(n)=Ω(h(n))(对)13、若f(n)=O(g(n)),则g(n)=Ω(f(n))(对)14、贪婪技术所做的每一步选择所产生的部分解,不一定是可行性的。

(错)15、LasVegas算法只要给出解就是正确的。

(对)16、一个完全多项式近似方案是一个近似方案{Aε},其中每一个算法Aε在输入实例I的规模的多项式时间内运行。

(错)二:简答1、二叉查找树属于减治策略的三个变种中的哪一个的应用?什么情况下二叉查找树表现出最差的效率?此时的查找和插入算法的复杂性如何?答:减治策略有3个主要的变种,包括减常量、减常数因子和减可变规模。

(1) 二叉查找树属于减可变规模变种的应用。

(2) 当先后插入的关键字有序时,构成的二叉查找树蜕变为单支树,树的深度等于n,此时二叉查找树表现出最差的效率,(3) 查找和插入算法的时间效率都属于Θ(n)。

北航《算法与数据结构》在线作业二

24. 二叉树上叶结点数等于()。
A. 分支结点数加1
B. 单分支结点数加1
C. 双分支结点数加1
D. 双分支结点数减1
满分:4 分
25. 某二叉树结点的前序序列为E、A、C、B、D、G、F,中序遍历为A、B、C、D、E、F、G。 该二叉树结点的后序序列为 ( )。
A. B,D,C,A,F,G,E
B. 63
C. 32
D. 31
满分:4 分
15. 如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。下列选项中,()就是不稳定的排序方法。
A. 起泡排序
B. 归并排序
C. 直接插入法排序
D. 简单选择排序
满分:4 分
D. 'DATA'
满分:4 分
2. 某二叉树的先序序列和后序序列正好相反,则该二叉树一定是( )的二叉树。
A. 空或只有一个结点高度等于其结点数
B. 任一结点无左孩子
C. 任一结点无右孩子
满分:4 分
3. 设有50行60列的二维数组A[50][60],其元素长度为4字节,按行优先顺序存储,基地址为200,则元素A[18][25]的存储地址为()。
C. 附加设施,如为便于运算实现而设置的“哑结点”等等
D. 一种存储结构可以在两个级别上讨论。其一是机器级,其二是语言级
满分:4 分
9. n个顶点的连通图至少有( )条边。
A. n-1
B. n
C. n+1
D. 0
满分:4 分
10. 排序方法中,从未排序序列中依次取出元素与己排序序列(初始时为空)中的元素进行比较,将其放入己排序序列的正确位置上的方法,称为()

北航《算法与数据结构》在线作业

北航《算法与数据结构》在线作业北航“算法与数据结构”在线作业11,单题(25题,100分))1。

下面的陈述是错误的()a .线性表的元素可以是各种各样的,逻辑上相邻的元素在物理位置b上不一定是相邻的.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置c上不一定是相邻的.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定是相邻的.d线性表的链式存储结构的特点是用一组任意的存储单元来存储带满分的线性表的数据元素:4点2。

头节点的单链表的头为空的判定条件()A。

头=空b头->下一个=空c头->下一个=头d头!=人头满分:4分3。

有一个10,000个元素的无序序列。

我希望尽快选出前10个最大元素。

在不改变现有算法结构的前提下,()是以下内部排序算法中最合适的A。

选择排序方法b .快速排序方法c .堆排序方法d .冒泡排序方法满分:4分4。

在以下堆栈的基本操作中,那些不是处理操作的是()。

A。

倒推,倒推,倒推,倒空,满分:4分5。

让矩阵a是一个对称矩阵(aij=aji,1 next = head d . p = head full score:4 points11。

设置一个有n个节点的二叉树。

其深度为a . n-1b . nc . 5 floor(log2n)d .无法确定满分:4分12。

当堆栈存储在大小为N的数组序列中时,假设top = = N用于指示堆栈为空,会在移除堆栈时修改top指针with()语句a . to p ++b . top = 0c . top-d . top = n满分:4分法A,块b,序列c,二进制d,哈希满分:4分13。

如果要求线性表能够快速查找并满足动态变化的要求,可以使用()finder14。

使用二进制搜索方法查找长度为n的线性表时,每个元素的平均搜索长度为()a . o(N2)b . o(log2n)c . o(n)d . o(log2n)满分:4分15。

北航算法与数据结构复习题

北航算法与数据结构复习题北航《算法与数据结构》复习题单选题(每小题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、在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行前序遍历和后序遍历,则具有相同的结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档