算法基础(一)——基础

来源:互联网 发布:社交网络定义是什么 编辑:程序博客网 时间:2024/04/29 03:09

    学习了那么久,一直没有好好写写算法。下面我简单描述一下算法方面知识。

       在已证明算法正确性的前提下,评价算法的好坏主要是关注算法在时间空间上性能的优劣。

       算法时间性能的分析是通过计算算法时间复杂度实现的,其关键就是计算算法的执行时间。一个算法的执行时间,就是算法中每条语句的执行时间的总和。但是在算法实际运行过程中,每次执行所耗费的时间会受到诸如问题规模、输入特性和具体硬件环境等各种外界因素的影响,想得到一个绝对准确的执行时间是几乎不可能的。为此,在进行算法执行时间的计算时一般都忽略硬件及环境因素,并且假设每次执行时硬件条件和环境条件都是完全一致的,每条语句执行一次所需的时间均是单位时间。

       算法中一条语句的执行时间取决于该语句的执行次数和执行一次所需的时间。语句执行次数被称为语句频度,执行一次的时间被假设为单位时间,因此算法的执行时间就可以看作是该算法中所有语句的语句频度之和。

     我们举个具体的例子:

       有三条语句:

       Temp=i;

       i=j;

       j=temp;

       以上三条单个语句的执行次数均为 1,也就是说单个语句的频度均为 1

       算法的执行时间=1+1+1

       此时,我们关心的是算法时间复杂度到底是怎么回事。请看算法基础(二)——算法时间复杂度和渐进时间复杂度


原创粉丝点击