1. 算法的特性
输入(Input)
一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;
输出(Output)
一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的。可以在控制台打印输出或者返回一个或多个值等。
确定性(Definiteness)
算法中的每一步骤必须有确切的含义,不能产生多义性:
可行性(Effectiveness)
算法中的每一步骤必须是切实可执行的,即原则上可以通过已经实现的基本运算执行有限次来实现(也称之为有效性);
有穷性(Finiteness)
算法在执行有限的步骤后自动结束,不会出现无限循环,并且每一个步骤在可接受的时间内完成。意思是当一个算法执行个 三五十年才结束,人都等的挂到墙上了,这样的算法也没有实际意义。
2. 推导大O阶方法
1)、用常数1取代运行时间中的所有加法常数
2)、在修改后的运行次数函数中,只保留最高阶项
3)、如果最高阶存在且不是1,则去除与这个项相乘的常数。