【算法设计与分析】算法概论

1、算法的非正式定义

算法是一系列解决问题的清晰指令,即对符合一定规范的输入,在有限时间内获得所要求的输出。

2、关于算法的几个要点

(1)算法的每个步骤都必须清晰、明确、不含糊。

(2)算法所处理的值域必须仔细定义。

比如:求一元二次方程的跟,如果自己设计的算法是求实根,则该算法只使用于:b*b-4*a*c>=0的情况,其它情况则不能使用该算法。

(3)同样一种算法可以用不同的形式描述。

算法是跟计算机语言没有关系的。例如:我们可以使用伪代码、自然语言来描述算法。

(4)同一个问题可能存在不同的算法。

(5)同一个问题的不同算法不仅解题思路不同,而且解题速度可能有明显差别。

3、算法与程序

算法:是描述下述性质的指令序列:

(1)输入:有零个或多个外部量作为算法的输入。

为什么有零个输入呢?因为有些问题是不通过外部输入的方式来描述问题,而通过在计算机内部产生。比如:随机数。

输入是指描述问题的数据。

(2)输出:算法至少产生一个量作为输出。

输出就是对问题答案的输出。

(3)确定性:组成算法的每条指令清晰、无歧义。

指令要具体化。

(4)有限性:算法中每条指令的执行次数、时间有限。

程序:是算法用某种程序设计语言的具体实现。

程序可以不满足算法性质(4)。

4、问题求解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值