Python 算法
什么是算法
“算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。”
“在谈到算法时,我们不得不去了解一下什么是时间复杂度和空间复杂度这两个概念”
计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间,时间复杂度常用大O符号(大O符号(Big O notation)是用于描述函数渐进行为的数学符号。
空间复杂度:它是用来评估算法内存占用大小的一个式子。
Python 算法的几大重要特征
Python算法除了具有以上特征,还和时间和空间有关系,不同的算法可能用不同的时间、空间或效率来完成同样的任务,因此, 一个Python算法的优劣可以用空间复杂度与时间复杂度来衡量。
通过实例加深对算法的理解
如题所示:
要求x,y,z的1000以内取值满足x x+y y=z*z,同时x+y+z=1000,求解出所以x,y,z的组合情况?
求解过程如下
这里使用了一个waste_time方法作为装饰器来计算装饰过的方法的执行时间,这里有两种算法来求解这个问题
代码如下:
总结:
通过这个示例,对于同一个问题给出两种不同的算法,两种算法在执行过程中我增加了对程序执行时间的统计,通过时间上的对比发现两个算法的执行时间相差非常的大,如响应结果所示。
由此我们可以得出一个结论,就是实现不同的算法程序执行的时间可以反应出算法的效率,即算法有优劣之分,好的算法可以节约时间,提高效率,反之则不然。