算法导论 总结索引 | 第一部分 第三章:函数的增长

研究算法的 渐近效率

1、渐近记号(40)

1、Θ:
theta数学定义
使得 对于足够大的n,函数 f(n) 能 夹入 c1g(n) 与 c2g(n) 之间,则 f(n) ∈ 集合Θ(g(n))
g(n) 是 f(n) 的一个渐近紧确界

g(n)本身 必为渐近非负

使用 Θ(1) 来意指 一个常量 或者 关于某个常量的一个常量函数

2、O:
Θ记号 渐近地给出 一个函数的上界和下界。当只有一个 渐近上界 时,使用O记号
O数学定义
f(n) = Θ(g(n)) 蕴含着 f(n) = O(g(n)),因为 Θ记号 是一个比O记号更强的概念
使用O记号,可以仅仅通过 检查算法的总体结构 来描述算法的运行时间(看循环)

3、Ω:
Ω记号提供了渐近下界
Ω数学定义
三种记号的图片总结
三种记号的对比
4、相关定理
定理3.1
通常用它 从渐近上界 和 下界 来证明 渐近确界
当称 一个算法运行时间为 Ω(g(n)) 时,意指对每个n值,不管 选择什么特定的规模为n的输入,对这个输入的运行时间 至少是g(n)的常数倍

插入排序的运行时间 介于 Ω(n) 和 O(n2),上下界是尽可能 紧确的
例如:插入排序的运行时间不是 Ω(n2),因为存在一个输入(排好序),对该输入,插入排序 在Θ(n)时间内运行。然而,这与 插入排序的最坏情况 运行时间为Ω(n2)并不矛盾

5、等式和不等式中的 渐近符号
当渐近记号 独立于 等式(或不等式)的右边时(如 n = O(n2)中),指集合的成员函数:n∈O(n2)

当渐近记号 出现在某个公式中的时候,代表某个 不关注名称的匿名函数。例如:2n2+3n+1 = 2n2+Θ(n) 意指 2n2+f(n),其中f(n)是 集合 Θ(n)中的某个函数(这里f(n) = 3n + 1),按这种方式使用渐近号 可以帮助 消除一个等式中 无关紧要的细节与混乱

6、o:
O记号提供的渐近上界 可能是也可能不是 渐近紧确的。使用 o记号 来表示一个 非渐近紧确的上界(不能是紧确的)
o数学定义
与O记号的主要区别:
在f(n) = O(g(n))中,界 0<=f(n)<=cg(n) 对某个常量 c>0 成立;但在f(n) = o(g(n)) 中,界 0<=f(n)<cg(n) 对所有常量 c>0 成立

在o记号中,当n趋于 无穷时,函数 f(n)相对于g(n)来说 微不足道了
3.1
7、ω:
ω记号 来表示一个非渐近紧确的下界
定义方式一:
ω定义方式1
定义方式二:
ω定义方式2
关系 f(n) = ω(g(n)) 蕴含着
ω记号性质
8、比较各种函数
传递性:
传递性
自反性:(只有 可以是紧确的才有的性质)
自反性
对称性:(只有 Θ)
对称性
转置对称性:(O与Ω,o与ω)
转置对称性
9、这些性质对 渐近记号成立,在两个函数f和g的渐近比较 和 两个实数 a与b的比较作类比
与比较作类比
但是 下列性质 不能携带到 渐近记号:
三分性:对任意的两个实数 a和b,下列三种情况 恰有一种必须成立:a<b,a=b,或 a>b

虽然 任意两个实数都可以进行比较,但不是所有函数 都可以渐近比较。对两个函数 f(n)和g(n),也许 f(n)=O(g(n))和f(n) = Ω((g(n))都不成立。如:不能使用 渐近记号 来比较函数 n和 n1+sinn 中的幂值 在0与2之间摆动

2、标准记号与常用函数(45)

1、向下取整 与 向上取整
向下取整 向上取整
一些性质
2、log的一些性质
log的一些性质
最后一个式子的证明:对两边取 logb

3、多重函数
使用记号 f(i)(n) 来表示 函数f(n)重复i次作用于 一个初值n上。形式化地定义
多重函数的形式化定义
例:若 f(n) = 2n,则 f(i)(n) = 2in

4、多重对数:
非正数的对数 无定义,所以 只有在 lg(i-1)n > 0 时 lg(i)n 才有定义。区分 lg(i)n(从参数n开始,连续应用 对数函数i次)与 lg(i)n(n的对数的i次幂)
定义 多重对数函数为
多重对数

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【Spring源码解读!底层原理进阶】【下】探寻Spring内部:BeanFactory和ApplicationContext实现原理揭秘✨

&#x1f389;&#x1f389;欢迎光临&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;特别推荐给大家我的最新专栏《Spring 狂野之旅&#xff1a;底层原理高级进阶》 &#x1f680…

[超分辨率重建]ESRGAN算法训练自己的数据集过程

一、下载数据集及项目包 1. 数据集 1.1 文件夹框架的介绍&#xff0c;如下图所示&#xff1a;主要有train和val&#xff0c;分别有高清&#xff08;HR&#xff09;和低清&#xff08;LR&#xff09;的图像。 1.2 原图先通过分割尺寸的脚本先将数据集图片处理成两个相同的图像…

c++之说_13|模板 折叠表达式

折叠表达式 可以通过形参包的的实际参数&#xff08;不是类型&#xff09; 展开式子 这是这里说的几种 实际上并还有一些写法 先介绍这几种吧 #include <cstdio> template<typename T,T... n> struct integer_sequence {T val; }; template<int idx,typenam…

GEE详细教程之:将Landsat8与Landsat9影像合成一个影像

1.前言 因项目需求&#xff0c;需要获取一个研究区的Landsat8影像&#xff0c;但Landsat8重复周期长&#xff0c;加之天气的影响&#xff0c;很难获取影像质量较好的影像。Landsat4/5/7的波段顺序与landsat8不同&#xff0c;除此之外&#xff0c;landsat7影像还需要工具进行条带…

【PyQt】08 - 编辑Tab顺序

文章目录 前言一、Tab顺序二、编辑Tab顺序总结 前言 介绍了什么是Tab顺序&#xff0c;以及如何修改Tab顺序。 一、Tab顺序 当你的界面设计好之后&#xff0c;在输入栏按住Tab按键&#xff0c;他会按照你摆放的顺序一次转跳 二、编辑Tab顺序 方法一 然后鼠标左击就可以改变…

阿里云参编业内首个代码大模型标准丨云原生 2024 年 1 月产品技术动态

云原生月度动态 云原生是企业数字创新的最短路径。 《阿里云云原生每月动态》&#xff0c;从趋势热点、产品新功能、服务客户、开源与开发者动态等方面&#xff0c;为企业提供数字化的路径与指南。 趋势热点 &#x1f947; 阿里云参编业内首个代码大模型标准&#xff0c;通…

LLaVA-1.6:多模态AI新标准,中文零样本能力与低成本训练革命,性能全面超越Gemini Pro

引言 2023年10月&#xff0c;LLaVA-1.5凭借其简洁高效的设计和在12个数据集上的出色表现&#xff0c;为大规模多模态模型&#xff08;LMM&#xff09;的研究和应用奠定了基础。进入2024年&#xff0c;我们迎来了LLaVA-1.6&#xff0c;一个在理性推理、光学字符识别&#xff08…

LeetCode1365之切披萨的方案数(相关话题:二维前缀和,动态规划)

题目描述 给你一个 rows x cols 大小的矩形披萨和一个整数 k &#xff0c;矩形包含两种字符&#xff1a; A &#xff08;表示苹果&#xff09;和 . &#xff08;表示空白格子&#xff09;。你需要切披萨 k-1 次&#xff0c;得到 k 块披萨并送给别人。 切披萨的每一刀&#xf…

Bpmn-js自定义Palette元素

Bpmn-js作为一个流程编辑器&#xff0c;常规的我们可以将其划分为几个功能区域&#xff0c;每个区域对应的负责不同的功能实现&#xff0c;bpmn-js的设计给我们留下了大量的留白和可扩展区域&#xff0c;其每一部分都可进行组合拼装&#xff0c;同时也支持我们的各种不同层次需…

『运维备忘录』之 Kubernetes(K8S) 常用命令速查

一、简介 kubernetes&#xff0c;简称K8s&#xff0c;是用8代替名字中间的8个字符“ubernete”而成的缩写&#xff0c;是一个开源的&#xff0c;用于管理云平台中多个主机上的容器化的应用。kubernetes是基于容器技术的分布式架构解决方案&#xff0c;具有完备的集群管理能力&a…

霍金《时间简史》(A Brief History of Time)学习笔记(第四章)

Chapter 4: The Uncertainty Principle Footnote: Chapter 4. Mainly talks about Werner Heisenberg’s Uncertainty Principle. Vital principle in modern physics, concept not hard to understand——work of a genius mind. Footnote: Werner Heisenberg, German physici…

【蓝桥杯冲冲冲】Invasion of the Milkweed G

【蓝桥杯冲冲冲】Invasion of the Milkweed G 蓝桥杯备赛 | 洛谷做题打卡day30 文章目录 蓝桥杯备赛 | 洛谷做题打卡day30[USACO09OCT] Invasion of the Milkweed G题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 题解代码我的一些话 [USACO09OCT] Invasion of the Mi…

斯巴鲁Subaru EDI需求分析

斯巴鲁Subaru是日本运输集团斯巴鲁公司&#xff08;前身为富士重工&#xff09;的汽车制造部门&#xff0c;以性能而闻名&#xff0c;曾赢得 3 次世界拉力锦标赛和 10 次澳大利亚拉力锦标赛。 斯巴鲁Subaru EDI 需求分析 企业与斯巴鲁Subaru建立EDI连接&#xff0c;首先需要确…

洛谷C++简单题小练习day9—[AHOI2017]寻找探监点

day9--[AHOI2017]寻找探监点--2.7 习题概述 题目描述 一个nn 的网格图&#xff08;标号由 1,1 开始&#xff09;上有 m 个探测器&#xff0c;每个探测器有个探测半径 r &#xff0c;问这 nn 个点中有多少个点能被探测到。 输入格式 第一行 3 个整数 n,m,r。 接下来 m 行&…

解决dockor安装nginx提示missing signature key的问题

问题描述 使用dockor安装nginx拉取nginx的时候提示key丢失问题 问题定位 由于dockor版本低导致 问题解决 卸载重新安装最新版本dockor 解决步骤 1. 卸载旧版本的Docker&#xff1a; sudo yum remove docker docker-common docker-selinux docker-engine 2. 安装依赖包&am…

Ubuntu安装SVN服务并结合内网穿透实现公网访问本地存储文件

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&…

线性时间非比较类排序之桶排序

桶排序 桶排序也叫箱排序&#xff0c;1956年便开始使用&#xff0c;它可以算是计数排序的一个改进版本。 1. 算法思想 根据元素的特性将集合拆分为多个值域&#xff0c;我们称之为桶&#xff0c;将同一值域的元素存放在同一个桶内并进行桶内排序使其处于有序状态。如果每个桶…

华为 Huawei 交换机 黑洞MAC地址的作用和配置示例

黑洞mac作用&#xff1a;某交换机上配置某个PC的mac地址为黑洞mac&#xff0c;那么这台PC发出来的包都会被交换机丢弃&#xff0c;不会被转发到网络中。 组网需求&#xff1a; 如 图 2-13 所示&#xff0c;交换机 Switch 收到一个非法用户的访问&#xff0c;非法用户的 MAC 地址…

Docker容器监控-CIG

目录 一、CIG说明 1. CAdvisor 2. InfluxDB 3. Grafana 二、环境搭建 1. 创建目录 2. 编写 docker-compose.yml 3. 检查并运行容器 三、进行测试 1. 查看 influxdb 存储服务 是否能正常访问 2. 查看 cAdvisor 收集服务能否正常访问 3. 查看 grafana 展现服务&#…

Java毕业设计-基于springboot的网上书店管理系统-第75期

获取源码资料&#xff0c;请移步从戎源码网&#xff1a;从戎源码网_专业的计算机毕业设计网站 项目介绍 基于springboot的网上书店管理系统&#xff1a;前端thymeleaf、js、layui&#xff0c;后端 maven、springmvc、spring、mybatis&#xff0c;集成书籍管理、分类管理、订单…