数据结构与算法(北京大学) 中国大学mooc答案满分完整版章节测试

饲行你鳞慰性洁惊负陵队煽讳




第一章 概论 第一章 概论 测验

1、 下列不属于线性结构的是:Which one of the followings does not belong to linear structure:(There is only one correct answer)

A:队列(queue)
B:散列表(hash table)
C:向量(vector)
D:图(graph)
答案: 图(graph)

2、 以下哪种结构是逻辑结构,而与存储和运算无关:Which of the following structure is a logical structure regardless of the storage or algorithm:(There is only one correct answer)

A:队列(queue)
B:双链表(doubly linked list)
C:数组(array)
D:顺序表(Sequential list)
答案: 队列(queue)

3、 关于算法特性描述正确的有:Which one is right about algorithm’s characterization:(there are more than one correct answers)

A:算法保证计算结果的正确性。Algorithm will ensure the correctness of the calculation results.
B:组成算法的指令可以有限也可能无限。 Instructions which composite algorithms can be infinite or finite
C:算法描述中下一步执行的步骤不确定。 The next step in the implementation of the algorithm described is uncertain.
D:算法的有穷性指算法必须在有限步骤内结束。The finite nature of algorithms means algorithm must be completed within a limited step.
答案: 算法保证计算结果的正确性。Algorithm will ensure the correctness of the calculation results.;
算法的有穷性指算法必须在有限步骤内结束。The finite nature of algorithms means algorithm must be completed within a limited step.

4、 下列说法正确的是:Which options may be correct?(there are more than one correct answers)

A:如果函数f(n)是O(g(n)),g(n)是O(h(n)),那么f(n)是O(h(n))  if f(n) is O(g(n)),g(n) is O(h(n)),then  f(n) is O(h(n))
B:如果函数f(n)是O(g(n)),g(n)是O(h(n)),那么f(n)+g(n)是O(h(n))if f(n) is O(g(n)),g(n) is O(h(n)),so f(n)+g(n) is O(h(n))
C:如果a>b>1,数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第1张数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第2张,但数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第3张不一定是数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第4张if a>b>1,数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第1张 is 数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第2张, 数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第3张 may not be 数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第4张
D:函数f(n)是O(g(n)),当常数a足够大时,一定有函数g(n)是O(af(n))if f(n)是O(g(n)),When constant a is big enough ,there must be g(n) is O(af(n))
答案: 如果函数f(n)是O(g(n)),g(n)是O(h(n)),那么f(n)是O(h(n))  if f(n) is O(g(n)),g(n) is O(h(n)),then  f(n) is O(h(n));
如果函数f(n)是O(g(n)),g(n)是O(h(n)),那么f(n)+g(n)是O(h(n))if f(n) is O(g(n)),g(n) is O(h(n)),so f(n)+g(n) is O(h(n))

5、 已知一个数组a的长度为n,求问下面这段代码的时间复杂度: An array of a, its length is known as n. Please answer the time complexity of the following code.(There are more than one answers.)for (i=0,length=1;i<n-1;i++){  for (j = i+1;j<n && a[j-1]<=a[j];j++)    if(length<j-i+1)      length=j-i+1;}

A:数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第9张
B:数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第10张
C:数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第11张
D:数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第12张
答案: 数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第9张;
数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第10张

6、 计算运行下列程序段后m的值:Calculate the value of m after running the following program segmentn = 9; m = 0; for (i=1;i<=n;i++)  for (j = 2*i; j<=n; j++)    m=m+1;求m的值
答案: 20
分析:注意i从1到9全部遍历,j分别从2,4,6,…开始遍历到9,当i大于5时,循环不再对m进行操作.
i=1结束循环时,m=8;
i=2结束循环时,m=8+6=14;
i=3结束循环时,m=14+4=18;
i=4结束循环时,m=18+2=20;

7、 由大到小写出以下时间复杂度的序列: 答案直接写标号,如:(1)(2)(3)(4)(5) (提示:系统基于字符匹配来判定答案,所以您的答案中不要出现空格)Write the following time complexity in descending sequence:Write down the answer labels such as (1)(2)(3)(4)(5). (Hint:This problem is judged by string matching, Please make sure your answer don’t contain any blanks. )数据结构与算法(北京大学) 中国大学MOOC答案2024版100分完整版第15张
答案: (5)(1)(2)(4)(3)
分析:计算复杂度时,系数是可以忽略的。(5)和(1)是指数级复杂度,大于(2)(3)(4)多项式级复杂度,区别在于指数中是否有n。而(5)的指数里还有指数级复杂度的表达式,(1)的指数是n,为多项式级,故(5)比(1)复杂。对于(2)(3)(4),(2)的指数最大,为2.5,(4)的指数居中,为2,(3)的指数最小,解释如下:logn的任意实数次方的复杂度都小于n,故(logn)^4比n复杂度低,故n(logn)^4比nn复杂度低,故(4)比(3)复杂,故答案为(5)(1)(2)(4)(3)

第二章 线性表 第二章 线性表测验

1、 下面关于线性表的叙述中,正确的是哪些?Which of the followings about linear list are correct?(There are more than one answers.)Select the answer that matches

A:线性表采用顺序存储,必须占用一片连续的存储单元。Linear lists use sequential storage which must occupy a continuous memory units.
B:线性表采用顺序存储,便于进行插入和删除操作。Linear lists using sequential storage, it is easy to do insert and delete operations.
C:线性表采用链接存储,不必占用一片连续的存储单元。Linear lists using the linked storage, do not occupy a continuous memory units.
D:线性表采用链接存储,便于插入和删除操作。Linear lists using the linked storage, it is easy for insert and deleting operations.
答案: 线性表采用顺序存储,必须占用一片连续的存储单元。Linear lists use sequential storage which must occupy a continuous memory units.;
线性表采用链接存储,不必占用一片连续的存储单元。Linear lists using the linked storage, do not occupy a continuous memory units.;
线性表采用链接存储,便于插入和删除操作。Linear lists using the linked storage, it is easy for insert and deleting operations.

2、 下面的叙述中正确的是:Select the answer that matches (There are more than one correct answers)

A:线性表在链式存储时,查找第i个元素的时间与i的数值无关。When the linear list stored in linked form, the time to find the i-th element is regardless of the value of i.
B:线性表在顺序存储时,查找第i个元素的时间与i的数值成正比。When the linear list stored sequentially, the time to find the i-th element is proportional to value with i.
C:线性表在顺序存储时,查找第i个元素的时间与i的数值无关。When the linear list stored sequentially, the time to find the i-th element is regardless of the value of i.
D:线性表在链式存储时,插入第i个元素的时间与i的数值成正比。When linear lists stored in the linked form, the time to insert the i-th element is proportional to value with i.
答案: 线性表在顺序存储时,查找第i个元素的时间与i的数值无关。When the linear list stored sequentially, the time to find the i-th element is regardless of the value of i.;
线性表在链式存储时,插入第i个元素的时间与i的数值成正比。When linear lists stored in the linked form, the time to insert the i-th element is proportional to value with i.

3、 完成在双循环链表结点p之后插入s的操作为:The operation to insert s after the doubly circular linked list’s node p is: (There are more than one answers.)

A:p->next->prev=s; s->prev=p; s->next=p->next; p->next=s; 
B:p->next->prev=s; p->next=s; s->prev=p; s->next=p->next;
C:s->prev=p; s->next=p->next; p->next=s; p->next->prev=s;
D:s->next=p->next; p->next->prev=s; s->prev=p; p->next=s;
答案: p->next->prev=s; s->prev=p; s->next=p->next; p->next=s; ;
s->next=p->next; p->next->prev=s; s->prev=p; p->next=s;

4、 对于一个具有n个结点的单链表,在已知的结点p后插入一个新结点的时间复杂度为O(),在给定值为x的结点后插入一个新结点的时间复杂度为O()。(请依次填入,格式为(a)(b),如果您的答案中出现字母,请使用小写;后一空系统基于字符匹配来判定答案,所以您的答案中不要出现空格)For a single linked list with n nodes, and after a known node p to insert a new node, the time complexity is O (); after a given node with x value insert a new node, the time complexity is O (). (If your answer contains letters, use lowercase one.The second blank is judged by string matching, Please make sure your answer don’t contain any blanks. )
答案: (1)(n)
分析:已知结点后插入,不需要移动其他结点位置,所以为O(1) 2. 先要查找到值为x的结点,需要O(n),再插入,不需要移动其他结点位置,需要O(1),总共需要O(n)+O(1)=O(n)

5、 设某循环链表长度为n,并设其中一节点为p1,然后按照链表的顺序将后面的节点依次命名为p2,p3,…,pn,那么请问pn.next=____(答案为一个节点名,注意所有字母为小写且答案中不包含空格)
答案: p1
分析:循环链表尾结点的next会指向头结点

第三章 栈与队列 第三章 栈与队列测验

1、 设栈S 和队列Q 的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,一个元素出栈后即进队列Q,若6 个元素出队的序列是e2,e4,e3,e6,e5,e1则栈S的容量至少应该是___。Assume that the stack S and queue Q’s initial state is empty, the elements e1, e2, e3, e4, e5 and e6 followed through stack S, an element out the stack means into the queue Q. If the sequence the six elements out of the queue is e2, e4, e3, e6, e5, e1 then stack S of capacity should be at least _____. (There is only one correct answer)

A:2
B:3
C:4
D:6
答案: 3

2、 现有中缀表达式E=((100-4)/3+3(36-7))2。以下哪个是与E等价的后缀表达式?Existing infix expression E = ((100-4) / 3 + 3 * (36-7)) * 2. Which of the following is the equivalent postfix expression of E? (There is only one correct answer)

A:( ( 100 4 – ) 3 / 3 ( 36 7 – ) * + ) 2
B:
 + / – 100 4 3 * 3 – 36 7 2
C:100 4 – 3 / 3 36 7 – * + 2
D:
 ( + / ( – 100 4 ) 3 * 3 ( – 36 7 ) ) 2
答案: 100 4 – 3 / 3 36 7 – * + 2 *

3、 队列的特点包括:Queue’ features include:(There are more than one answers.)

A:后进先出Last-in first-out (LIFO)
B:先进后出First-in last-out (FILO)
C:先进先出First-in first-out (FIFO)
D:后进后出 Last-in last-out (LILO)
答案: 先进先出First-in first-out (FIFO);
后进后出 Last-in last-out (LILO)

4、 以下循环队列的实现方式中,长度为n的队列,所能容纳的元素个数也为n的有:In the following realizing ways of circular queue, the queue whose length is n can also contain the number of n elements is:(There are more than one answers.)

A:只用front和rear两个指针标记队列的头和尾,两个指针均为实指Only use front and rear as the queue’s head and tail pointers and the two pointers are actually referring to.
B:用front和rear两个指针标记队列的头和尾,并用整型变量len记录队列元素数With the queue’s head and tail pointers marked as front and rear, use the integer variable len to record the number of elements.
C:用front和rear两个指针标记队列的头和尾,并用布尔型变量empty记录队列是否为空With the queue’s head and tail pointers marked as front and rear, use Boolean variable empty record whether the queue is empty.
D:只用front和rear两个指针标记队列的头和尾,两个指针均为虚指Only use front and rear as the queue’s head and tail pointers and the two pointers are virtually referring to.
答案: 用front和rear两个指针标记队列的头和尾,并用整型变量len记录队列元素数With the queue’s head and tail pointers marked as front and rear, use the integer variable len to record the number of elements.;
用front和rear两个指针标记队列的头和尾,并用布尔型变量empty记录队列是否为空With the queue’s head and tail pointers marked as front and rear, use Boolean variable empty record whether the queue is empty.

5、 编号为1,2,3,4的四辆列车,顺序开进一个栈式结构的站台;则开出车站的顺序有__种可能。 注释:例如 1, 2, 3, 4 或 4, 3, 2,1 就是其中两种可能出站序列;而 4, 3, 1, 2 是 非法序列。Numbered 1,2,3,4 four trains, orderly entered a stack structure station. How many possible leaving sequences of that four trains ? ____ . Note: For instance, the leaving sequence could be 1,2,3,4 or 4,3,2,1 these two possibilities, but 4, 3, 1, 2 is not a possible sequence.
答案: 14
分析:出栈次序是经典的问题,与组合数学中的卡特兰数密切相关,以下只介绍朴素的思路。
先进站的车可以先开,也可以后开。只有一种情况不可能:编号大的车开出后,比其编号小的车反序开出。也即编号大的车开出后,编号比其小的车只能由大到小依次开出(中间可以插入编号更大的车,但此车后面的编号小的车也要遵守此规则)。例如312的开出顺序是不可能的。对所有车进行全排列共有24种出法。但4开头的只能有一种:4321。所以少了3的全排列-1=5种。三开头的时候,必须先2后1开出,先1后2时4的位置有三种:3124、3142、3412,所以少了三种。1或2开头的时候,后面的车如果是4,则最后两辆必须是3、2或3、1。所以又少了1423、2413两种。总共少了5+3+2=10种,有24-10=14种开出法。
下面用+表示进站,-表示出站:
1234:1+ ;1- ;2+ ;2- ;3+ ;3- ;4+ ;4-
1243:1+ ;1- ;2+ ;2- ;3+ ;4+ ;4- ;3-
1324:1+ ;1- ;2+ ;3+ ;3- ;2- ;4+ ;4-
1342:1+ ;1- ;2+ ;3+ ;3- ;4+ ;4- ;2-
1432:1+ ;1- ;2+ ;3+ ;4+ ;4- ;3- ;2-
2134:1+ ;2+ ;2- ;1- ;3+ ;3- ;4+ ;4-
2143:1+ ;2+ ;2- ;1- ;3+ ;4+ ;4- ;3-
2314:1+ ;2+ ;2- ;3+ ;3- ;1- ;4+ ;4-
2341:1+ ;2+ ;2- ;3+ ;3- ;4+ ;4- ;1-
2431:1+ ;2+ ;2- ;3+ ;4+ ;4- ;3- ;1-
3214:1+ ;2+ ;3+ ;3- ;2- ;1- ;4+ ;4-
3241:1+ ;2+ ;3+ ;3- ;2- ;4+ ;4- ;1-
3421:1+ ;2+ ;3+ ;3- ;4+ ;4- ;2- ;1-
4321:1+ ;2+ ;3+ ;4+ ;4- ;3- ;2- ;1-;

6、 双端队列可以在队列的两端进行插入和删除操作,既可在队尾进行插入/删除,又可在队头进行插入/删除。现有4个不同的元素顺序输入到双端队列,那么可以得到_种不同的排列。double-ended queue can insert and delete operations on both ends of the queue. That it can insert / delete at its tail, but also at the head. Existing 4 different elements sequentially input to the double-ended queue, you can get ___ different permutations.
答案: 8
分析:第一个元素从左或右入队没有区别,以后每个元素都有从左和从右两种入队方式,即有2^{x-1}种方法。

第五章 二叉树 第五章 二叉树前半部分(5.1~5.4)测验

1、 下列关于二叉树性质的说法正确的有:(多选)Which sentences of the followings are right about a binary tree’s characterization:(There are more than one correct answers)

A:非空满二叉树的结点个数一定为奇数个。 The amount of nodes of a full binary tree with at least one node must be odd.
B:非完全二叉树也可以用像完全二叉树那样使用顺序存储结构进行存储。Sequential storing structure can also be used to store an incomplete binary tree just like to store a complete binary tree.
C:当一棵完全二叉树是满二叉树时,叶子结点不一定集中在最下面一层。If a complete binary tree is a full binary tree, it will be possible that leaf nodes is no t on the nethermost layer.
D:完全二叉树最多只有最下面的一层结点度数可以小于2。For a complete binary tree, only the degrees of nodes on the nethermost layer could be less than 2.
E:一棵非空二叉树的为空的外部结点数目等于其结点数加1。The amount of external null nodes in a binary tree with at least one node equals to its amount of nodes plus 1.
F:满二叉树的所有结点的度均为2。All degrees of nodes in a full binary tree are 2.
答案: 非空满二叉树的结点个数一定为奇数个。 The amount of nodes of a full binary tree with at least one node must be odd.;
当一棵完全二叉树是满二叉树时,叶子结点不一定集中在最下面一层。If a complete binary tree is a full binary tree, it will be possible that leaf nodes is no t on the nethermost layer.;
一棵非空二叉树的为空的外部结点数目等于其结点数加1。The amount of external null nodes in a binary tree with at least one node equals to its amount of nodes plus 1.

2、 下列关于二叉树遍历的说法正确的有:Which sentences of the followings are right about traversal of a binary tree:

A:前序和中序遍历的顺序恰好一样的二叉树,只能是空二叉树或者独根二叉树这两种情况。Only the sequences of preorder and infix order of the binary tree with no nodes or only one node are the same.
B:所有结点左子树为空的二叉树的前序和中序遍历顺序恰好一样。The sequences of preorder and infix order of a binary tree with all nodes without left child tree are the same.
C:所有结点右子树为空的二叉树的前序和中序遍历顺序恰好一样。The sequences of preorder and infix order of a binary tree with all nodes without right child tree are the same.
D:只有空二叉树和一个根结点的二叉树这两种二叉树的前序和后序遍历的顺序恰好一样。Only the sequences of preorder and post order of the binary tree with no nodes or only one node are the same.
E:所有结点左子树为空的二叉树的前序和后序遍历顺序恰好一样。The sequences of preorder and post order of a binary tree with all nodes without left child tree are the same.
F:所有结点右子树为空的二叉树的前序和后序遍历顺序恰好一样。The sequences of preorder and post order of a binary tree with all nodes without left child tree are the same.
G:只有空二叉树和一个根结点的二叉树这两种二叉树的中序和后序遍历的顺序恰好一样。Only the sequences of infix order and post order of the binary tree with no nodes or only one node are the same.
H:所有结点左子树为空的二叉树的中序和后序遍历顺序恰好一样。The sequences of infix order and post order of a binary tree with all nodes without left child tree are the same.
I:所有结点右子树为空的二叉树的中序和后序遍历顺序恰好一样。The sequences of infix order and post order of a binary tree with all nodes without right child tree are the same.
J: 存在一棵非空二叉树,它的前序、中序和后序遍历都是一样的。There exists a binary tree with at least one node, whose preorder, infix order and post order are all the same.
答案: 所有结点左子树为空的二叉树的前序和中序遍历顺序恰好一样。The sequences of preorder and infix order of a binary tree with all nodes without left child tree are the same.;
只有空二叉树和一个根结点的二叉树这两种二叉树的前序和后序遍历的顺序恰好一样。Only the sequences of preorder and post order of the binary tree with no nodes or only one node are the same.;
所有结点右子树为空的二叉树的中序和后序遍历顺序恰好一样。The sequences of infix order and post order of a binary tree with all nodes without right child tree are the same.;



上方为免费预览版答案,如需购买完整答案,请点击下方红字

点击这里,购买完整版答案


点关注,不迷路,微信扫一扫下方二维码

关注我们的公众号:萌面人APP  随时查看答案,网课轻松过

数据结构与算法(北京大学) 中国大学mooc答案满分完整版章节测试第16张


为了方便下次阅读,建议在浏览器添加书签收藏本网页

电脑浏览器添加/查看书签方法

1.按键盘的ctrl键+D键,收藏本页面

数据结构与算法(北京大学) 中国大学mooc答案满分完整版章节测试第17张

2.下次如何查看收藏的网页?

点击浏览器右上角-【工具】或者【收藏夹】查看收藏的网页

数据结构与算法(北京大学) 中国大学mooc答案满分完整版章节测试第18张


手机浏览器添加/查看书签方法

一、百度APP添加/查看书签方法

1.点击底部五角星收藏本网页

数据结构与算法(北京大学) 中国大学mooc答案满分完整版章节测试第19张

2.下次如何查看收藏的网页?

点击右上角【┇】-再点击【收藏中心】查看

数据结构与算法(北京大学) 中国大学mooc答案满分完整版章节测试第20张

二、其他手机浏览器添加/查看书签方法

1.点击【设置】-【添加书签】收藏本网页

数据结构与算法(北京大学) 中国大学mooc答案满分完整版章节测试第21张

2.下次如何查看收藏的网页?

点击【设置】-【书签/历史】查看收藏的网页

数据结构与算法(北京大学) 中国大学mooc答案满分完整版章节测试第22张

浚翰佛搓鸥某苹视匪彭捎颊蜜