(@法的复性分析 解同一个问题,算法不同,则计算的工作量也不同,所需 的计算时间随之不同,即复杂性不同。 应该指出:用实例的运行时间来度量犷法的时间复杂性并 不合适,因为这个实例时间与运行该算法的实际计算机性 能有关。 换句话说。这个实例时间不单纯反映算法的效率而是反映 包括运行该算法的计犷杋在內的综合效率。我们引入箕法 复杂性的概念是为了比较解决同一个问题的不同算法的效 率,而不去比软运行该算法的讣算机的性能。因而,不 应该取算法运行的实例时间作为算法复杂性的尺度。我们 希望。尽量单纯地反映作为犷法精髓的讣算方法本身的效 率,而且在不实际运行该算法的情况下就能分析出它所孺 要的时间和空间
算法的复杂性分析 解同一个问题,算法不同,则计算的工作量也不同,所需 的计算时间随之不同,即复杂性不同。 应该指出:用实例的运行时间来度量算法的时间复杂性并 不合适,因为这个实例时间与运行该算法的实际计算机性 能有关。 换句话说,这个实例时间不单纯反映算法的效率而是反映 包括运行该算法的计算机在内的综合效率。我们引入算法 复杂性的概念是为了比较解决同一个问题的不同算法的效 率,而不想去比较运行该算法的计算机的性能。因而,不 应该取算法运行的实例时间作为算法复杂性的尺度。我们 希望,尽量单纯地反映作为算法精髓的计算方法本身的效 率,而且在不实际运行该算法的情况下就能分析出它所需 要的时间和空间
e时间与空间的相互影响 个算法运行所需时间的长短、空间的大小具有非常重 要的意义。 命时间和空间相互之间有一种制约关系,何者为重需视 具体情况而定。 ▲算法高效与算法易理解、易编程之间也有一种制约关 系 这两个要求有时互相矛盾。对反复运行的算法,首先考 虑的是高效性,对偶尔运行的算法,则需突出算法易理 解和易编程
一个算法运行所需时间的长短、空间的大小具有非常重 要的意义。 时间和空间相互之间有一种制约关系,何者为重需视 具体情况而定。 算法高效与算法易理解、易编程之间也有一种制约关 系 这两个要求有时互相矛盾。对反复运行的算法,首先考 虑的是高效性,对偶尔运行的算法,则需突出算法易理 解和易编程. 时间与空间的相互影响
@算法分布的定 重点考虑时间因素。 个算法所耗费的时间,应该是该算法中每条语 句的执行时间之和,而每条语句的执行时间又是该 语句的执行次数(频度)与该语句执行一次所需时 间的乘积。 假定:每条语句一次执行的时间都是相同的,为 单位时间。这样我们对时间的分析就可以独立于软 硬件系统
重点考虑时间因素。 一个算法所耗费的时间,应该是该算法中每条语 句的执行时间之和,而每条语句的执行时间又是该 语句的执行次数(频度)与该语句执行一次所需时 间的乘积。 假定:每条语句一次执行的时间都是相同的,为 单位时间。这样我们对时间的分析就可以独立于软 硬件系统。 算法分析的约定
( 补充 事后分析 将算法编制成可执行程序,并把各种可能 数据集输入得到的时间空间资料
补充 事后分析 将算法编制成可执行程序,并把各种可能 数据集输入得到的时间空间资料
算法的后期测试 在算法中的某些部位插装时间函数 timeo 测定算法完成某一功能所花费的时间
算法的后期测试 在算法中的某些部位插装时间函数 time ( ) 测定算法完成某一功能所花费的时间