1、什么是算法?
为了明确什么是算法,我们会从简单的查找功能开始讲起。
查找其实一个一个非常简单的算法,
但我们会为这个查找功能的算法做如下工作:
- 让查找的功能适应更多的数据类型
- 通过查找的例子讲解如何编写正确的程序?
- 为查找算法性能测试
- 对一些常见算法做复杂度分析
2、定义算法
Algorithm的本意:解决问题的方法。
实际上,是指一系列解决问题的、清晰、可执行的计算机指令。
举了例子,生活中也有算法。
问路:如何去天安门?
比如数学题:
如何求解方程式?
比如菜谱:
菜的制作过程。
3、算法的五个特性
- 1、有限性—不代表时间一定很短;
- 2、确定性—不会产生二义性,表示算法内部每一个指令都是清晰的。不代表输入相同,输出一定不同;
- 3、可行性—比如拿出最大的质数,这是不可行的;
- 4、输入;
- 5、输出。
通常一个函数,就可以看作为一个算法,输入参数、返回值分别对应为算法的输入输出。
算法的输入是它的操作对象,输出就是它的结果,不可以简单把算法和函数等同。