第二章 算法——程序的灵魂
2018-12-04 07:14:15来源:博客园 阅读 ()
一个程序主要包括以下两个方面的信息。
(1)对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式。这就是数据结构。
(2)对操作的描述。即要求计算机进行操作的步骤,也就是算法(algorithm)。
数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。
算法+数据结构=程序
算法是灵魂,数据结构是加工对象,语言是工具,编程则需要采用合适的方法。
一、什么是算法
广义地说,为解决一个问题而采用的方法和步骤,就称为“算法”
计算机算法可以分为两大类别:数值运算算法和非数值运算算法。
(1)数值运算的目的是楸树值解,例如求方程的根、求一个函数的定积分等。
(2)非数值运算包括的面十分广泛,最常见的是用于事物管理领域,例如对一批职工姓名排序、图书检索、人事管理和行车调度管理等。
二、算法的特性
为了能编写程序,必须学会设计算法。而不是任意写出的一些执行步骤就构成一个算法。一个有效的算法应该具有以下特点:
(1)有穷性
一个算法应包含有限的操作步骤,而不能是无限的。
(2)确定性
算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。
(3)有零个或多个输入
所谓输入是指在执行算法时需要从外界取得必要的信息。
(4)有一个或多个输出
算法的目的是为了求解,“解”就是输出。
(5)有效性
算法中的每一个步骤都应当能有效执行,并得到确定的结果。
三、怎样表示一个算法
1、用自然语言表示算法
2、用流程图表示算法
3、三种基本结构
(1)顺序结构
(2)选择结构
(3)循环结构
当型(while型)循环结构
直到型(until型)循环结构
三种结构特点:
(1)只有一个入口。
(2)只有一个出口。
(3)结构内的每一部分都有机会被执行到。
(4)结构内不存在“死循环”
4、用N-S流程图表示算法
5、用伪代码表示算法
6、用计算机语言表示算法
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++ rand函数 2020-06-10
- C语言程序结构 2020-05-31
- OpenCV开发笔记(五十九):红胖子8分钟带你深入了解分水岭 2020-05-24
- 类欧几里得算法 2020-05-16
- ftp客户端封装 2020-05-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash