定义2.3 若存在三个正常数c1、c2和n 0 ,对于任意n≥n 0,都有c1 ×f(n) ≥ T(n)≥ c2 ×f(n),就称T(n)= Θ(f(n)) 。 * Algorithm Introduction * Θ符号意味着T(n)与f(n)同阶,用来表示算法的精确阶。 问题的计算复杂性上下界(准确界) n0 问题规模n 执行次数 n0之前的情况无关紧要 T(n) c2×f(n) c1×f(n) 2.3.1 问题的计算复杂性下界 例:T(n)=3n-1,上界?下界?上下界? 解: 当n≥1时,3n-1≤3n=Ο(n) 当n≥1时,3n-1 ≥ 3n-n=2n=Ω(n) 当n≥1时, 3n≥ 3n-1 ≥ 2n,则3n-1=Θ(n) 2.3.1 问题的计算复杂性下界 大Ω常与大O配合以证明某问题的一个特定算法是该问题的最优算法,或是该问题中的某算法类中的最优算法。一般情况下,如果能证明某问题的时间下界是Ω(g(n)),那么,对以时间O(g(n))来求解该问题的任何算法(其实就是确定算法的精确阶是Θ (g(n))),都认为是求解该问题的最优算法。 2.3.1 问题的计算复杂性下界 例2.10 如下算法实现在一个数组中求最小值元素,证明该算法是最优算法。 int ArrayMin(int a[], int n){ int min=a[0]; for(int i=1;in;i++) if(a[i]min) min=a[i]; return min; } 2.3.1 问题的计算复杂性下界 证明:算法需要进行n-1次比较,时间复杂性是O(n)。下面要证明问题的下界是Ω(n),即对于任何n个整数,求最小值元素至少需要进行n-1次比较。 将n个整数分为三个动态的集合: A(待比较数集合),B(非最小数集合),C(最小数集合)。 任何一个通过比较求最小值元素的算法都要从(n,0,0)状态开始,最终到达(0,n-1,1)。这个过程实际上是将元素从A向B和C移动,但每次比较,至多能把一个较大元素从集合A移向集合B,因此,任何求最小值算法至少要进行n-1次比较,其时间下界是Ω(n)。 所以算法是最优算法。 初始状态 (n,0,0) 完成状态 (0,n-1,1) 算法运行 确定和证明某个问题的计算复杂性下界是很困难的,因为不可能枚举该问题的所有算法。事实中,存在大量问题,它们的下界是不清楚的。 2.3.2 平凡下界 平凡下界:使用计数方法得出的算法复杂性下界。即对问题的输入中必须要处理的元素进行计数,同时对必须要输出的元素进行计数,得到一个平凡下界。 例如,任何生成n个不同元素的所有排列对象的算法必定属于Ω(n!),因为输出的规模就是n! 平凡下界很容易得出,但往往过小而失去意义。例如,TSP问题的平凡下界是Ω(n2)(输入是n(n-1)/2个城市间的距离),但没有意义,至今没有找到一个多项式时间算法。 2.3.3 判定树模型 许多算法的工作方式都是对输入元素进行比较,例如排序和查找算法,故可以用判定树来研究这些算法的时间性能。 判定树:满足如下条件的二叉树: (1)每个内部结点对应形如x≤y的比较,根据关系成立与否,控制转移到左右子树; (2)每个叶子结点表示问题的一个结果。从根到叶子结点所走过的路径代表算法执行的过程,路径的长度即代表算法执行的时间 2.3.3 判定树模型 例2.11 用判定树模型求解排序问题的时间下界。 解:根据排序算法中的比较,建立起判定树来描述算法,则判定树的高度就是算法的下界。 补充材料:算法的实验分析 渐进分析能够在数量级上对算法进行精确度量,但数学不是万能的,许多貌似简单的算法很难用数学的精确性和严格性来分析,尤其在做平均效率分析时。 算法的实验分析是一种事后计算的方法,通常需要将算法转换为对应的程序并上机运行。例如可在程序中设置计数器变量来记录基本语句的执行次数。 void SubbleSort(int r[], int n){ int count1,count2=0; int bound,exchange=n-1; while(exchange!=0){ //当上一趟排序有记录交换时 bound=exchange;exchange=0; for(int j=0; jbound; j++) if( ++count1r[j]r[j+1]){ int temp=r[j]; r[j]=r[j+1]; r[j+1]=temp; count2+=3; exchange=j; //记载每一次记录交换的位置 } } cout“比较次数是”count1endl; cout“移动次数是”count2endl; } * Algorithm In
您可能关注的文档
- 第2章 关系数据库基本原理汇总.ppt
- 第2章 投影的基本知识汇总.ppt
- 第2章 随机过程的基本汇总.ppt
- 第2章(2.3-2.6)交流电路(简)汇总.ppt
- 第2章:单自由度振动1汇总.ppt
- 第2章:光纤传输原理汇总.ppt
- 第四章曲线运动解说.doc
- 第2章__TMS320C55x的硬件结构汇总.ppt
- 第2章__化学基础知识汇总.ppt
- 第2章__平面力系22汇总.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)