[数据结构] 时间复杂度计算

1. 算法的特性

输入(Input)

一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;

输出(Output)

一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的。可以在控制台打印输出或者返回一个或多个值等。

确定性(Definiteness)

算法中的每一步骤必须有确切的含义,不能产生多义性:

可行性(Effectiveness)

算法中的每一步骤必须是切实可执行的,即原则上可以通过已经实现的基本运算执行有限次来实现(也称之为有效性);

有穷性(Finiteness)

算法在执行有限的步骤后自动结束,不会出现无限循环,并且每一个步骤在可接受的时间内完成。意思是当一个算法执行个 三五十年才结束,人都等的挂到墙上了,这样的算法也没有实际意义。

2. 推导大O阶方法

1)、用常数1取代运行时间中的所有加法常数

2)、在修改后的运行次数函数中,只保留最高阶项

3)、如果最高阶存在且不是1,则去除与这个项相乘的常数。

 

 

posted @ 2017-06-20 09:24  snow__wolf  阅读(290)  评论(0编辑  收藏  举报