MOOC数据结构与算法Python版-第一周测验

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/suxiaorui/article/details/100798865

1 以下关于基于有穷观点的能行方法说法错误的是:B

  • A.指令执行在有限步骤后终止

  • B.由有限数量的任意指令构成

  • C.指令每次执行都得到唯一的结果

  • D.原则上可以由人单独采用纸笔完成

不是任意指令,是由有限数量的明确有限指令组成。

2 以下关于ADT抽象数据类型说法错误的是:D

  • A.ADT建立的封装技术将可能的处理实现细节隐蔽起来。

  • B.采用程序设计语言的控制结构和基本数据类型来实现ADT的所提供的逻辑接口。

  • C.ADT是对数据进行处理的一种逻辑描述。

  • D.同一ADT只有唯一的数据结构可以实现。

同一ADT可以采用不同的数据结构来实现。

3 关于“图灵机”,下列说法不正确的个数为:A

1)图灵机给出的是计算机的理论模型;

2)图灵机的状态转移函数q, X, Y, R(或L或N), p,其实就是一条指令,即在q状态下,当输入为X时,输出为Y,读写头向右(R)、向左(L)移动一格或不动(N),状态变为p;

3)图灵机是一种离散的、有穷的、构造性的问题求解思路;

4)凡是能用算法方法解决的问题也一定能用图灵机解决,凡是图灵机解决不了的问题算法也解决不了。

  • A.0

  • B.3

  • C.2

  • D.1

20世纪30年代,图灵提出了图灵机模型,建立了指令、程序及通用机器执行程序的理论模型,奠定了计算理论的基础,因此(1)正确;选项(2)是图灵机的五元组形式的指令集,是一个行动集合,又称状态转移函数,因此正确;图灵机是一种离散的、有穷的、构造性的问题求解思路,一个问题的求解可以通过构造其图灵机(即算法和程序)来解决,因此(3)正确;(4)为图灵可计算性问题,正确。所以没有错误的。

4 下图为用状态转换图示意的一个图灵机,其字母集合为{0,1,X,Y,B},其中B为空白字符;状态集合{S1,S2,S3,S4,S5},其中S1为起始状态,S5为终止状态;箭头表示状态转换,其上标注的如in, out, direction表示输入是in时,输出out,向direction方向移动一格,同时将状态按箭头方向实现转换,其中in,out均是字母集中的符号,direction可以为R(向右移动)、L(向左移动)、N(停留在原处)。

该图灵机能实现的功能是:A

  • A.将形如000111,00001111的0、1串,即左侧连续0的个数和右侧连续1的个数相同的0、1串转换为XXXYYY, XXXXYYYY的形式。

  • B.识别是否如000111,00001111的0、1串,即左侧连续0的个数和右侧连续1的个数相同的0、1串。

  • C.识别是否如0101,01010101的0、1串,即一个0接续一个1,且0的个数和1的个数相同。

  • D.将形如0101,01010101的0、1串,即一个0接续一个1,且0的个数和1的个数相同, 转换为XYXY, XYXYXYXY的形式。

根据本题中的描述及状态转移图,可以看到该图灵机是将一个0、1串中的0转换成X,1转换成Y。接着,具体来看S1、S2、S3的转移,一个串从S1开始,当遇到第一个0,将0转换成X,然后向右移一位,进入状态S2,该状态检测下一位是否为1,当不是的话,什么都不做,直接向右移一位,知道遇到第一个1,遇到以后,将1转换成Y,向左移动,进入到状态S3,该状态回溯0、1串,直到遇到X,然后指向在其右侧的符号,返回到S1状态。这个过程即为一个左侧连续0的个数和右侧连续1的个数相同的0、1串,每次都寻找排在最前面的一个0和一个1,将它们分别转换成X,Y,直到所有的0和1转换为X和Y。因此,答案(D)正确。

5 下图为用状态转换图示意的一个图灵机,其字母集合为{0,1,X,Y,B},其中B为空白字符;状态集合{S1,S2,S3,S4,S5,S6},其中S1为起始状态,S6为终止状态;箭头表示状态转换,其上标注的如in, out, direction表示输入是in时,输出out,向direction方向移动一格,同时将状态按箭头方向实现转换,其中in,out均是字母集中的符号,direction可以为R(向右移动)、L(向左移动)、N(停留在原处)。

该图灵机能实现的功能是:D

  • A.识别是否如0101,01010101的0、1串,即一个0接续一个1,且0的个数和1的个数相同。

  • B.将形如0101,01010101的0、1串,即一个0接续一个1,且0的个数和1的个数相同, 转换为XYXY, XYXYXYXY的形式。

  • C.将形如000111,00001111的0、1串,即左侧连续0的个数和右侧连续1的个数相同的0、1串转换为XXXYYY, XXXXYYYY的形式。

  • D.识别是否如000111,00001111的0、1串,即左侧连续0的个数和右侧连续1的个数相同的0、1串。

该图灵机由上题衍生出来,即类似(A)(C)中的间隔字符串无法通过S4,而类似(B)(D)中的字符串可以运行至S4将0、1串变更为X、Y串,但在S5状态中图灵机又将X、Y串变回0、1串,因此该图灵机不是用来转换字串的,该图灵机是用来检验字串的,因此(B)正确。

6 一个图灵机应该由以下哪些部分组成?ABD

  • A.无限长的分格纸带

  • B.读写头

  • C.字符

  • D.状态寄存器

逻辑结构上图灵机有四个部分组成

  1. 一个无限长的存储带,带子有一个个连续的存储格子组成,每个格子可以存储一个数字或符号

  2. 一个读写头,读写头可以在存储带上左右移动,并可以读、修改存储格上的数字或符号

  3. 内部状态存储器,该存储器可以记录图灵机的当前状态,并且有一种特殊状态为停机状态

  4. 控制程序指令,指令可以根据当前状态以及当前读写头所指的格子上的符号来确定读写头下一步的动作(左移还是右移),并改变状态存储器的值,令机器进入一个新的状态或保持状态不变。

7一般来说我们可以把生活中常见的问题分为哪几类?ABD

  • A.证明问题

  • B.过程问题

  • C.计算问题

  • D.分类问题

问题的分类:

What 是什么? 面向判断与分类的问题

Why 为什么?  面向求因与证明的问题

How 怎么做?  面向过程与构建的问题

8以下哪些方法不是以算法的概念来解决问题?AC

  • A.星象占卜

  • B.DNA计算

  • C.智慧众包

  • D.光子计算

星象占卜显然不是,智慧众包是靠具有智慧和直觉的众多的人脑一起来解决问题,所以这两个不是以算法的概念来解决问题。

猜你喜欢

转载自blog.csdn.net/suxiaorui/article/details/100798865