内容正文:
2.1 算法的概念及描述
算法的概念
广义地讲,“算法”指的是解决问题或完成任务的一系列步骤。
在计算机科学领域内,“算法”指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机有序执行的、无歧义的、有限步骤的集合。针对同一个问题,可能会有多种算法,每种算法的效率可能会有所差别。
换水问题
三个杯子,A杯装有“可乐” ,B杯是“雪碧”,C杯是空杯。如何把两个杯子中的饮料互换。
方法1:
A杯可乐倒入C杯中;
B杯雪碧倒入A杯中;
C杯可乐倒入B杯中。
方法2:
B杯雪碧倒入C杯中;
A杯可乐倒入B杯中;
C杯雪碧倒入A杯中。
这就是算法!
算法的特征
1、有穷性:算法必须保证它的执行步骤是有限的,即它是能终止的。
2、确定性:算法中的每个步骤必须是明确的。
错误示范:输出:L/正整数
正确示范:输出:L/10
3、可行性:算法中的每一步操作都要是可实施的。
错误示范:计算y=x+1的所有整数解
正确示范:x=5,计算y=x+1的整数解
错误示范:当d<0时输出:
正确示范:当d>0时输出:
4、有0个或多个输入:算法在执行时需从外界获取可变的数据,如果问题求解时所有数据都是不变且已知的,可以不输入数据。
5、有一个或多个输出:算法的目的是求解问题,问题求解的结果应该以一定的方式输出。没有输出的算法没有意义。
算法的特征
正确示范1:输出:3+2*8
正确示范2:输入身高h、体重w,bmi=w/h2,输出bmi
错误示范:输入身高h、体重w,计算bmi
正确示范:输入身高h、体重w,计算bmi,输出bmi
思考
把大象放冰箱是不是算法?
不是算法,不满足算法的可行性。
算法的要素
1、数据
参与运算的初始数据、中间数据、结果数据。
2、运算
明确每一步的运算是什么、对哪些数据运算。
3、控制转移
根据数据或运算结果的特点进行不同的处理,需要控制转移执行不同的操作。
算法的要素案例
BMI(体重)指数:
(1)输入身高h、体重w
(2)计算BMI指数(BMI=w/h2)
(3)若BMI>=24,输出“超重”;否则,输出“正常”
数据
运算
控制转移
算法的描述方法
2、流程图
3、伪代码
1、自然语言
4、计算机程序设计语言
1.自然语言
例:停车场车位探测中的算法
(1)输入变量flag的值
(2)若flag的值为1,则设置