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

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

RonWang1年前 (2023-05-13)电子编程687

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

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

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

算法的特性

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

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

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

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

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

算法的表示

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

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

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

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

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

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

本文链接:http://www.donstudio.cn/?id=226

相关文章

Arduino UNO Mp3音乐播放代码

Arduino UNO Mp3音乐播放代码

Arduino UNO Mp3音乐播放代码今天我们将使用Arduino UNO 和SD卡制作音乐播放器。这个播放器不需要添加多余的模块,只需要SD读卡器和Arduino UNO开发板就可以播放音频文件...

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

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

STEAM|60个好玩的 APP推荐

STEAM|60个好玩的 APP推荐

STEAM教育理念最早是美国政府提出的教育倡议,为加强美国K12(中小学)关于科学、技术、工程、艺术以及数学的教育。STEAM的原身是STEM理念,即科学(Science)、技术(Technology...

Python 适合儿童的编程语言

Python 适合儿童的编程语言

Scratch图形编程优点在于图形化拖拽的方式简化了编程的理解,而C,JAVA,JAVASCRIPT,PYTHON等编程语言相对枯燥复杂,涉及复杂编程语法,变量规则,函数,对象等等,因此直接教授这类编...

编程学习|儿童编程网站资源

编程学习|儿童编程网站资源

HELLO RUBY儿童编程大冒险儿童编程思维启蒙读本3-6岁:《Hello Ruby儿童编程大冒险》English Version 英文网站  http://www.hellor...