|
知识路径: > 计算机系统基础知识 > 计算机软件基础知识 > 数据结构与算法 > 常用算法 > 常用算法 > 算法概述 >
|
相关知识点:4个
|
|
|
|
算法的描述方法有很多,若用程序语言描述,就成了计算机程序。常用的算法描述方法有流程图、N/S盒图、伪代码和决策表等。
|
|
|
(1)流程图。流程图(flow chart)即程序框图,是历史最久、流行最广的一种算法的图形表示方法。每个算法都可由若干张流程图描述。流程图给出了算法中所进行的操作以及这些操作执行的逻辑顺序。程序流程图包括三种基本成分:加工步骤,用方框表示;逻辑条件,用菱形表示;控制流,用箭头表示。流程图中常用的几种符号如下图所示。
|
|
|
|
|
例如,求正整数m和n的最大公约数流程图如下图(a)所示。
|
|
|
|
|
若流程图中的循环结构通过控制变量以确定的步长进行计次循环,则可用和分别表示“循环开始”和“循环结束”,并在“循环开始”框中标注“循环控制变量:初始值,终止值,增量”,如上图(b)所示。
|
|
|
(2)N/S盒图。盒图是结构化程序设计出现之后,为支持这种设计方法而产生的一种描述工具。N/S盒图的基本元素与控制结构如下图所示。在N/S图中,每个处理步骤用一个盒子表示,盒子可以嵌套。对于每个盒子,只能从上面进入,从下面走出,除此之外别无其他出入口,所以盒图限制了随意的控制转移,保证了程序的良好结构。
|
|
|
|
|
用N/S盒图描述求最大公约数的欧几里德算法,如下图所示。
|
|
|
|
|
(3)伪代码。用伪代码描述算法的特点是借助于程序语言的语法结构和自然语言叙述,使算法具有良好的结构又不拘泥于程序语言的限制。这样的算法易读易写,而且容易转换成程序。
|
|
|
(4)决策表。决策表是一种图形工具,它将比较复杂的决策问题简洁、明确、一目了然地描述出来。例如,如果订购金额超过500元,以前没有欠账,则发出批准单和提货单;如果订购金额超过500元,但以前的欠账尚未还清,则发不予批准的通知;如果订购金额低于500元,则不论以前的欠账是否还清都发批准单和提货单,在欠账未还清的情况下还要发出“催款单”。处理该问题的决策表如下表所示。
|
|
|
|
|