现在的位置: 首页 > 综合 > 正文

连载:编写高效代码(3)——使用更快的算法

2018年05月07日 ⁄ 综合 ⁄ 共 325字 ⁄ 字号 评论关闭

      算法,是程序设计的灵魂。

    数学家高斯小学的时候就知道了用更简洁的算法来减少计算量。高斯的老师出了道数学题:1+2+3……+100=? 在别的同学还在用一个一个加法苦算的时候,高斯很快就写出了答案5050,他的方法是用(100+1)*100/2代替了99个加法。

高斯的算法

    算法的优化,能明显的减少程序执行所需要的指令数,也即运算量。比较有名的快速算法包括:FFT算法(快速傅里叶变换)、快速排序算法等等。在数据结构与算法中,时间复杂度O用来描述算法所需要的运算量,对n个元素进行排序,冒泡排序算法的时间复杂度为O(n*n),快速排序算法的时间复杂度为O(n*logn)。当n较大时,快速排序算法所需要的指令数就远远少于冒泡排序算法。

抱歉!评论已关闭.