算法简介

来源:互联网 发布:淘宝网商城清仓特价 编辑:程序博客网 时间:2024/06/05 19:20

算法是一组完成任务的指令。任何代码片段都可视为算法


运行时间:

一般而言,应选择效率最高的算法,以最大限度地减少运行时间或占用时间。
算法的速度指的并非时间,而是操作数的增速,即随着输入的增加,其运行时间将以什么样的速度增加

大O表示法

算法的运行时间用大O表示法表示,例如O(n),n代表了操作数,指出了最糟情况下的运行时间。例如,在最糟的情况下,通过简单查找,查看电话簿中的每个条目,对应的运行时间为O(n)。这是一个保证--因为简单查找的运行时间不可能超过O(n)
                              
算法的运行时间并以秒为单位,而是从其增速的角度度量的。

一些常见的大O运行时间

下面从快到慢的顺序列出了经常遇到的5种大O运行时间。

O( log n ),即对数时间,这样的算法包括二分查找
O( n ),即线性时间,这样的算法包括简单查找
O( nlog n ),这样的算法包括快速排序,即一种较快的排序算法
O( n*n ),这样的算法包括选择排序,即一种速度较慢的排序算法
O( n! ),这样的算法包括旅行商问题的解决方案,即一种非常慢的算法

注意:除最糟情况下的运行时间下,还应考虑平均情况的运行时间,这很重要。

0 0
原创粉丝点击