当前位置: 首页 > news >正文

Day2 25/2/15 SAT

【一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解(马士兵)】https://www.bilibili.com/video/BV13g41157hK?p=4&vd_source=04ee94ad3f2168d7d5252c857a2bf358

目录

2、认识O(NlogN)的排序

2.1 master公式

2.1.1 公式适用情况

举例1【符合mast公式】

举例2:【符合mast公式】

举例3:【不符合mast公式】

2.1.2 计算时间复杂度


笔记:

2、认识O(NlogN)的排序

2.1 master公式

T(N) = a*T(N/b) + O(N^d)

N是母问题的规模。

N/b是指每个子问题的规模都是等量的。

a是子问题的调用次数。

O(N^d)是剩下的过程的时间复杂度。

2.1.1 公式适用情况

只适用于所有子问题的数据规模都相同的情况。

举例1【符合mast公式】

数据量为N时,二分查找有序数组的最大值,求它的时间复杂度。

得到:T(N)=2*T(N/2) + O(1),符合master公式

举例2:【符合mast公式】

数据量为N时,将数据分为3等份并各自二分查找最大值,比较后返回最大值,求它的时间复杂度。

得到:T(N) = 3*T( N/3 ) +O(1),符合master公式

举例3:【不符合mast公式】

数据量为N时,将数据分为1/3和2/3,分别二分查找求最大值,求它的时间复杂度。

得到:T(N) = T(N/3) + T(2N/3) + O(1),不符合master公式,原因是子问题的数据规模不同,一个规模为N/3,另一个为2N/3。

2.1.2 计算时间复杂度

若log(b,a) > d,复杂度为O( N^log(b,a) )

若log(b,a) = d,复杂度为O( N^d * logN )

若log(b,a) < d,复杂度为O( N^d )

http://www.dtcms.com/a/20070.html

相关文章:

  • electron打包基本教程
  • Flutter中 List列表中移除特定元素
  • QEMU 搭建arm linux开发环境
  • 纪念日倒数日项目的实现-【纪念时刻-时光集】
  • Debezium系列之:时区转换器,时间戳字段转换到指定时区
  • SpringCloud Alibaba
  • tensorflow环境中已安装库
  • 【Java集合二】HashMap 详解
  • 【NLP 24、模型训练方式】
  • Leetcode 算法题 88. 合并两个有序数组
  • 【含文档+源码】基于Web的在线课堂测试课程考评系统的开发与实现
  • GPQA (Graduate-Level Google-Proof QA Benchmark) 数据集
  • 图像处理篇---基本OpenMV图像处理
  • HackerRank C++面试,中等难度题目 - Attribute Parser
  • Bandana论文阅读
  • 复杂电磁环境下无人机自主导航增强技术研究报告——地磁匹配与多源数据融合方法,附matlab代码
  • 基于多元高斯分布的异常检测技术原理与实现
  • lean4安装
  • 论文阅读2——S波段宽波束圆极化天线设计
  • 【ISO 14229-1:2023 UDS诊断(会话控制0x10服务)测试用例CAPL代码全解析⑤】
  • 初阶数据结构:树---二叉树的链式结构
  • LeetCode1706
  • 使用 React 16+Webpack 和 pdfjs-dist 或 react-pdf 实现 PDF 文件显示、定位和高亮
  • [Java网络安全系列面试题] GET 和 POST 的区别在哪里?
  • 1441. 用栈操作构建数组 中等
  • 《当DeepSeek遇上豆包:AI大模型的华山论剑》
  • 我用 Cursor 开发了一款个人小记系统
  • B站视频同步思维导图(全)
  • 利用AI智能体创建云端文档知识库并集成第三方数据源(下)
  • 开发指南101-拖动排序