01
02
03
算法的概念与特征
算法的描述方法
程序设计典型算法
5.2 算法
算法的概念与特征
1976年Niklaus Wirth(也是Pascal语言发明者,1984年获得图灵奖)的专著:
Algorithms + Data Structures = Programs (算法 十 数据结构 = 程序) 在计算机软件开发行业中产生了极为深远的影响,从而推动了软件开发技术和方法步入正轨,使人们开始深入研究数据结构和算法设计与分析的技术和方法。
求3个整数的最大值的C程序
/*使C预编译包含I/O头文件,则可用scanf、printf函数 */ #include <stdio.h> void main(void) { int a, b, c, max; /* 定义 4 个整型变量 */ int max3(int a, int b, int c); /* max3 函数原形声明 */ printf(“Input 3 integer numbers:”);/* 输出双引号中的提示信息 */ scanf(“%d%d%d”, &a, &b, &c); /* 输入 3 个整数 */ max = max3(a,b,c); /* 调用 max3 函数求最大值 */ printf(“The max is: %d \n”, max); /* 输出 max 中的最大值 */ } /* End of main function */
1973年美国两位学者提出无流程线的N-S图(盒图)。
用N-S图描述的计数器算法
4. 自然语言
(1)容易产生歧义性,因为自然语言经常要根据上下文才能判别其含义,不太严格。 (2)自然语言很难清楚地表达算法的逻辑流程,对于算法中的条件判断、循环,尤其是在这些处理中还有多层嵌套,就很难用清晰而直观的语言来表达算法的流程。因此仅适于描述简单问题。