当前位置:首页 > 科学研究 > 电子编程 > 正文内容

C语言教程02:算法的概念

RonWang2年前 (2023-05-17)电子编程975

算法(Algorithm)是在有限步骤内求解某一问题所使用的一组定义明确的规则。计算机算法 是用计算机求解一个具体问题或执行特定任务的一组有序的操作步骤(或指令),是构成计算机 程序的核心部分。

瑞士计算机科学家沃思(Nikiklaus Wirth)曾提出一个公式“程序=数据结构+算法”,并因此成为1984年图灵奖得主。  最新这个公式被更新为:“程序=算法+数据结构+程序设计方法+语言工具和环境”,其中,数据结构主要是数据的类型和数据的组织形式,是对程序中数据的描述;算法则是 对程序中操作的描述,也就是操作步骤。

一个程序应该包括两方面的工作内容:一是对数据进行合理的组织,即在程序中要指定 数据的类型和数据的组织形式,即数据结构(Data structure);二是设计解决问题的算法,即操作步骤。

算法的特性

1 有穷性 任何算法都应该在执行有穷步骤之后结束。

2 确定性 算法的每一步骤必须有确切的定义,不能具有二义性。算法中每一步的语义 都应该清晰明了,明确指出应该执行什么操作,如何执行操作。

3 可行性 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。 根据算法编写出来的程序应具有较高的时空效率,执行时间短,不占用过多内存。

4 有零个或多个输入 算法可以有零个或多个输入,用来刻画运算对象的初始情况。

5 有零个或多个输出 一个或多个输出:算法必须具有一个或多个执行结果的输出,用来反映对输入数据 加工后的结果。没有输出的算法是毫无意义的,是一个无效算法。

算法的表示

算法表示的常见方式有以下几种:

1 自然语言表示:易理解和交流,但易产生二义性。

2 伪代码表示:伪代码使用介于自然语言和计算机语言之间的文字和符号来描述算法。

3 程序流程图:用图形符号和文字说明表示数据处理的过程和步骤。

4  N-S 流程图:也称方框图,适于结构化程序设计的算法描述工具。 传统的程序流程图由一些特定意义的图形、流程线及简要的文字说明构成,它能明确地表 示算法的运行过程,是描述算法的良好工具。

版权声明:本文为原创文章,版权归donstudio所有,欢迎分享本文,转载请保留出处!

本文链接:http://parentscn.com/?id=226

相关文章

C语言教程01:C语言的前世今生

程序设计语言的发展经历了从机器语言->汇编语言->高级语言的过程机器语言:是计算机最原始的语言,由 0 和 1 的代码构成,CPU 在工作的时候只认识机 器语言,即0和1的代码。汇编语言:...

C语言教程04:程序的编译与运行

源程序也称源代码,是指未编译的、按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令,可以用汇编语言或高级语言编写。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行...

Arduino Project 024 -  LCD Temperature Display

Arduino Project 024 - LCD Temperature Display

This project is a simple demonstration of using an LCD to present useful information to the user—in...

Books Exploring Arduino

Books Exploring Arduino

Exploring Arduino uses the popular Arduino microcontroller platform as an instrument to teach topics...

Arduino Project 004 - LED Interactive Traffic Lights

Arduino Project 004 - LED Interactive Traffic Lights

This time you are going to extend the previous project to include a set of pedestrian lights and a p...

Arduino Programming Basic - Bollean

Arduino Programming Basic - Bollean

Arduino 程序基础,介绍Arduino程序的基本组成,第一部分编写了10个例子,关于变量及变量名称,串口监视器,if循环,for循环,while循环等。第二部分介绍了函数,全局变量,局部变量和静...