20XX年数据结构之使用C语言.pptVIP

  • 1
  • 0
  • 约5.46千字
  • 约 54页
  • 2019-05-29 发布于天津
  • 举报
与算法效率有关的因素 程序设计语言 编译的代码质量 机器执行指令的速度 问题的规模 求解同样一个问题可能会有许多不同的算法,如何评价这些算法的好坏呢? 首先算法必须是正确的。此外还需考虑: 1、算法易于理解,易于编程(在计算机上实现) ,易于调试。 2、要求算法高效,节省时间与空间。 一个算法运行所需时间的长短、空间的大小具有非常重要的意义。 时间和空间相互之间有一种制约关系,何者为重需视具体情况而定。 算法高效与算法易理解、易编程之间也有一种制约关系 这两个要求有时互相矛盾。因此,对反复运行的算法,首先考虑的是高效性,对偶尔运行的算法,则需突出算法易理解和易编程(以排序为例 - 冒泡排序和快速排序)。 我们重点考虑时间因素。 一个算法所耗费的时间,应该是该算法中每条语句的执行时间之和,而每条语句的执行时间又是该语句的执行次数(频度)与该语句执行一次所需时间的乘积。 我们假定,每条语句一次执行的时间都是相同的,为单位时间。这样我们对时间的分析就可以独立于软硬件系统。 我们将算法求解问题的输入量称为问题的规模,用一个整数来表示,一个算法的时间复杂度是该算法的时间耗费,一般地说,时间复杂度是问题规模的函数 - T( n )。 当问题的规模n 趋于无穷大时,把时间复杂度T( n )的数量级(阶)称为算法的渐进时间复杂度(有时

文档评论(0)

1亿VIP精品文档

相关文档