【算法】函数渐近的界基础知识及定理

创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
🔥c++系列专栏:C/C++零基础到精通 🔥

给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ

在这里插入图片描述

c语言内容💖:

专栏:c语言之路重点知识整合

【c语言】全部知识点总结


目录

  • 一、5种渐近意义下的符号
    • 1.渐近上界——大 O 符号
    • 2.渐近下界——大 Ω 符号
    • 3.非渐近紧确上界——小 o 符号
    • 4.非渐近紧确上界——小 ω 符号
    • 5.同界—— Θ 符号
    • 图解
  • 二、有关函数渐近的界的定理
  • 三、取整函数
  • 总结

函数渐近的界可以用来表示函数的边界或范围的集合

可以分为:

  • 上界
  • 同界
  • 下界

一、5种渐近意义下的符号

1.渐近上界——大 O 符号

定义:

设 f 和 g是定义域为自然数集N上的函数。若存在正数 c 和 n0 ,使得 对一切 n > n0有 0 <f(n) < cg(n)成立, 则称f(n) 的渐近的上界是 g(n),记作 f (n) = O(g(n))

例子:

设f(n) = n2 + n,则
f(n)=O(n2),取 c = 2 ,n0 =1 即可
f(n)=O(n3),取 c = 1 ,n0 =2 即可

  1. f (n) = O(g(n)) ,f(n)的阶不高于g(n)的阶.

  2. 可能存在多个正数c,只要指出一个即可.

  3. 对前面有限个值可以不满足不等式.

  4. 常函数可以写作O(1).

上界的阶越低,评估越准确

大O符号可以看作是<=号-------时间复杂度的最坏情况T(max)


2.渐近下界——大 Ω 符号

定义:

设 f 和 g是定义域为自然数集N上的函数。若存在正数 c 和 n0,使得对一切 n > n0有 0 < cg(n) <f(n)成立, 则称f(n) 的渐近的下界是 g(n),记作 f (n) = Ω(g(n))

例子:

设f(n) = n2 + n,则
f(n) = Ω (n2), 取 c = 1, n0 =1即可
f(n) = Ω(100n), 取 c=1/100, n0 =1即可

  1. f (n)=Ω (g(n)),f(n)的阶不低于g(n)的阶.

  2. 可能存在多个正数c,指出一个即可.

  3. 对前面有限个 n 值可以不满足上述不等式.

下界的阶越高,评估越准确

大 Ω 符号可以看作是>=号-------时间复杂度的最好情况T(min)


3.非渐近紧确上界——小 o 符号

定义:

设 f 和g是定义域为自然数集 N上的函数。若对于任意正数 c 都存在 n0,
使得对一切 n > n0有 <f(n) < cg(n)成立, 则记作f (n) = o(g(n))

例子:

f(n)=n2+n,则
f(n)=o(n3)
c>1显然成立,因为n2+n<cn3(n0=2)
任给1>c >0, 取 n0 >「2/c] 即可。因为cn > cn0 > 2 (当n > n0 ) n2+n < 2n2 < cn3

  1. f (n) = o(g(n)) ,f(n)的阶低于g(n)的阶
  2. 对不同正数c, n0不一样. c越小n0越大
  3. 对前面有限个 n 值可以不满足不等式

如果 l i m n → ∞ \underset{n → ∞}{lim} nlim f (n) / g(n)=0,那么f(n) = o(g(n))

小 o 符号可以看作是<号`


4.非渐近紧确上界——小 ω 符号

定义:

设 f 和 g是定义域为自然数集 N上的函数。若对于任意正数 c 都存在 n0 ,使 得对一切 n > n0有
0 < cg(n) <f(n) 成立, 则记作f (n) = ω (g(n))

如果 l i m n → ∞ \underset{n → ∞}{lim} nlim f (n) / g(n)=∞,那么f(n) = ω (g(n))

小 ω 符号可以看作是>号`


5.同界—— Θ 符号

定义:

若f (n) = O (g(n)) 且f (n) = Ω(g(n)), 则记作f (n) = Θ(g(n))

例子:

f(n) =n2+ n, g(n) =100n2 ,那么有f(n)=Θ(g(n))

  1. f(n) 的阶与 g(n) 的阶相等.

  2. 对前面有限个n 值可以不满足条件.

如果 l i m n → ∞ \underset{n → ∞}{lim} nlim f (n) / g(n)存在且等于某个常数,那么f(n) = Θ (g(n))

图解

在这里插入图片描述

二、有关函数渐近的界的定理

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

三、取整函数

在这里插入图片描述

在这里插入图片描述

总结

  • 估计函数的阶的方法:
    计算极限
    阶具有传递性

  • 对数函数的阶低于幂函数的阶,多项 式函数的阶低于指数函数的阶.

  • 算法的时间复杂度是各步操作时间之 和,在常数步的情况下取最高阶的函 数即可.


在这里插入图片描述

大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/114576.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Scala的特质trait与java的interface接口的区别,以及Scala特质的自身类型和依赖注入

1. Scala的特质trait与java接口的区别 Scala中的特质&#xff08;trait&#xff09;和Java中的接口&#xff08;interface&#xff09;在概念和使用上有一些区别&#xff1a; 默认实现&#xff1a;在Java中&#xff0c;接口只能定义方法的签名&#xff0c;而没有默认实现。而在…

unity界面上Global 与Local xyz- right up forward

gloabal 如果要沿这个方向移动就比较困难 local下就不一样了

【数据结构】队列篇| 超清晰图解和详解:循环队列模拟、用栈实现队列、用队列实现栈

博主简介&#xff1a;努力学习的22级计算机科学与技术本科生一枚&#x1f338;博主主页&#xff1a; 是瑶瑶子啦每日一言&#x1f33c;: 每一个不曾起舞的日子&#xff0c;都是对生命的辜负。——尼采 目录 一、 模拟实现循环队列二、用栈实现队列⭐三、225. 用队列实现栈 一、…

Python Qt学习(八)Treeview

源代码&#xff1a; # -*- coding: utf-8 -*-# Form implementation generated from reading ui file qt_treeview.ui # # Created by: PyQt5 UI code generator 5.15.9 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not…

大数据Flink(七十):SQL 动态表 连续查询

文章目录 SQL 动态表 & 连续查询 一、​​​​​​​SQL 应用于流处理的思路

ssm园区停车管理系统源码和论文

ssm园区停车管理系统源码和论文104 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#x…

Gatling 入门

1.新建一个测试接口项目 里面代码非常简单&#xff0c;就一个hi接口&#xff1a; package com.example.gatlingdemo.controller;import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;import java.ti…

拼多多开放平台的API接口可以获取拼多多电商数据。以下是API接口流程

使用拼多多开放平台的API接口可以获取拼多多电商数据。以下是一般的API接口流程&#xff1a; 1. 注册开发者账号&#xff1a;首先&#xff0c;您需要在拼多多开放平台注册一个开发者账号。通过开发者账号&#xff0c;您可以获得API密钥和其他必要的信息。 2. 鉴权与认证&…

33、Flink之hive介绍与简单示例

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

给oracle逻辑导出clob大字段、大数据量表提提速

文章目录 前言一、大表数据附&#xff1a;查询大表 二、解题思路1.导出排除大表的数据2.rowid切片导出大表数据Linux代码如下&#xff08;示例&#xff09;&#xff1a;Windows代码如下&#xff08;示例&#xff09;&#xff1a;手工执行代码如下&#xff08;示例&#xff09;&…

vite 配置自动补全文件的后缀名

vite 不建议自动补全&#xff0c;文件的后缀名的 const Home ()>import("/views/Home.vue");文件是必须要加上 .vue 的后缀名的 如果 想要像 webpack 一样的不用写&#xff0c; 可以在vite.config.js中配置如下就可以了

【iOS】Masonry的基本使用

文章目录 前言一、使用Masonry的原因二、约束的常识三、Masonry的简单使用四、Masonry的用例总结 前言 暑假安装了cocoapods&#xff0c;简单使用其调用了SVGKit&#xff0c;但是没有学习Masonry&#xff0c;特此总结博客记录Masonry的学习 一、使用Masonry的原因 Masonry是一…

持续集成与持续交付(CI/CD):探讨在云计算中实现快速软件交付的最佳实践

文章目录 持续集成&#xff08;CI&#xff09;的最佳实践持续交付&#xff08;CD&#xff09;的最佳实践云计算环境下的特别注意事项 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 ✨收录专栏&am…

docker启动paddlespeech服务,并使用接口调用

一、检查docker容器是否启动 1.输入命令 systemctl status docker 启动 systemctl start docker 守护进程重启 sudo systemctl daemon-reload 重启docker服务 systemctl restart docker 重启docker服务 sudo service docker restart 关闭docker service docker…

Django实现音乐网站 ⒂

使用Python Django框架制作一个音乐网站&#xff0c; 本篇主要是歌手详情页-基本信息、单曲列表功能开发实现内容。 目录 歌手基本信息 增加路由 显示视图 模板显示 推荐歌手跳转详情 歌手增加基本信息 表模型增加字段 数据表更新 基本信息增加内容渲染 歌手单曲列表…

TL6478(TI TMS320C6748 DPS)EVM开发板技术讲座 第二讲:USB转串口驱动安装

在开展我们的TL 6748 DSP开发版开发之前,需要先安装usb转串口驱动,才能使得我们的电脑上查询到该设备,使用该设备。底板上存在UART1、UART2,将评估板的 UART2 RS232 调试串口通过 RS232 交叉串口母母线、USB 转 RS232 公头串口线连接至 PC 机的 USB 接口。1. 驱动下载 USB…

TCP协议基础

一&#xff1a; TCP协议是什么&#xff1f; TCP协议是基于面向连接&#xff0c;可靠传输&#xff0c;基于字节流的传输层通信协议 1. 面向连接 TCP协议是一种面向连接的协议&#xff0c;意味着在双方在建立数据传输之前&#xff0c;需要进行一个逻辑上的连接&#xff0c;且是…

分布式搜索引擎

1 DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 1.1.DSL查询分类 Elasticsearch提供了基于JSON的DSL&#xff08;Domain Specific Language&#xff09;来定义查询。常见的查询类型包括&#xff1a; 查询所有&#xff1a;查询出所有数据&#xff0c;一…

【ES6】—类与继承

一、 定义类 class People {constructor (name, age) {this.name namethis.age age}showName () {console.log(this.name)} } let p1 new People(xiaoxiao, 30) console.log(p1) // People {name: xiaoxiao, age: 30}小节&#xff1a; 使用class关键字声明类使用construc…

瓜分双十一10亿红包设计:在线分享教程?

在如今激烈的市场竞争中&#xff0c;瓜分红包营销活动成为了各大企业争相使用的一种营销手段。这种活动不仅能够吸引用户的关注和参与&#xff0c;还能够提高用户的粘性和忠诚度。那么&#xff0c;如何自建瓜分红包营销活动呢&#xff1f;下面将为大家详细解析。 首先&#xff…