1、算法定义
算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或者多个操作。最早出现在波斯数学家阿勒·花刺子密在公元825年所写的《印度数字算术》中。
2、算法特性
输入输出,又穷性,确定性和可行性
2.1、输入输出
算法具有零个或者多个输入,但至少有一个输出。输出形式可以多样
2.2、有穷性
指算法在执行有限步骤后,自动结束而不会出现无限循环情况,并且每一个步骤在可接受的时间内完成。 这里的有穷概念并不是存数学意义,而是在实际应用当中合理的,可以接受的。比如写个算法需要运行二十年才结束,这个就没有意义了。
2.3、确定性
算法的每一步都具有确定的含义,不会出现其他含义。就是在一定的条件下只有一条执行路径,相同的输入只能有唯一的输出结果。
2.4、可行性
算法每一步必须可行。意味着算法可以转化为程序运行,并得到正确结果。
3、常见的时间复杂度
常用时间复杂度的耗费时间从小到大依次是:
ps:《大话数据结构》读书笔记