算法复习答案1
什么是基本运算
答:基本运算是解决问题时占支配地位的运算(一般 1 种,间或两种);讨论一个算法优劣时,只讨论基本运算的执行次数
什么是算法的时间复杂性(度)
答:算法的时间复杂性(度)是指用输入规模的某个函数来表示算法的基本运算量
T(n)=4n33
什么是算法的渐近时间复杂性
答:当输入规模趋向于极限情形时(相当大)的时间复杂性
表示渐进时间复杂性的三个记号的具体定义是什么
T(n)= O(f(n)):若存在 c > 0 和正整数 n0≥1,使得当 n≥n0时, 总有 T(n)≤c*f(n)
(给出了算法时间复杂度的上界,不可能比 c*f(n)更大) 2
T(n)=Ω(f(n)):若存在 c > 0 和正整数 n0≥1,使得当 n≥n0时, 存在无穷多个 n ,使得 T(n)≥c*f(n)成立
(给出了算法时间复杂度的下界,复杂度不可能比c*f(n)更小) 3
T(n)= Θ(f(n)):若存在 c1,c2>0,和正整数 n0≥1,使得当 n≥n0时, 总有 T(n)≤c1*f(n),且有无穷多个 n,使得 T(n)≥c2*f(n)成立, 即:T(n)= O(f(n))与T(n)=Ω(f(n))都成立
(既给出了算法时间复杂度的上界,也给出了下界)5
什么是最坏情况时间复杂性
什么是平均情况时间复杂性
答:最坏情况时间复杂性是规模为 n 的所有输入中,基本运算执行次数为最多的那个输入的时间复杂性
平均情况时间复杂性是规模为 n 的所有输入的算法时间复杂度的平均值 (一般均假设每种输入情况以等概率出现)
一般认为什么是算法
什么是计算过程
答:一般认为,算法是由若干条指令组成的有穷序列,有五个特性1) 确定性:每条指令都是明确的、无二义的 2) 能行性:每条指令都必须是能够执行的 3) 输入:允许有 0 个或多个