当前位置:首页 > 翰林刷题小程序章节题 > 正文内容

【职业资格考试】【(初级)程序员】【2020章节练习-综合练习】课本练习题

(1).

某二叉树如图所示,若进行顺序存储(即用一维数组元素存储该二叉树中的节点且通过下标反映节点间的关系,例如,对于下标为i的节点,其左孩子的下标为2i、右孩子的下标为2i+1),则该数组的大小至少为(请作答此空);若采用三叉链表存储该二叉树(各个节点包括节点的数据、父节点指针、左孩子指针、右孩子指针),则该链表的所有节点中空指针的数目为()。

A.6
B.10
C.12
D.15
正确答案D

(2).Prim算法和Kruscal算法都是无向连通网的最小生成树的算法,Prim算法从一个顶点开始,每次从剩余的顶点中加入一个顶点,该顶点与当前的生成树中的顶点的连边权重最小,直到得到一颗最小生成树;Kruscal算法从权重最小的边开始,每次从不在当前的生成树顶点中选择权重最小的边加入,直到得到一颗最小生成树,这两个算法都采用了(请作答此空)设计策略,且()。

A.分治
B.贪心
C.动态规划
D.回溯
正确答案B

(3).

某双端队列如下图所示,要求元素进出队列必须在同一端口,即从A端进入的元素必须从A端出、从B端进入的元素必须从B端出,则对于4个元素的序列e1、e2、e3、e4,若要求前2个元素(e1、e2)从A端口按次序全部进入队列,后两个元素(e3、e4)从B端口按次序全部进人队列,则可能得到的出队序列是()。

A.e1、e2、e3、e4
B.e2、e3、e4、e1
C.e3、e4、e1、e2
D.e4、e3、e2、e1
正确答案D

(4).编译程序对高级语言源程序进行编译的过程中,要不断收集、记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入()中。

A.符号表
B.哈希表
C.动态查找表
D.栈和队列
正确答案A

(5).若对线性表的最常用操作是访问任意指定序号的元素,并在表尾加入和删除元素,则适宜采用()存储

A.顺序表
B.单链表
C.双向链表
D.哈希表
正确答案A

(6).实现二分查找(折半查找)时,要求查找表()

A.顺序存储,关键码无序排列
B.顺序存储,关键码有序排列
C.双向链表存储,关键码无序排列
D.双向链表存储,关键码有序排列
正确答案B

(7).快速排序算法是,在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了()算法设计策略。已知确定着基准元素操作的时间复杂度为O(n),则快速排序算法的最好和最坏情况下的时间复杂度为(请作答此空)。

A.O(n)和O(nlgn)
B.O(n)和O(n2)
C.O(nlgn)和O(nlgn)
D.O(nlgn)和O(n2)
正确答案D

(8).对于线性表,相对于顺序存储,采用链表存储的缺点是()。

A.数据元素之间的关系需要占用存储空间,导致存储密度不高
B.表中节点必须占用地址连续的存储单元,存储密度不高
C.插入新元素时需要遍历整个链表,运算的时间效率不高
D.删除元素时需要遍历整个链表,运算的时间效率不高
正确答案A

(9).对一待排序序列分别进行直接插入排序和简单选择排序,若待排序序列中有两个元素的值相同,则()保证这两个元素在排序前后的相对位置不变。

A.直接插入排序和简单选择排序都可以
B.直接插入排序和简单选择排序都不能
C.只有直接插入排序可以
D.只有简单选择排序可以
正确答案C

(10).

设有二叉排序树如下图所示,根据关键码序列()构造出该二叉排序树。

A.30 20 10 40
B.30 40 20 10
C.30 20 40 10
D.30 40 10 20
正确答案D

(11).

对于n个元素的关键码序列{k1,k2,…,Kn},当且仅当满足下列关系时称其为堆。 以下关键码序列中,()不是堆。

A.12, 25, 22, 53, 65, 60, 30
B.12, 25, 22, 30, 65,60, 53
C.65, 60,25, 22, 12, 53, 30
D.65,60, 25, 30, 53, 12,22
正确答案C

(12).递归函数执行时,其调用和返回控制是利用()来进行的。

A.栈
B.对列
C.数组
D.树
正确答案A

(13).对二叉树进行后序遍历和中序遍历时,都依照左子树在前右子树在后的顺序。已知对某二叉树进行后序遍历时,结点M是最后被访问的结点,而对其进行中序遍历时,M是第一个被访问的结点,那么该二叉树的树根结点为M,且()

A.其左子树和右子树都必定为空
B.其左子树和右子树都不为空
C.其左子树必定为空
D.其右子树必定为空
正确答案C

(14).

下图是一个有限自动机的状态转换图(A为初态、C为终态),该自动机识别的字符串集合可用正规式()来表示。

A.(1|2)*00
B.0(1|2)*0
C.(0|1|2)*
D.00(1|2)*
正确答案B

(15).若关键码序列(47,61,55,39,10,26,90,82)采用散列法进行存储和查找。设散列函数为H(Key)=Keymod11(mod表示整除取余运算),拟采用链地址法(拉链法)解决冲突构造散列表。以下关于该散列表的叙述中,正确的是()

A.关键码10和90位于同一个链中
B.关键码61和82位于同一个链中
C.关键码61和39位于同一个链中
D.关键码47、55和39位于同一个链中
正确答案C

(16).设数组a[1..m,1..n](m>1,n>1)中的元素按行存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤m,1≤j≤n)相对于数组首元素的偏移量为()

A.(i-1)*m+j-1
B.(i-1)*n+j-1
C.(j-1)*m+i-1
D.(j-1)*n+i-1
正确答案B

(17).某道多项选择题有 A、 B、 C、 D、E五个备选项,要求从中选择2项或2项以上,全部选对才算解答正确。按照上述要求,某考生凭猜测答题,解答正确的概率是()

A.1/10
B.1/16
C.1/26
D.1/31
正确答案C

(18).甲乙两人同时从同一地点出发向相反方向沿同一条环形公路匀速行走,甲将用3小时走完一圈,乙将用2小时走完一圈,则他们将在出发后()小时第一次相遇。

A.1.1
B.1.2
C.1.3
D.1.4
正确答案B

(19).用()来描述算法时,可以采用类似于程序设计语言的语法结构,也易于转换为程序。

A.自然语言
B.流程图
C.N-S盒图
D.伪代码
正确答案D

(20).

对下图所示的二叉树进行顺序存储(根结点编号为1,对于编号为i的结点,其左孩子结点为2i,右孩子结点为2i+1)并用一维数组BT来表示。已知结点X、E和D在数组BT中的下标为分别为1、2、3,可推出结点 G、K和H在数组BT中的下标分别为()。

A.10、11、12
B.12、24、25
C.11、12、13
D.11、22、23
正确答案D

(21).可利用一个栈来检查表达式中的括号是否匹配,其方法是:初始时设置栈为空,然后从左到右扫描表达式,遇到左括号“(”就将其入栈,遇到右括号“)”就执行出栈操作,忽略其他符号。在检查表达式“a*(b+c))-d”时,由于(),因此可判断出该表达式中的括号不匹配。

A.需要进行出栈操作但栈已空
B.需要进行入栈操作但栈已满
C.表达式处理已结束,但栈中仍留有字符“(”
D.表达式处理已结束,但栈中仍留有字符")”
正确答案A

(22).对于关键字序列(10,34,37,51,14,25,56,22,3),用线性探查法解决冲突构造哈希表,哈希函数为H(key)=key%11,关键字25存入的哈希地址编号为()

A.2
B.3
C.5
D.6
正确答案C

(23).判定表和判定树常用于描述数据流图的()

A.数据存储
B.外部实体
C.加工逻辑
D.循环操作
正确答案C

(24).三个互异的元素a、b、c依次经过一个初始为空的栈后,可以得到()种出栈序列。

A.6
B.5
C.3
D.1
正确答案B

(25).按照逻辑关系的不同可将数据结构分为()

A.顺序结构和链式结构
B.顺序结构和散列结构
C.线性结构和非线性结构
D.散列结构和索引结构
正确答案C

(26).在一个线性表上可以进行二分查找(折半查找)的充分必要条件是()

A.线性表采用顺序存储且元素有序排列
B.线性表采用顺序存储且元素无序排列
C.线性表采用单链表存储且元素有序排列
D.线性表采用单链表存储且元素无序排列
正确答案A

(27).设有字符串S='software',其长度为3的子串数目为()

A.8
B.7
C.6
D.5
正确答案C

(28).

对于下图,从顶点1进行深度优先遍历时,不可能得到的遍历序列是();若将该图用邻接矩阵存储,则矩阵中的非0元素数目为(请作答此空)。

A.7
B.8
C.14
D.16
正确答案B

(29).在数据结构中,()是与存储结构无关的术语。

A.单链表
B.二叉树
C.哈希表
D.循环队列
正确答案B

(30).在C程序中有些变量随着其所在函数被执行而为其分配存储空间,当函数执行结束后由系统回收。这些变量的存储空间应在()分配。

A.代码区
B.静态数据区
C.栈区
D.堆区
正确答案C

(31).在有13个元素构成的有序表data[1..13]中,用折半查找(即二分查找,计算时向下取整)方式查找值等于data[8]的元素时,先后与()等元素进行了比较。

A.data[7]、data[6]、data[8]
B.data[7]、data[8]
C.data[7]、data[10]、data[8]
D.data[7]、data[10]、data[9]、data[8]
正确答案C

(32).对于一个初始为空的栈,其入栈序列为abe时,其出栈序列可以有()种。

A.3
B.4
C.5
D.6
正确答案C

(33).

假设有5个网站 A、 B、 C、 D、 E,这些网站之间具有的链接关系如下表: 其中符号"√"表示存在从一个网站到另一个网站的链接。假设网站的权威度定义为有多少个网站链接到该网站,则上述5个网站中权威度最高的是()

A.A
B.B
C.C
D.D
正确答案D

(34).

对于下图,从顶点1进行深度优先遍历时,不可能得到的遍历序列是(请作答此空);若将该图用邻接矩阵存储,则矩阵中的非0元素数目为()

A.1234.567
B.1523467
C.1234675
D.1267435
正确答案A

(35).以下关于栈和队列的叙述中,错误的是()

A.栈和队列都是线性的数据结构
B.栈和队列都不允许在非端口位置插入和删除元素
C.一个序列经过一个初始为空的栈后,元素的排列次序一定不变
D.一个序列经过一个初始为空的队列后,元素的排列次序不变
正确答案C

(36).通用的高级程序语言一般都会提供描述数据、运算、控制和数据传输的语言成分,其中,控制成分中有顺序、()、循环结构。

A.选择
B.递归
C.递推
D.函数
正确答案A

(37).完全二叉树的特点是叶子结点分布在最后两层,且除最后一层之外,其他层的结点数都达到最大值,那么25个结点的完全二叉树的高度(即层数)为()

A.3
B.4
C.5
D.6
正确答案C

(38).线性表采用单链表存储时的特点是()

A.插入、删除不需要移动元素
B.可随机访问表中的任一元素
C.必须事先估计存储空间需求量
D.结点占用地址连续的存储空间
正确答案A

(39).数组是程序语言提供的基本数据结构,对数组通常进行的两种基本操作是数组元素的()

A.插入和删除
B.读取和修改
C.插入和检索
D.修改和删除
正确答案B

(40).

已知某带权图G的邻接表如下所示,其中表结点的结构为: 以下关于该图的叙述中,正确的是()

A.图G是强连通图
B.图G具有14条弧
C.顶点B的出度为3
D.顶点B的入度为3
正确答案D

(41).特殊矩阵是非零元素有规律分布的矩阵,以下关于特殊矩阵的叙述中,正确的是()

A.特殊矩阵适合采用双向链表进行压缩存储
B.特殊矩阵适合采用单向循环链表进行压缩存储
C.特殊矩阵的所有非零元素可以压缩存储在一维数组中
D.特殊矩阵的所有零元素可以压缩存储在一维数组中
正确答案C

(42).

某二叉排序树如下所示,新的元素45应作为()插入该二叉树中。

A.11的左子树
B.17的右子树
C.61的左子树
D.27的右子树
正确答案C

(43).在堆栈操作中,()保持不变。

A.堆栈的顶
B.堆栈的底
C.堆栈指针
D.堆栈中的数据
正确答案B

(44).用链表作为栈的存储结构时,若要入栈操作成功,则()

A.必须先判断是否栈满
B.必须先判断是否栈空
C.必须先判断栈顶元素的类型
D.必须成功申请到入栈元素所需结点
正确答案D

(45).

若关键码序列(23,35,14,49,8,12,30,7)采用散列法进行存储和查找。设散列函数为H(Key)=Key%11,采用线性探查法(顺序地探查可用存储单元)解决冲突,尚未构造完成的散列表如下所示,则元素12应存入哈希地址单元()

B.4
C.11
D.12
正确答案B

(46).一个计算机算法是对特定问题求解步骤的一种描述。()并不是一个算法必须具备的特性;若一个算法能够识别非法的输入数据并进行适当处理或反馈,则说明该算法的(请作答此空)较好。

A.可行性
B.正确性
C.健壮性
D.确定性
正确答案C

(47).设数组a[1..n,1..m](n>1,m>1)中的元素以列为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤n,1≤j≤m)相对于数组空间首地址的偏移量为()

A.(i-1)*m+j-1
B.(i-1)*n+j-1
C.(j-1)*m+i-1
D.(j-1)*n+i-1
正确答案D

(48).一个计算机算法是对特定问题求解步骤的一种描述。(请作答此空)并不是一个算法必须具备的特性;若一个算法能够识别非法的输入数据并进行适当处理或反馈,则说明该算法的()较好

A.可移植性
B.可行性
C.确定性
D.有穷性
正确答案A

(49).设某无向图的顶点个数为n,则该图最多(42)条边;若将该图用邻接矩阵存储,则矩阵的行数和列数分别为()。

A.n
B.n*(n-1)/2
C.n*(n+1)/2
D.n*n
正确答案B

(50).若线性表采用链式存储结构,则适用的查找方法为()。

A.随机查找
B.散列查找
C.二分查找
D.顺序查找
正确答案D

(51).堆排序是一种基于()的排序方法,(请作答此空)不是堆。

A.15,28,25,56,68,63,30
B.15,28,25,30,68,63,56
C.68,28,63,25,15,56,30
D.68,56,39,63,28,25,15
正确答案D

(52).若in、out分别表示入队、出队操作,初始队列为空且元素a、b、c依次入队,则经过操作序列in、in、out、out、in、out之后,得到的出队序列为()。

A.cba
B.bac
C.bca
D.abc
正确答案D

(53).

快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于等于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了()算法设计策略。已知确定基准元素操作的时间复杂度为Θ(n),则快速排序算法的最好和最坏情况下的时间复杂度为(请作答此空)。

A.A
B.B
C.C
D.D
正确答案D

(54).字符串“computer”中长度为3的子串有()个。

A.4
B.5
C.6
D.7
正确答案C

(55).数组的内情向量中肯定不含有数组的()信息

A.维数
B.类型
C.维上下界
D.各维的界差
正确答案D

(56).程序的3种基本结构是()。

A.过程、子程序和分程序
B.顺序、选择和循环
C.递归、堆栈和队列
D.调用、返回和转移
正确答案B

(57).在以下情形中,()适合于采用队列数据结构。

A.监视一个火车票售票窗口等待服务的客户
B.描述一个组织中的管理机构
C.统计一个商场中的顾客数
D.监视进入某住宅楼的访客
正确答案A

(58).

对于一般的树结构,可以采用孩子-兄弟表示法,即每个结点设置两个指针域,一个指针(左指针)指示当前结点的第一个孩子结点,另一个指针(右指针)指示当前结点的下一个兄弟结点。某树的孩子-兄弟表示如下图所示。以下关于结点D与E的关系的叙述中,正确的是(40)。

A.结点D与结点E是兄弟
B.结点D与结点E的祖父结点
C.结点E的父结点与结点D的父结点是兄弟
D.结点E的父结点与结点D是兄弟
正确答案D

(59).

对关键码序列(12,24,15,56,20,87,69,9)采用散列法进行存储和查找,并设散列函数为H(Key)=Key%11(%表示整除取余运算)。采用线性探查法(顺序地探查可用存储单元)解决冲突所构造的散列表为()

A.A
B.B
C.C
D.D
正确答案B

(60).有关哈夫曼编码方法,以下说法正确的是()

A.哈夫曼编码是一种用于校验的编码方法
B.编码过程中需要根据符号出现的概率来进行编码
C.编码过程中需要建立"词典"
D.哈夫曼编码方法不能用于静态图像压缩
正确答案B

(61).在C程序中有一个二维数组A[7][8],每个数组元素用相邻的8个字节存储,那么存储该数组需要的字节数为(40)。

A.56
B.120
C.448
D.512
正确答案C

(62).采用(36)算法对序列{18,12,10,11,23,2,7}进行一趟递增排序后,其元素的排列变为{12,10,11,18,2,7,23}。

A.选择排序
B.快速排序
C.归并排序
D.冒泡排序
正确答案D

(63).若循环体执行的次数为m,则在do-while型循环中,循环条件的执行次数为(),在while-do型循环中,判断循环条件的次数为(请作答此空)。

A.m-1
B.m
C.m+1
D.2m
正确答案B

(64).如果一棵二叉树的中序序列和后序序列分别为CDBEAGHFK和DCEBHGKF A,则该树的前序序列为()。

A.KHGFEDCBA
B.ABDCEFKGH
C.ABEFCDGHK
D.ABCDEFGHK
正确答案D

(65).设元素a、b、c、d依次进入一个初始为空的栈,则不可能通过合法的栈操作序列得到(38)。

A.a b c d
B.b a d c
C.c a d b
D.d c b a
正确答案C

(66).递归函数执行时,需要()来提供支持。

A.栈
B.队列
C.有向图
D.二叉树
正确答案A

(67).堆排序是一种基于(请作答此空)的排序方法,()不是堆。

A.计数
B.插入
C.选择
D.归并
正确答案C

(68).为支持函数调用及返回,常采用称为“(39)”的数据结构。

A.队列
B.栈
C.多维数组
D.顺序表
正确答案B

(69).对n个关键码构成的序列采用直接插入排序法进行升序排序的过程是:在插入第i个关键码Ki时,其前面的i-1个关键码己排好序,因此令Ki与Ki-1、Ki-2、...,依次比较,最多到K1为止,找到插入位置并移动相关元素后将Ki插入有序子序列的适当位置,完成本趟(即第i-1趟)排序。以下关于直接插入排序的叙述中,正确的是()

A.若原关键码序列已经升序排序,则排序过程中关键码间的比较次数最少
B.若原关键码序列已经降序排序,则排序过程中关键码间的比较次数最少
C.第1趟完成后即可确定整个序列的最小关键码
D.第1趟完成后即可确定整个序列的最大关键码
正确答案A

(70).线性表采用单循环链表存储的主要特点是(36)。

A.从表中任一结点出发都能遍历整个链表
B.可直接获取指定结点的直接前驱和直接后继结点
C.在进行删除操作后,能保证链表不断开
D.与单链表相比,更节省存储空间
正确答案A

(71).若push、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为()

A.321
B.213
C.231
D.123
正确答案B

(72).设S是一个长度为n的非空字符串,其中的字符各不相同,则其互异的非平凡子串(非空且不同于S本身〉的个数(41)。

A.2n-l
B.n2
C.n(n+l)/2
D.(n+2)(n-l)/2
正确答案D

(73).静态查找表的全部运算是()

A.建表
B.建表和查找
C.查找与读表元
D.建表、查找和读表元
正确答案D

(74).为实现快速排序算法,待排序列适合采用()

A.顺序存储
B.链式存储
C.散列存储
D.索引存储
正确答案A

(75).对广义表L=((a,b),(c,d),(e,f))执行操作tail(tail(L))的结果是()。

A.(e,f)
B.((e,f))
C.(f)
D.()
正确答案B

(76).哈希表的平均查找长度和()无直接关系。

A.哈希函数
B.装填因子
C.哈希表记录类型
D.处理冲突的方法
正确答案C

(77).数据结构按照逻辑关系的不同,可以分为()两大类。

A.树结构和链表结构
B.队列结构和非线性结构
C.线性结构和非线性结构
D.堆栈结构和链表结构
正确答案C

(78).若要求对大小为n的数组进行排序的时间复杂度为O(nlog2n),且是稳定的(即如果待排序的序列中两个数据元素具有相同的值,在排序前后它们的相对位置不变),则可选择的排序方法是(39)。

A.快速排序
B.归并排序
C.堆排序
D.冒泡排序
正确答案B

(79).

下表有4*7个单元格,可以将其中多个邻接的单元格拼成矩形块。该表中共有()个四角上都为1的矩形块。

A.6
B.7
C.10
D.12
正确答案D

(80).若对线性表的最常用操作是访问任意指定序号的元素,并在表尾加入和删除元素,则适宜采用()存储。

A.顺序表
B.单链表
C.双向链表
D.哈希表
正确答案A

(81).可以用栈来检查算术表达式中的括号是否匹配。分析算术表达式时,初始栈为空,从左到右扫描字符,遇到字符“(”就将其入栈,遇到“)”就执行出栈操作。对算术表达式“(a+b*(a+b))/c)+(a+b)”,检查时,();对算术表达式“((a+b/(a+b)-c/a)/b”,检查时,(请作答此空)。这两种情况都表明所检查的算术表达式括号不匹配。

A.栈为空却要进行出栈操作
B.栈已满却要进行入栈操作
C.表达式处理已结束,栈中仍留有字符“(”
D.表达式处理已结束,栈中仍留有字符“)”
正确答案C

(82).菲波那契(Fibonacci)数列定义为 f(1)=1,f(2)=1,n>2时f(n)=f(n-1)+f(n-2) 据此可以导出,n>1时,有向量的递推关系式: (f(n+1),f(n))=f(f(n),f(n-1))A 其中A是2*2矩阵()。从而,f(n+1),f(n)=(f(2),f(1))*(65).

A.An-1
B.An
C.An+1
D.An+2
正确答案A

(83).某工厂业务处理系统的部分需求为:客户将订货信息填入订货单,销售部员工查询库存管理系统获得商品的库存,并检查订货单,如果订货单符合系统的要求,则将批准信息填入批准表,将发货信息填入发货单;如果不符合要求,则将拒绝信息填入拒绝表。对于检查订货单,需要根据客户的订货单金额(如大于等于5000,小于5000元)和客户目前的偿还款情况(如大于60天,小于等于60天),采取不同的动作,如不批准、发出批准书、发出发货单和发催款通知书等。根据该需求绘制数据流图,则(请作答此空)表示为数据存储。使用()表达检查订货单的规则更合适。

A.客户
B.订货信息
C.订货单
D.检查订货单
正确答案C

(84).将一个递归算法改为对应的非递归算法时,通常需要使用()

A.优先队列
B.队列
C.循环队列
D.栈
正确答案D

(85).对于线性表,相对于顺序存储,采用链表存储的缺点是()。

A.数据元素之间的关系需要占用存储空间,导致存储密度不高
B.表中结点必须占用地址连续的存储单元,存储密度不高
C.插入新元素时需要遍历整个链表,运算的时间效率不高
D.删除元素时需要遍历整个链表,运算的时间效率不高
正确答案A

(86).

某双端队列如下所示,要求元素进出队列必须在同一端口,即从A端进入的元素必须从A端出、从B端进入的元素必须从B端出,则对于4个元素的序列e1、e2、e3、e4,若要求从前2个元素(e1、e2)从A端口按次序全部进入队列,后两个元素(e3、e4)从B端口按次序全部进入队列,则可能得到的出队序列是()。

A.e1、e2、e3、e4
B.e2、e3、e4、e1
C.e3、e4、e1、e2
D.e4、e3、e2、e1
正确答案D

(87).串是任意有限个()

A.符号构成的集合
B.字符构成的序列
C.字符构成的集合
D.符号构成的序列
正确答案B

(88).设某无向图的顶点个数为n,则该图最多()条边;若将该图用邻接矩阵存储,则矩阵的行数和列数分别为(43)。

A.n、n
B.n、n-1
C.n-1、n
D.n+1、n
正确答案A

(89).为了用一个数代表一批数,人们常用这批数据的算术平均值(简称平均值)或中位数来代表。中位数就是位于这批数中间的数(大于它的数与小于它的数一样多)。对于奇数个数而言,排序后很容易确定中间那个数;对于偶数个数而言,排序后中间会有两个数,再取这两个数的算术平均,就是中位数。以下关于平均值与中位数的叙述中,()是不正确的。

A.中位数比平均值稳健,不易受极端值影响
B.每个数据加倍后,平均值也加倍;每个数据增加1后,平均值也增加1
C.三组各n个数据有三个中位数,它们的中位数就是这三组数据全体的中位数
D.三组各n个数据有三个平均值,它们的平均值就是这三组数据全体的平均值
正确答案C

(90).

在一条笔直公路的一边有许多房子,现要安装消防栓,每个消防栓的覆盖范围远大于房子的面积,如下图所示。现求解能覆盖所有房子的最少消防栓数和安装方案(问题求解过程中,可将房子和消防栓均视为直线上的点)。该问题求解算法的基本思路为:从左端的第一栋房子开始,在其右侧m米处安装一个消防栓,去掉被该消防栓覆盖的所有房子。在剩余的房子中重复上述操作,直到所有房子被覆盖。算法采用的设计策略为(请作答此空);对应的时间复杂度为() 假设公路起点A的坐标为0,消防栓的覆盖范围(半径)为20米,10栋房子的坐标为(10,20,,30,35,60,80,160,210,260,300),单位为米。根据上述算法,共需要安装()个消防栓。以下关于该求解算法的叙述中,正确的是()

A.分治
B.动态规划
C.贪心
D.回溯
正确答案C

(91).

现需要申请一些场地举办一批活动,每个活动有开始时间和结束时间。在同一个场地,如果一个活动结束之前,另一个活动开始,即两个活动冲突。若活动A从1时间开始,5时间结束,活动B从5时间开始,8时间结束,则活动A和B不冲突。现要计算n个活动需要的最少场地数。求解该问题的基本思路如下(假设需要场地数为m,活动数为n,场地集合为P1,P2,…,Pm),初始条件Pi均无活动安排:(1)采用快速排序算法对n个活动的开始时间从小到大排序,得到活动a1,a2,…,an。对每个活动ai,i从1到n,重复步骤(2)、(3)和(4);(2)从p1开始,判断ai与P1的最后一个活动是否冲突,若冲突,考虑下一个场地P2,…;(3)一旦发现ai与某个Pj的最后一个活动不冲突,则将ai安排到Pj,考虑下一个活动;(4)若ai与所有己安排活动的Pj的最后一个活动均冲突,则将ai安排到一个新的场地,考虑下一个活动;(5)将n减去没有安排活动的场地数即可得到所用的最少场地数算法首先采用了快速排序算法进行排序,其算法设计策略是(请作答此空);后面步骤采用的算法设计策略是()整个算法的时间复杂度是()下表给出了n=11的活动集合,根据上述算法,得到最少的场地数为()

A.分治
B.动态规划
C.贪心
D.回溯
正确答案A

(92).

某乡镇有7个村A~ G,各村间的道路和距离(单位:公里)如下图,乡政府决定在其中两村设立诊所,使这7村群众看病最方便(即最远的村去诊所的距离a最短)。经过计算,a=()公里。

A.3
B.3.3
C.4
D.4.5
正确答案A

(93).

现需要申请一些场地举办一批活动,每个活动有开始时间和结束时间。在同一个场地,如果一个活动结束之前,另一个活动开始,即两个活动冲突。若活动A从1时间开始,5时间结束,活动B从5时间开始,8时间结束,则活动A和B不冲突。现要计算n个活动需要的最少场地数。求解该问题的基本思路如下(假设需要场地数为m,活动数为n,场地集合为P1,P2,…,Pm),初始条件Pi均无活动安排:(1)采用快速排序算法对n个活动的开始时间从小到大排序,得到活动a1,a2,…,an。对每个活动ai,i从1到n,重复步骤(2)、(3)和(4);(2)从p1开始,判断ai与P1的最后一个活动是否冲突,若冲突,考虑下一个场地P2,…;(3)一旦发现ai与某个Pj的最后一个活动不冲突,则将ai安排到Pj,考虑下一个活动;(4)若ai与所有己安排活动的Pj的最后一个活动均冲突,则将ai安排到一个新的场地,考虑下一个活动;(5)将n减去没有安排活动的场地数即可得到所用的最少场地数算法首先采用了快速排序算法进行排序,其算法设计策略是();后面步骤采用的算法设计策略是()整个算法的时间复杂度是()下表给出了n=11的活动集合,根据上述算法,得到最少的场地数为(请作答此空)。

A.4
B.5
C.6
D.7
正确答案B

(94).

在一条笔直公路的一边有许多房子,现要安装消防栓,每个消防栓的覆盖范围远大于房子的面积,如下图所示。现求解能覆盖所有房子的最少消防栓数和安装方案(问题求解过程中,可将房子和消防栓均视为直线上的点)。该问题求解算法的基本思路为:从左端的第一栋房子开始,在其右侧m米处安装一个消防栓,去掉被该消防栓覆盖的所有房子。在剩余的房子中重复上述操作,直到所有房子被覆盖。算法采用的设计策略为();对应的时间复杂度为(请作答此空)。 假设公路起点A的坐标为0,消防栓的覆盖范围(半径)为20米,10栋房子的坐标为(10,20,,30,35,60,80,160,210,260,300),单位为米。根据上述算法,共需要安装()个消防栓。以下关于该求解算法的叙述中,正确的是()

A.O(lgn)
B.O(n)
C.(nlgn)
D.O(n2)
正确答案B

(95).

某二叉树如图所示,若进行顺序存储(即用一维数组元素存储该二叉树中的节点且通过下标反映节点间的关系,例如,对于下标为i的节点,其左孩子的下标为2i、右孩子的下标为2i+1),则该数组的大小至少为();若采用三叉链表存储该二叉树(各个节点包括节点的数据、父节点指针、左孩子指针、右孩子指针),则该链表的所有节点中空指针的数目为(请作答此空)。

A.6
B.8
C.12
D.14
正确答案B

(96).某个算法的时间复杂度递归式T(n)=T(n-1)+n,其中n为问题的规模,则该算法的渐进时间复杂度为(),若问题的规模增加了16倍,则运行时间增加(请作答此空)倍。

A.16
B.64
C.256
D.1024
正确答案C

(97).某个算法的时间复杂度递归式T(n)=T(n-1)+n,其中n为问题的规模,则该算法的渐进时间复杂度为(请作答此空),若问题的规模增加了16倍,则运行时间增加()倍。

A.O(n)
B.O(nlgn)
C.O(n2)
D.O(n2lgn)
正确答案C

(98).对n个记录进行非递减排序,在第一趟排序之后,一定能把关键码序列中的最大或最小元素放在其最终排序位置上的排序算法是()

A.冒泡排序
B.快速排序
C.直接插入排序
D.归并排序
正确答案A

(99).

对二叉树中的结点如下编号:树根结点编号为1,根的左孩子结点编号为2、右孩子结点编号为3,依此类推,对于编号为i的结点,其左孩子编号为2i、右孩子编号为2i+1。例如,下图所示二叉树中有6个结点,结点a、b、c、d、e、f的编号分别为1、2、3、5、7、11。那么,当结点数为n(n>0)的()时,其最后一个结点编号为2i-1

A.二叉树为满二叉树(即每层的结点数达到最大值)
B.二叉树中每个内部结点都有两个孩子
C.二叉树中每个内部结点都只有左孩子
D.二叉树中每个内部结点都只有右孩子
正确答案C

(100).对于关键码序列(54,34,5,14,50,36,47,83),用链地址法(或拉链法)解决冲突构造散列表(即将冲突的元素存储在同一个单链表中,单链表的头指针存入散列地址对应的单元),设散列函数为H(Key)=KeyMOD7(MOD表示整除取余运算),则构造散列表时冲突次数最多的哈希单元的地址是()

B.1
C.5
D.6
正确答案C

(101).

某图G的邻接矩阵如下所示。以下关于该图的叙述中,错误的是()

A.该图存在回路(环)
B.该图为完全有向图
C.图中所有顶点的入度都大于0
D.图中所有顶点的出度都大于0
正确答案B

(102).假设以S和X分别表示入栈和出栈操作,并且初始和终止时栈都为空,那么()不是合法的操作序列。

A.SSXXXSSXSX
B.SSSXXXSSXX
C.SSXSSXSXXX
D.SXSXSXSXSX
正确答案A

(103).

设有一份电文中共使用a、b、c、d、e、f这6个字符,它们的出现频率如下表所示,现通过构造哈夫曼树为这些字符编码。那么,编码长度最长的两个字符是()

A.c、e
B.b、e
C.b、f
D.e、f
正确答案C

(104).算术表达式采用后缀式表示时不需要使用括号,使用(请作答此空)就可以方便地进行求值。a-b*(c+d)的后缀式为()。

A.队列
B.数组
C.栈
D.广义表
正确答案C

(105).若栈采用链式存储且仅设头指针,则()时入栈和出栈操作最方便。

A.采用不含头结点的单链表且栈顶元素放在表尾结点
B.采用不含头结点的单链表且栈顶元素放在表头结点
C.采用含头结点的单循环链表且栈顶元素随机存放在链表的任意结点
D.采用含头结点的双向链表且栈顶元素放在表尾结点
正确答案B

(106).在待排序的一组关键码序列k1,k2,…,kn中,若ki和kj相同,且在排序前ki领先于kj,那么排序后,如果ki和kj的相对次序保持不变,ki仍领先于kj,则称此类排序为稳定的。若在排序后的序列中有可能出现kj领先于ki的情形,则称此类排序为不稳定的。()是稳定的排序方法。

A.快速排序
B.简单选择排序
C.堆排序
D.冒泡排序
正确答案D

(107).设数组A[1..m,1..n]的每个元素占用1个存储单元,对于数组元素A[i,j](1≤i≤m,1≤j≤n),在按行存储方式下,其相对于数组空间首地址的偏移量为();在按列存储方式下,其相对于数组空间首地址的偏移量为(请作答此空)。

A.j*(n-1)+i
B.(j-1)*n+i-1
C.j*(m-1)+i
D.(j-1)*m+i-1
正确答案D

(108).

最优二叉树(或哈夫曼树)是指权值为w1,w2,…,wn的n个叶结点的二叉树中带权路径长度最小的二叉树。()是哈夫曼树(叶结点中的数字为其权值)。

A.A
B.B
C.C
D.D
正确答案A

(109).在解决计算机与打印机之间速度不匹配的问题时,通常设置一个打印数据缓冲区,计算机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区取出数据。因此,该缓冲区的数据结构应该是()

A.树
B.图
C.栈
D.队列
正确答案D

(110).根据枢轴元素(或基准元素)划分序列而进行排序的是()

A.快速排序
B.冒泡排序
C.简单选择排序
D.直接插入排序
正确答案A

(111).序列()可能是第一趟冒泡排序后的结果。

A.40 10 20 30 70 50 60
B.20 30 10 40 70 50 60
C.30 10 40 20 70 60 50
D.20 30 10 40 60 50 70
正确答案D

(112).某国近几年GDP增长率维持在2%的水平上。为使明年GDP达到200亿美元,今年的GDP应达到()亿美元

A.200/(1+2%)
B.200*(1-2%)
C.200*(1+2%)
D.200/(1-2%)
正确答案A

(113).对于顺序栈和链栈,()不是两者共有的运算特征。

A.元素后进先出
B.入栈时需要判断是否栈满
C.出栈时需要判断是否栈空
D.每次只能访问栈顶元素
正确答案B

(114).已知某二叉树的先序遍历序列为ABC

A.后序遍历序列为CDB
B.则该二叉树为( )。
C.
D.
正确答案A

(115).算术表达式a*(b-c)+d的后缀式是()(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。

A.abcd-*+
B.abc-*d+
C.abc-d*+
D.ab-cd*+
正确答案B

(116).含有n个元素的线性表采用顺序存储方式时,对其运算速度最快的操作是()

A.访问第i个元素(1≤i≤n)
B.删除第i个元素(1≤i≤n)
C.在第i个元素(1≤i≤n)之后插入一个新元素
D.查找与特定值相匹配的元素
正确答案A

(117).某商场2013年一季度和二季度的销售额比2012年同期分别增加了4%和6%,而且增幅相等,据此可以算出,2013年上半年的销售额比2012年同期增加()

A.4.8%
B.5%
C.5.2%
D.超过5.5%
正确答案A

(118).设有字符串S和P,串的模式匹配是指确定()

A.P在S中首次出现的化置
B.S和P是否能连接起来
C.S和P能否互换
D.S和P是否相同
正确答案A

(119).Fibnacci数列的定义为:F0=0,F1=1,Fn=Fn-1+Fn-2(n≥2,n∈N*),要计算该数列的任意项Fn,既可以采用递归方式编程也可以采用循环语句编程,由于(),所以需要较多的运行时间。

A.递归代码经编译后形成较长目标代码
B.递归代码执行时多次复制同一段目标代码
C.递归代码执行时需要进行一系列的函数调用及返回且存在重复计算
D.递归代码执行过程中重复存取相同的数据
正确答案C

(120).在第一趟排序之后,一定能把数据序列中最大或最小元素放在其最终位置上的排序方法是()

A.冒泡排序
B.插入排序
C.快速排序
D.归并排序
正确答案A

(121).在一棵非空的二叉排序树(二叉查找树)中,进行()遍历运算并输出所访问结点的关键码后,可得到一个有序序列。

A.先序
B.中序
C.后序
D.层序
正确答案B

(122).

某地空调市场被 A、B两个品牌占有,每个月的市场占有率分别用An和Bn表示,n=0,1,2,…。据调查,初始时A0=B0=0.5,以后,(An,Bn)=(An-1,Bn-1)M,n=1,2,…,其中M为转移概率矩阵: 据此,可以推算出,经过一段时间后,这两个品牌的市场占有率将分别趋于()

A.0,1
B.0.25,0.75
C.0.75,0.25
D.1,0
正确答案D

(123).

拓扑序列是无环有向图中所有顶点的一个线性序列,图中任意路径中的各个顶点在该图的拓扑序列中保持先后关系。对于图中的有向图,()不是其的一个拓扑序列。

A.1526374
B.1526734
C.5123764
D.5126374
正确答案C

(124).

对下图所示的二叉树进行中序遍历(左子树,根结点,右子树)的结果是()

A.5 2 3 4 6 1
B.2 5 3 4 1 6
C.2 4 6 5 3 1
D.2 5 4 3 6 1
正确答案D

(125).某二叉树的先序遍历(根、左、右)序列为EFHIGJK、中序遍历(左、根、右)序列为HFIEJKG,则该二叉树根结点的左孩子结点和右孩子结点分别是(37)

A.A,I.K
B.F,I
C.F,G
D.I,G
正确答案C

(126).有两个N*N的矩阵A和 B,想要在微机(PC机)上按矩阵乘法基本算法编程。实现计算A*B。假设N较大,本机内存也足够大,可以存下 A、B和结果矩阵。那么,为了加快计算速度,A和B在内存中的存储方式应选择()

A.A按行存储, B按行存储
B.A按行存储, B按列存储
C.A按列存储, B按行存储
D.A按列存储, B按列存储
正确答案B

(127).已知有一维数组T[0...m*n-1],其中m>n。从数组T的第一个元素(T[0])开始,每隔n个元素取出一个元素依次存入数组B[1...m]中,即B[1]=T[0],B[2)=T[n],依次类推,那么放入B[k](1≤k≤m)的元素是()

A.T[(k-1)*n]
B.T[k*n]
C.T[(k-1)*m]
D.T[k*m]
正确答案A

(128).若某线性表长度为n且采用顺序存储方式,则运算速度最快的操作是(37)。

A.查找与给定值相匹配的元素的位置
B.查找并返回第i个元素的值(1≤i≤n)
C.删除第i个元素(1≤i≤n)
D.在第i个元素(1≤i≤n)之前插入一个新元素
正确答案B

(129).对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈的第一元素为d,则合法的出栈序列为()

A.d c b a
B.d a b c
C.d c a b
D.d b c a
正确答案A

(130).设数组a[1..6,0..9]的元素以行为主序存放,每个元素占用一个存储单元,则数组元素a[3,3]的地址为()。

A.a+23
B.a+27
C.a+39
D.a+35
正确答案A

(131).若循环体执行的次数为m,则在do-while型循环中,循环条件的执行次数为(请作答此空),在while-do型循环中,判断循环条件的次数为()

A.m l
B.m
C.m+1
D.2m
正确答案C

(132).菲波那契(Fibonacci)数列定义为 f(1)=1,f(2)=1,n>2时f(n)=f(n-1)+f(n-2)

A.据此可以导出,n>1时,有向量的递推关系式:
B.(f(n+1),f(n))=f(f(n),f(n-1))A
C.其中A是2*2矩阵(64)。从而,f(n+1),f(n)=(f(2),f(1))*(65).
D.
正确答案D

(133).折半(二分)查找法适用的线性表应该满足(42)的要求。

A.链接方式存储、元素有序
B.链接方式存储、元素无序
C.顺序方式存储、元素有序
D.顺序方式存储、元素无序
正确答案C

(134).快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于等于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了(请作答此空)算法设计策略。已知确定基准元素操作的时间复杂度为Θ(n),则快速排序算法的最好和最坏情况下的时间复杂度为()

A.分治
B.动态规划
C.贪心
D.回溯
正确答案A

(135).某大型整数矩阵用二维整数组G[1:2M,l:2N]表示,其中M和N是较大的整数,而且每行从左到右都己是递增排序,每到从上到下也都己是递增排序。元素G[M,N]将该矩阵划分为四个子矩阵A[1:M,1:N],B[1:M,(N+1):2N],C[(M+1):2M,1:N],D[(M+1):2M,(N+1):2N]。如果某个整数E大于A[M,N],则E(65)。 A.只可能在子矩阵A中

A.只可能在子矩阵 B或 C中
B.只可能在子矩阵
C.C或 D中
D.只可能在子矩阵 D中
正确答案C

(136).可以用栈来检查算术表达式中的括号是否匹配。分析算术表达式时,初始栈为空,从左到右扫描字符,遇到字符“(”就将其入栈,遇到“)”就执行出栈操作。对算术表达式“(a+b*(a+b))/c)+(a+b)”,检查时,(请作答此空);对算术表达式“((a+b/(a+b)-c/a)/b”,检查时,()这两种情况都表明所检查的算术表达式括号不匹配。

A.栈为空却要进行出栈操作
B.栈已满却要进行入栈操作
C.表达式处理已结束,栈中仍留有字符“(”
D.表达式处理已结束,栈中仍留有字符“)”
正确答案A

(137).下列关于冗余压缩法的说法,正确的是():①冗余压缩法不会减少信息量,可以原样恢复原始数据;②冗余压缩法减少冗余,不能原样恢复原始数据;③冗余压缩法是有损压缩法;④冗余压缩的压缩比一般都比较小。

A.③
B.①④
C.①③
D.①③④
正确答案B

(138).

在一条笔直公路的一边有许多房子,现要安装消防栓,每个消防栓的覆盖范围远大于房子的面积,如下图所示。现求解能覆盖所有房子的最少消防栓数和安装方案(问题求解过程中,可将房子和消防栓均视为直线上的点)。该问题求解算法的基本思路为:从左端的第一栋房子开始,在其右侧m米处安装一个消防栓,去掉被该消防栓覆盖的所有房子。在剩余的房子中重复上述操作,直到所有房子被覆盖。算法采用的设计策略为();对应的时间复杂度为() 假设公路起点A的坐标为0,消防栓的覆盖范围(半径)为20米,10栋房子的坐标为(10,20,,30,35,60,80,160,210,260,300),单位为米。根据上述算法,共需要安装()个消防栓。以下关于该求解算法的叙述中,正确的是(请作答此空)。

A.肯定可以求得问题的一个最优解
B.可以求得问题的所有最优解
C.对有些实例,可能得不到最优解
D.只能得到近似最优解
正确答案C

(139).

现需要申请一些场地举办一批活动,每个活动有开始时间和结束时间。在同一个场地,如果一个活动结束之前,另一个活动开始,即两个活动冲突。若活动A从1时间开始,5时间结束,活动B从5时间开始,8时间结束,则活动A和B不冲突。现要计算n个活动需要的最少场地数。求解该问题的基本思路如下(假设需要场地数为m,活动数为n,场地集合为P1,P2,…,Pm),初始条件Pi均无活动安排:(1)采用快速排序算法对n个活动的开始时间从小到大排序,得到活动a1,a2,…,an。对每个活动ai,i从1到n,重复步骤(2)、(3)和(4);(2)从p1开始,判断ai与P1的最后一个活动是否冲突,若冲突,考虑下一个场地P2,…;(3)一旦发现ai与某个Pj的最后一个活动不冲突,则将ai安排到Pj,考虑下一个活动;(4)若ai与所有己安排活动的Pj的最后一个活动均冲突,则将ai安排到一个新的场地,考虑下一个活动;(5)将n减去没有安排活动的场地数即可得到所用的最少场地数算法首先采用了快速排序算法进行排序,其算法设计策略是();后面步骤采用的算法设计策略是()整个算法的时间复杂度是(请作答此空)。下表给出了n=11的活动集合,根据上述算法,得到最少的场地数为()

A.Θ(lgn)
B.Θ(n)
C.Θ(nlgn)
D.Θ(n2)
正确答案C

(140).

现需要申请一些场地举办一批活动,每个活动有开始时间和结束时间。在同一个场地,如果一个活动结束之前,另一个活动开始,即两个活动冲突。若活动A从1时间开始,5时间结束,活动B从5时间开始,8时间结束,则活动A和B不冲突。现要计算n个活动需要的最少场地数。求解该问题的基本思路如下(假设需要场地数为m,活动数为n,场地集合为P1,P2,…,Pm),初始条件Pi均无活动安排:(1)采用快速排序算法对n个活动的开始时间从小到大排序,得到活动a1,a2,…,an。对每个活动ai,i从1到n,重复步骤(2)、(3)和(4);(2)从p1开始,判断ai与P1的最后一个活动是否冲突,若冲突,考虑下一个场地P2,…;(3)一旦发现ai与某个Pj的最后一个活动不冲突,则将ai安排到Pj,考虑下一个活动;(4)若ai与所有己安排活动的Pj的最后一个活动均冲突,则将ai安排到一个新的场地,考虑下一个活动;(5)将n减去没有安排活动的场地数即可得到所用的最少场地数算法首先采用了快速排序算法进行排序,其算法设计策略是();后面步骤采用的算法设计策略是(请作答此空)。整个算法的时间复杂度是()下表给出了n=11的活动集合,根据上述算法,得到最少的场地数为()

A.分治
B.动态规划
C.贪心
D.回溯
正确答案C

(141).

在一条笔直公路的一边有许多房子,现要安装消防栓,每个消防栓的覆盖范围远大于房子的面积,如下图所示。现求解能覆盖所有房子的最少消防栓数和安装方案(问题求解过程中,可将房子和消防栓均视为直线上的点)。该问题求解算法的基本思路为:从左端的第一栋房子开始,在其右侧m米处安装一个消防栓,去掉被该消防栓覆盖的所有房子。在剩余的房子中重复上述操作,直到所有房子被覆盖。算法采用的设计策略为();对应的时间复杂度为() 假设公路起点A的坐标为0,消防栓的覆盖范围(半径)为20米,10栋房子的坐标为(10,20,,30,35,60,80,160,210,260,300),单位为米。根据上述算法,共需要安装(请作答此空)个消防栓。以下关于该求解算法的叙述中,正确的是()

A.4
B.5
C.6
D.7
正确答案B

(142).设a,b,c,d是不同的四个数,已知a<b,c<d,则将这四个数从小到大排序所构成的递增有序序列共有()种可能。

A.3
B.5
C.6
D.8
正确答案C

(143).设数组a[0..n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i<n,0≤j<m)的存储位置相对于数组空间首地址的偏移量为(35)。

A.(j*m+i)*4
B.(i*m+j)*4
C.(j*n+i)*4
D.(i*n+j)*4
正确答案B

(144).设M和N为正整数,且M>2,N>2,MN<2(M+N),满足上述条件的例(M,N)共有()对。

A.3
B.5
C.6
D.7
正确答案B

(145).在平面坐标系中,同时满足五个条件:x≥0;y≥0;x+y≤6;2X+y≤7;x+2y≤8的点集组成一个多边形区域。(64)是该区域的一个顶点。

A.(1,5)
B.(2 ,2)
C.(2,3)
D.(3, 1)
正确答案C

(146).对关键码序列(9,12,15,20,24,29,56,69,87)进行二分查找(折半查找),若要查找关键码15;则需依次与()进行比较。

A.87、29、15
B.9、12、15
C.24、12、15
D.24、20、15
正确答案C

(147).

某图G的邻接表如下所示。以下关于图G的叙述中,正确的是()

A.G是强连通图
B.G是有7条弧的有向图
C.G是完全图
D.G是有7条边的无向图
正确答案B

(148).

下图的邻接矩阵表示为()(行列均以 A、 B、 C、 D、E为序);若某无向图具有10个顶点,则其完全图应包含(请作答此空)条边。

A.10
B.20
C.45
D.90
正确答案C

(149).下图的邻接矩阵表示为(请作答此空)(行列均以 A、 B、 C、

A.E为序);若某无向图具有10个顶点,则其完全图应包含( )条边。
B.
C.
D.
正确答案C

(150).某宾馆有200间标准客房,其入住率与客房单价有关。根据历史统计,客房最高单价为160元时入住率为50%,单价每降低1元,入住率就会增加0.5%。据此选定价格为(63)时,宾馆每天的收入最大。

A.120元
B.130元
C.140元
D.150元
正确答案B

(151).对于一个相始为空的栈,其入栈序列为1、2、3、…、n(n>3),若出栈序列的第一个元素是1,则出栈序列的第n个元素(38)

A.可能是 2 ~ n 中的任何一个
B.一定是 2
C.一定是 n-l
D.一定是 n
正确答案A

(152).设数组a[0..n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用1个存储单元,则数组元素a嘶](0<i<n,0<j<m)的存储位置相对于数组空间首地址的偏移量为()

A.j*m+i
B.i*m+j
C.j*n+i
D.i*n+j
正确答案B

(153).

阅读以下说明和流程图,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 下面的流程图旨在统计指定关键词在某一篇文章中出现的次数。 设这篇文章由字符A(0),…,A(n-1)依次组成,指定关键词由字符B(0),…,B(m-1)依次组成,其中n>m≥1。注意,关键词的各次出现不允许有交叉重叠。例如,在"aaaa"中只出现两次"aa"。 该流程图采用的算法是:在字符串A中,从左到右寻找与字符串B相匹配的并且没有交叉重叠的所有子串。流程图中,i为字符串A中当前正在进行比较的动态子串首字符的下标,j为字符串B的下标,k为指定关键词出现的次数。 【流程图】

【解析】 本题考查用流程图描述算法的能力。 在文章中查找某关键词出现的次数是经常碰的问题。例如,为了给文章建立搜索关键词,确定近期的流行语,迅速定位文章的某个待修改的段落,判断文章的用词风格,甚至判断后半本书是否与前半本书是同一作者所写(用词风格是否一致)等,都采用了这种方法。 流程图最终输出的计算结果 k就是文章字符串 A中出现关键词字符串 B的次数。显然,流程图开始时应将 k赋值 0,以后每找到一处出现该关键词,就执行增1操作 k=k+1。因此(1)处应填0→k。 字符串 A和 B的下标都是从 0开始的。所以在流程图执行的开始处,需要给它们赋值 0。接下来执行的第一个小循环就是判断 A(i),A(i+1),…,A(i+j一1)是否完全等于 B(0),B(1),…,B(m一1),其循环变量j=0,l ,…,m-1。只要发现其中对应的字符有一个不相等时,该小循环就结束,不必再继续执行该循环。因此,该循环中继续执行的判断条件应该是 A(i+j)=B(j)且j<m。只要遇到 A(i+j)≠B(j)或者 j=m(关键词各字符都已判断过)就不再继续执行该循环了。因此流程图的(2)处应填i+j。 许多考生在(2)处填 i,当j 增 1 变化后,仍然使用 A(i)进行比较就不对了。因此,在检查循环程序段时应多走查一次循环。 如果(2)处整体的判断条件不成立,则该判断关键词的小循环结束。此时可能有两种情况。一是在 j=0,1 ,…,m-1 时全都成立 A(i+j)=B(j)(找到了一处关键词),直到j=m 时才结束小循环;二是在 j<m 时就发现了字符不等的情况,这说明此处并不出现关键词。 因此流程图中用 j<m来区分找到与没有找到关键词的两种情况。 对于 j=m,己找到一处关键词的情况,显然应该执行 k=k+1,对关键词出现次数的变量 k进行增 1计算。同时,为了继续进行以后的判断,应将字符串 A 的下标 i右移 m(这是因为题中假设关键词的出现不允许重叠)。因此(3)处应填写 i+m,表示应该从已出现的关键词后面开始再继续进行判断。由于此时的 j=m,书写i+j的答案也是正确的,但这不是程序员的好习惯,因为这不符合逻辑思维的顺势,在程序不断修改的过程中容易出错。不少考生在(3)处填写i+1,这意味着下次判断关键词将从A(i+1)开始,这就 使关键词的出现有可能发生部分重叠的现象。 流程图中,对于 j<m 的情况,表示刚才判断关键词时并非各个字符都完全相同,也就是说,刚才的判断结论是此处并没有出现关键词。即 A(i)开始的子串并不是关键词。因此,下次判断关键词应该以 A(i+1)开始,即(4)处应填 i+1。 在下次判断关键词之前还应该判断是否全文已经判断完。最后一次小循环判断应该是对 A(n-m),A(n-m+1),… ,A(n一1)的判断。下标 n-m来自从 n-1 倒数 m个数。可以先试验写出A(n-m),A(n-m+1),… ,A(n一1),再判断其个数是否为m。经检查,个数为 (n-1)-(n-m)+1=m个,所以这是正确的。也可以用例子来检查次数是否正确。检查次数是程序员的基本功,数目的计算很容易少一个或多一个。 既然最后一次判断关键词应该是对A(n-m),A(n-m+1),… ,A(n一1)的判断,即对 i=n-m进行的小循环判断,所以当 i>n-m 时就应该停止大循环,停止再查找关键词了。

此题目数据由翰林刷题小程序免费提供

扫描二维码免费使用微信小程序搜题/刷题/查看解析。

版权声明:本文由翰林刷题小程序授权发布,如需转载请注明出处。

本文链接:https://www.20230611.cn/post/9983628.html