天天看点

【华科算法基础】一.算法基础什么是算法算法的五个重要特性算法的执行时间运算的分类事前分析和事后测试函数表达式的数量级限界函数上界函数、下界函数、均值函数

目录

  • 什么是算法
  • 算法的五个重要特性
  • 算法的执行时间
  • 运算的分类
  • 事前分析和事后测试
  • 函数表达式的数量级
  • 限界函数
  • 上界函数、下界函数、均值函数

什么是算法

  1. 什么是算法

    算法就是一组有穷的规则,它规定了解决某一特定类型问题的一系列运算

算法的五个重要特性

  1. 算法的五个重要特性

    确定性:确切的定义

    能行性:可行

    输入

    输出

    //只满足前四个称作 计算过程 例:操作系统

    有穷性:一个算法总是在执行了有穷步的运算之后终止

算法的执行时间

  1. 算法的执行时间:

    算法的 执行时间 是算法中所有运算执行时间的总和

运算的分类

  1. 运算的分类:时间囿于常数的运算、时间囿于非常数的运算

    时间囿界于常数的运算 :执行时间是固定量,与操作数无关

    基本算术运算,如整数、浮点数的加、减、乘、除,字符运算,赋值运算,过程调用等

    时间非囿界于常数的运算 :运算的执行时间与操作数相关,每次执行的时间是一个不定的量。

    字符串操作:与字符串中字符的数量成正比,如字符串的比较运算(strcmp),记录操作:与记录的属性数、属性类型等有关

分析时间非囿界于常数的运算时,将其分解成若干时间囿界于常数的运算即可。

【华科算法基础】一.算法基础什么是算法算法的五个重要特性算法的执行时间运算的分类事前分析和事后测试函数表达式的数量级限界函数上界函数、下界函数、均值函数

事前分析和事后测试

  1. 什么是事前分析和事后测试?各阶段的目标特点是什么?

    事前分析 :求出该算法的一个时间界限函数

    事后测试 :收集此算法的执行时间和实际占用空间的统计资料,事后测试与物理实现直接有关

算法分析主要集中于与物理实现无关的事前分析阶段——获取算法的理论时间/空间复杂度。

函数表达式的数量级

  1. 什么是函数表达式的数量级?数量级的大小怎么反应了算法复杂度的高低?

    函数表达式的数量级(阶)

  • 函数表达式中的最高次项的次数
  • 在频率计数函数表达式中,数量级是衡量频率计数的“大小”的一种测度。

数量级从本质上反映了算法复杂度的高低

  • 数量级越小,算法的复杂度越低,同等规模下算法执行时间越短。
  • 数量级越大,算法的复杂度越高,同等规模下算法执行时间越长。

限界函数

  1. 什么是限界函数?怎么得来的?

    限界函数通常是关于问题规模n的特征函数(特征函数是通过分析算法的控制逻辑得来的,是对算法所用运算执行次数的统计结果。与使用的程序设计语言和计算机硬件无关),被表示成Ο、Ω或Θ的形式。

    限界函数用频率计数函数表达式中的最高次项表示限界函数,记为:g(n)。

    ★ g(n)通常是关于n的形式简单的函数式,如:logn,nlogn等

    ★ 不同算法的g(n)有不同的具体形式。

    ★ g(n)通常是对算法中最复杂的计算部分分析而来的。

    ★ g(n)忽略了函数表达式中次数较低的“次要”项,体现了算法复杂性的最本质特征。

    ★ g(n)通常取单项的形式。

上界函数、下界函数、均值函数

  1. 限界函数:上界函数、下界函数、均值函数的定义和性质
  • n是问题规模的某种测度。
  • f(n)是与机器及语言有关的量。
  • g(n)是事前分析的结果,一个形式简单的函数,与频率计数有关、而与机器及语言无关。

上界函数 :O,表示小于等于|f(n)|<=c|g(n)|,f(n)=O(g(n)

下界函数 :Ω,表示大于等于|f(n)|>=c|g(n)|,f(n)=Ω(g(n)

均值函数 :Θ,c1 |g(n)|<=|f(n)|<=c2 |g(n)|,

f(n)=Θ(g(n)

总是试图求出数量级最小的g(n)作为f(n)的上界函数,即, g(n)应该尽量接近函数f(n)——紧确(tight bound )。如

若:3n+2=O(n2) 则是松散的界限;

而:3n+2=O(n) 就是紧确的界限。

数量级越小,限界越精确。

根据上界函数的特性,可以将算法分为:多项式时间算法和指数时间算法

多项式时间算法 :可用多项式函数对计算时间限界的算法。

常见的多项式限界函数有:

Ο(1) < Ο(logn) < Ο(n) < Ο(nlogn) < Ο(n2 ) < Ο(n3 )

指数时间算法 :计算时间用指数函数限界的算法。

常见的指数时间限界函数:

Ο(2n ) < Ο(n!) < Ο(nn )

【华科算法基础】一.算法基础什么是算法算法的五个重要特性算法的执行时间运算的分类事前分析和事后测试函数表达式的数量级限界函数上界函数、下界函数、均值函数
【华科算法基础】一.算法基础什么是算法算法的五个重要特性算法的执行时间运算的分类事前分析和事后测试函数表达式的数量级限界函数上界函数、下界函数、均值函数

9. 理解定理1.2 P76

10. 掌握数学归纳法、反证法、反例法等证明方法

继续阅读