算法的分析和评价
算法分析(Analying Algorithm)的任务是利用数学工具讨论设计出每个算法的复杂度。
评价算法的3条主要标准:
(1)时间复杂度:算法实现所耗费的时间。
(2)空间复杂度:算法实现所耗费的存储空间,其中主要考虑辅助存储空间。(由于硬件的发展水平,一般不作考虑)
(3)可读性:算法易于理解、易于编码、易于调试等。
算法的时间复杂度
1.算法时间效率的衡量方法
(1)事后分析法
(2)事前分析估计法
2.时间复杂度估算
一个程序的时间复杂度(time complexi)是指程序运行从开始到结束所需要的时间。
常见的渐进时间复杂度:
O(1)<O(log2 n)<O(n)<O(nlog2 n)<O(n^2)