数据结构与算法-算法设计概述

刷题才是王道  刷题才是王道  刷题才是王道

第1题 

以下关于算法的叙述中,错误的是( )。

A.对同一个算法采用不同程序语言实现,其运行时间可能不同
B.在不同硬件平台上实现同一个算法时,其运行时间一定是相同的
C.对非法输入的处理能力越强的算法其健壮性越好
D.算法最终必须由计算机程序实现

正确答案:	B
答案解析:	解析:
本题考查算法方面的基础知识。
算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。
通俗点说,就是描述计算机解题的过程。
在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。
前者是推理实现的算法,后者是操作实现的算法。
算法最终必须由计算机程序实现。
程序在不同的硬件平台上运行时,其运行时间会有差异。

第2题 

( )并不是算法必须具备的特性。

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

正确答案:B
答案解析:
本题考査算法方面的基础知识。
算法是问题求解过程的精确描述,它为解决某一特定类型的问题规定了一个运算过程,
并且具有下列特性:
    ①有穷性。一个算法必须在执行有穷步骤之后结束,且每一步都可在有穷时间内完成。
    ②确定性。算法的每一步必须是确切定义的,不能有歧义。
    ③可行性。算法应该是可行的,这意味着算法中所有要进行的运算都能够由相应的计算装置所理解和实现,
        并可通过有穷次运算完成。
    ④输入。一个算法有零个或多个输入,它们是算法所需的初始量或被加工的对象的表示。
        这些输入取自特定的对象集合。
    ⑤输出。一个算法有一个或多个输出,它们是与输入有特定关系的量。

第3题 

以下关于程序流程图、N-S盒图和决策表的叙述中,错误的是( )。

A.N-S盒图可以避免随意的控制转移
B.N-S盒图可以同时表示程序逻辑和数据结构
C.程序流程图中的控制流可以任意转向
D.决策表适宜表示多重条件组合下的行为

正确答案:	B
答案解析:
本题考查算法描述的基本工具。
程序流程图、N-S盒图和决策表是常用的算法描述工具。
其中,
    程序流程图运用图框和流程线等图示符号,
    直观清晰且详细地描述计算过程,
    其中图框表示各种操作的类型,
    图框中的文字和符号表示操作的内容,
    流程线表示操作的先后次序。
    其缺点是控制流程的箭头可以随意转向,会严重背离结构化设计的要求。
    
    N-S盒图是指把将计算过程写在一个大框图内,
    这个大框图由若干个小的基本框图构成。
    计算顺序由位于上部的框开始,至最下面的框结束。
    N-S盒图中没有流程控制线, 可以避免随意的控制转移。
    
    决策表又称判断表,是一种呈表格状的图形工具,
    适用于描述处理判断条件较多、各条件又相互组合、有多种决策方案的情况。

第4题 

以下关于排序算法的叙述中,正确的是( )。

A.冒泡排序法中,元素的交换次数与元素的比较次数一定相同
B.冒泡排序法中,元素的交换次数不少于元素的比较次数
C.简单选择排序中,关键字相同的记录在排序前后的相对位置一定不变
D.简单选择排序中,关键字相同的记录在排序前后的相对位置可能交换

正确答案:	D
答案解析:	
本题考查算法方面的基础知识。

冒泡排序法的基本思路是:
    将相邻位置的关键字进行比较,若为逆序则交换之。
    重复该过程,直到序列已排好序。
    显然,在这个过程中,元素间的比较次数应大于等于交换次数。

简单选择排序的思路是:
    第一趟在n个记录中选取最小记录,将其与序列的第一个元素交换,
    第二趟在n-1个记录中选取最小记录,将其与序列的第二个元素交换,
    第i趟在n-i+1个记录中选取最小的记录,将其与序列的第i个元素交换,
    直到序列的第n个元素为止。
    在这个过程中,关键字相同的两个记录在排序前后的相对位置可能发生变化。
    例如,序列为(30, 30, 12)时,选择排序法需要将第一个元素30与最后一个元素12进行交换,
    这样就使得两个30的相对位置改变了。

第5题 

算法是问题求解过程的精确描述,它为解决某一特定类型的问题规定了一个运算过程。以下关于算法的叙述中,错误的是( )。

A.流程图(flowchart)是算法的一种图形表示方法
B.用伪代码描述的算法易于转换成程序
C.用N/S盒图可以保证算法的良好结构(即由顺序、选择和重复结构来表示算法)
D.用E-R图可以同时描述算法步骤和数据模型

正确答案:	D
答案解析:	
本题考查算法方面的基础知识。

流程图、N/S盒图和伪代码都是描述算法时常用的工具,
其中,流程图和N/S盒图是图形化工具。

E-R图则指实体一联系图,用于表示数据库设计中的概念设计模型。

第6题 

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

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

第7题 

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

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

6、正确答案:	A

7、正确答案:	C

答案解析:	解析:
本题考査算法基础知识。
算法是问题求解过程的精确描述,它为解决某一特定类型的问题规定了一个运算过程,并且具有下列特性。
①有穷性。一个算法必须在执行有穷步骤之后结束,且每一步都可在有穷时间内完成。
②确定性。算法的每一步必须是确切定义的,不能有歧义。
③可行性。算法应该是可行的,这意味着算法中所有要进行的运算都能够由相应的计算装置所理解和实现,并可通过有穷次运算完成。
④输入。-个算法有零个或多个输入,它们是算法所需的初始量或被加工的对象的表示。这些输入取自特定的对象集合。
⑤输出。一个算法有一个或多个输出,它们是与输入有特定关系的量。
算法的健壮性也称为鲁棒性,即对非法输入的抵抗能力。
对于非法的输入数据,算法应能加以识别和处理,而不会产生误动作或执行过程失控。

第8题 

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

A.顺序存储
B.链式存储
C.散列存储
D.索引存储

正确答案:	A
答案解析:	解析:
本题考查算法基础知识。

快速排序的基本思想是:
    通过一趟排序将待排的记录划分为独立的两部分,
    其中一部分记录的关键字均比另一部分记录的关键字小,
    然后再分别对这两部分记录继续进行快速排序,以达到整个序列有序。

    一趟快速排序的具体做法是:
        附设两个位置指示变量i和j,
        它们的初值分别指向序列的第一个记录和最后一个记录。
        设枢轴记录(通常是第一个记录)的关键字为pivotkey,
        则首先从j所指位置起向前搜索,
        找到第一个关键字小于pivotkey的记录,将其向前移,
        然后从i所指位置起向后搜索,
        找到第一个关键字大于pivotkey的记录,将其向后移,重复这两步直至i与j相等为止。

显然,上述的过程需要顺序存储,以利于对元素迅速地定位。

发布了149 篇原创文章 · 获赞 37 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/frdevolcqzyxynjds/article/details/103978106