【算法】函数渐近的界基础知识及定理
创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
🔥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 即可
-
f (n) = O(g(n)) ,f(n)的阶不高于g(n)的阶.
-
可能存在多个正数c,只要指出一个即可.
-
对前面有限个值可以不满足不等式.
-
常函数可以写作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即可
-
f (n)=Ω (g(n)),f(n)的阶不低于g(n)的阶.
-
可能存在多个正数c,指出一个即可.
-
对前面有限个 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
- f (n) = o(g(n)) ,f(n)的阶低于g(n)的阶
- 对不同正数c, n0不一样. c越小n0越大
- 对前面有限个 n 值可以不满足不等式
如果 l i m n → ∞ \underset{n → ∞}{lim} n→∞lim 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} n→∞lim 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))
-
f(n) 的阶与 g(n) 的阶相等.
-
对前面有限个n 值可以不满足条件.
如果 l i m n → ∞ \underset{n → ∞}{lim} n→∞lim f (n) / g(n)存在且等于某个常数,那么f(n) = Θ (g(n))
图解

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



三、取整函数


总结
-
估计函数的阶的方法:
计算极限
阶具有传递性 -
对数函数的阶低于幂函数的阶,多项 式函数的阶低于指数函数的阶.
-
算法的时间复杂度是各步操作时间之 和,在常数步的情况下取最高阶的函 数即可.

| 大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。 |
| 大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●) |
相关文章:
【算法】函数渐近的界基础知识及定理
创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 🔥c系列专栏:C/C零基础到精通 🔥 给大…...
stable diffusion实践操作-writing
文章目录 前言一、优点1.1、免费开源1.2、拥有强大的外接模型 二、组成要素2.1 底模2.2 风格2.3 提示词2.4 参数配置 三、生图原理四、下载链接 实践正文一、安装1.1 电脑硬件配置查看1.2 安装本地版本的stable diffusion1.3 SD使用教程 二、模型介绍与下载2.1大模型2.2 Lora模…...
idea查找maven所有依赖
文章目录 idea自带的依赖结构图idea安装maven helper插件 idea自带的依赖结构图 缺点是只有依赖,没有版本 idea安装maven helper插件 settings–>plugins–>搜索maven helper并安装 安装后打开pom.xml文件会有依赖解析 勾选conflict就是有冲突的依赖选中…...
【业务功能篇97】微服务-springcloud-springboot-电商购物车模块-获取当前登录用户的购物车信息
购物车功能 一、购物车模块 1.创建cart服务 我们需要先创建一个cart的微服务,然后添加相关的依赖,设置配置,放开注解。 <dependencies><dependency><groupId>com.msb.mall</groupId><artifactId>mall-commo…...
Shell常用的几个正则表达式:[:alnum:], [:alpha:], [:upper:], [:lower:], [:digit:] 认知
一:通配符命令简介: 匹配符合相关条件的符号,匹配文件名查找。 通配符类型: *:匹配任意长度的任意字符 ?:匹配任意单个字符 []:匹配指定范围内的任意单个字符 [^]:匹配指…...
简单的爬虫代码 爬(豆瓣电影)
路漫漫其修远兮,吾将上下而求索 这次写一个最简单的python爬虫代码,也是大多教程第一次爬取的,代码里面有个别的简单介绍,希望能加深您对python爬虫的理解。 本次爬取两个网页数据 一 爬取的网站 豆瓣电影 爬取网页中的&#…...
微服务之架构演变
随着互联网的发展,网站应用规模不断扩大,网站架构随之不断演变,演变历史大致分为单体应用架构-垂直应用架构-分布式架构-SOA架构-微服务架构-云原生架构 架构演变 单体应用架构 以前网站流量小,只需要一个应用就可以把所有功能…...
面试问题记录一 --- C++(Qt方向)
以下是我于2023年6~7月间换工作时遇到的面试题目,有需要的小伙伴可以参考下。约100个题目。 1 C和C++的区别 1) 文件区别:C源文件后缀 .c;C++源文件后缀 .cpp 2) 返回值: C默认返回int型;C++ 若无返回值,必须指定为void 3) 参数列表:C默认接收多个…...
使用词袋模型(BoW)测试提取图像的特征点和聚类中心
文章目录 环境配置代码测试 环境配置 (1) 导入opencv,参考链接 https://blog.csdn.net/Aer_7z/article/details/132612369(2) 安装numpy 激活虚拟环境的前提下,输入: pip install numpy(3) 安装sklearn 激活虚拟环境的前提下,输…...
利用vba处理Excel表格数据实现键值转化,适用于将编码转化成对应的文本
最近遇到了一个甲方需要提供系统登录的用户名单和对应的角色权限内容。无奈直接从数据库导出的数据对应的都是编码,没有转成中文,想着偷个懒能不能直接用Excel直接转,网上看了一下有修改单元格格式的,但需要编码是2到3个。多的就用…...
IntelliJ IDEA(Windows 版)的所有快捷键
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥 大家好 本文参考了 IntelliJ IDEA 的官网,列举了IntelliJ IDEA(Windows 版)的所有快捷…...
文件上传漏洞全面渗透姿势
0x00 文件上传场景 (本文档只做技术交流) 文件上传的场景真的随处可见,不加防范小心,容易造成漏洞,造成信息泄露,甚至更为严重的灾难。 比如某博客网站评论编辑模块,右上角就有支持上传图片的功能,提交带…...
GreenPlum的gpfdist使用与原理流程分析
一、简介 GreenPlum 的数据导入功能作为对数据源的一种扩充,数据导入的方式有: 1、insert 该方式通过 sql 语句,把数据一条一条插入至表中。这种方式,不仅读取数据慢(一条一条读取),且数据需要…...
Spring AOP与静态代理/动态代理
文章目录 一、代理模式静态代理动态代理代理模式与AOP 二、Spring AOPSping AOP用来处理什么场景jdk 动态代理cglib 动态代理面试题:讲讲Spring AOP的原理与执行流程 总结 一、代理模式 代理模式是一种结构型设计模式,它允许对象提供替代品或占位符&…...
【LeetCode算法系列题解】第51~55题
CONTENTS LeetCode 51. N 皇后(困难)LeetCode 52. N 皇后 II(困难)LeetCode 53. 最大子序和(中等)LeetCode 54. 螺旋矩阵(中等)LeetCode 55. 跳跃游戏(中等) …...
驱动开发错误汇编
本博文将会不定期更新。以便记录我的驱动开发生涯中的一些点点滴滴的技术细节和琐事。 1. link阶段找不到导出函数 比如"LNK2019 无法解析的外部符号 _FltCreateCommunicationPort32"。 出现这种情况的原因是,驱动的编译环境忽略了所有的默认库&#x…...
知识图谱项目实践
目录 步骤 SpaCy Textacy——Text Analysis for Cybersecurity Networkx Dateparser 导入库 写出页面的名称 编辑 自然语言处理 词性标注 可能标记的完整列表 依存句法分析(Dependency Parsing,DEP) 可能的标签完整列表 实例理…...
stable diffusion实践操作-提示词-人物属性
系列文章目录 stable diffusion实践操作-提示词 文章目录 系列文章目录前言一、提示词汇总1.1 人物属性11.2 人物属性2 前言 本文主要收纳总结了提示词-人物属性。 一、提示词汇总 1.1 人物属性1 角色类型人物身材胸部头发-发型头发-发色[女仆][霊烏路空][大腿][乳房][呆毛…...
RabbitMQ的安装和配置
将RabbitMQ文件夹传到linux根目录 开启管理界面及配置...
WebRTC 日志
WebRTC 日志 flyfish WebRTC支持的日志等级 // // The meanings of the levels are: // LS_VERBOSE: This level is for data which we do not want to appear in the // normal debug log, but should appear in diagnostic logs. // LS_INFO: Chatty level used in de…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...
【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
