算法效率分析基础概要PPT课件
- 格式:ppt
- 大小:325.50 KB
- 文档页数:12
第2章算法效率分析基础算法分析框架介绍算法效率的符号表示非递归算法分析递归算法分析什么是算法分析?算法分析就是对算法利用两种资源的效率进行定量分析: 运行时间and 存储空间.Time efficiency:how fast an algorithm runs.Space efficiency:the space an algorithm requires.•一般来说, 算法的运行时间会随着输入规模的增长而增长•算法分析更关注输入规模和效率变化之间的关系22.1 算法分析框架输入规模度量运行时间度量增长次数(算法效率函数)算法的最差、最优和平均效率32.1.1 输入规模度量算法的时间效率和空间效率都用输入规模n为参数的函数进行度量N阶矩阵的乘积对于所有的算法,对于规模更大的输入都需要运行更长的时间。
选择输入规模的合适量度,要受到所讨论算法的操作细节影响。
拼写检查42.1.2 运行时间的度量单位我们可以使用时间的标准度量单位来度量算法程序的运行时间么?依赖于计算机的运行速度和程序质量统计算法每一步操作执行的次数?困难且无必要统计算法的基本操作执行的次数.基本操作:操作中对整个运行时间贡献程度最大的操作通常,基本操作常常是算法最内层的循环中最费时的操作.5算法运行时间估计672.1.3 增长次数要点:•仅仅考虑公式中最主要的项(leading term )•忽略乘法常量.Exponential-growth functions小规模输入在运行时间上的差别不足以将高效的算法和低效的算法区分开来2.1.4 算法的最优最差和平均效率算法效率不仅取决于输入规模n,而且某些算法受到特定输入细节的影响举例: 顺序查找–Problem:给定n个元素和一个查找键K,如果存在,查找一个与键值k 相等的元素.–Algorithm:检查列表中的连续元素,直到发现匹配查找键的元素(successful search)或到达列表的终点(unsuccessful search)给定顺序查找问题的输入规模为n,什么样的输入会导致最长的运行时间?需要多少次键值比较?8顺序查找算法ALGORITHM SequentialSearch(A[0..n-1], K)//Searches for a given value in a given array by sequential search//Input: An array A[0..n-1] and a search key K//Output: Returns the index of the first element of A that matches K or –1 if there are no matching elementsi Å0while i < n and A[i] ‡K doi Åi + 1if i < n //A[I] = Kreturn ielsereturn -192.1.5 最差、最好和平均效率最差效率是指在输入规模为n时,算法在最坏情况下的效率。
2算法分析就是对算法利用两种资源的效率进行定量分析 : 运行时间 and 存储空间 .Time efficiency:how fast an algorithm runs.Space efficiency:the space an algorithm requires.• 一般来说 , 算法的运行时间会随着输入规模的增长而增长• 算法分析更关注输入规模和效率变化之间的关系3 输入规模度量运行时间度量增长次数 (算法效率函数算法的最差、最优和平均效率4 算法的时间效率和空间效率都用输入规模 n 为参数的函数进行度量N 阶矩阵的乘积对于所有的算法,对于规模更大的输入都需要运行更长的时间。
选择输入规模的合适量度,要受到所讨论算法的操作细节影响。
拼写检查5 我们可以使用时间的标准度量单位来度量算法程序的运行时间么? 依赖于计算机的运行速度和程序质量统计算法每一步操作执行的次数?困难且无必要统计算法的基本操作执行的次数 .基本操作:操作中对整个运行时间贡献程度最大的操作通常,基本操作常常是算法最内层的循环中最费时的操作 .69 ALGORITHM SequentialSearch(A[0..n-1], K//Searches for a given value in a given array by sequential search//Input: An array A[0..n-1] and a search key K//Output: Returns the index of the first element of A that matches K or –1 if there are no matching elementsi Å0while i < n and A[i] ‡ K doi Åi + 1if i < n //A[I] = Kreturn ielsereturn -1最差效率是指在输入规模为 n 时,算法在最坏情况下的效率。