• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

无信不立

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

【算法和数据结构】算法导论2~3章

一、算法导论2~3章知识点

 

二、函数的增长

1、渐近记号概念

渐近记号主要是用来刻画算法的运行时间

有时候我们对算法的最坏运行时间感兴趣,然而我们常常希望刻画任何输入的运行时间。希望做出一种综合性地覆盖所有输入,而不仅仅是最坏情况的陈述。

 

例子:

如插入排序的算法的运行时间的计算函数:T(n)=4n²-3n

则该插入排序的算法的渐近紧确界的标记符号:θ(n²)(非形式化的表述,扔掉低阶项,去掉高阶项的系数)

则需要证明   C1*n²<=4n²-3n<=C2*n²(其中C1,C2为常量)

推导过程:
1、两边除以n²得到结果:C1<=4-3/n<=C2

2、1<=C1<4,则左边C1<4-3/n成立

3、C2>=1,则4-3/n<=C2成立


结论:
C1=1
C2=2
n0=1

 

 

2、渐近记号

记号含义通俗理解
(1)Θ(西塔) 渐近紧确界。 相当于"="
(2)O (大欧) 渐近上界。 相当于"<="
(3)o(小欧) 非紧的上界。 相当于"<"
(4)Ω(大欧米伽) 渐近下界。 相当于">="
(5)ω(小欧米伽) 非紧的下界。 相当于">"

 

 

θ(g(n))含义

f(n):存在正常量C1,C2,n0,使得对所有n>=n0,有  0<=  C1*g(n)  <=  f(n)  <=  C2*g(n)

则θ(g(n))是函数f(n)的渐近紧确界的表达式

例子: θ(n²) 是插入排序 f(n)=4n²-3n 的渐近紧确界的表达式

 

O(g(n))含义

f(n):存在正常量C1和n0,使得对所有n>=n0,有0<= f(n)  <= C1*g(n) 

 

3、渐近函数

3、渐近函数的关系

 

 

 

 

posted on 2019-05-19 19:40  无信不立  阅读(128)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3