0. 有向图无向图的时空复杂度

图的时空复杂度与其具体的表示形式有关,对于图的邻接表的表示形式,记 Adj[v] 为顶点 v 的出边构成的列表。为了考量其空间复杂度,首先需要记录全部的顶点,也即即使全部的顶点的出度均为0(顶点间相互孤立),仍然需要 O(V)O(V) 的时间复杂度。

  • 图是一种连接图,每条边在 list 中仅出现一次,
  • 图是无连通图,每条边在 list 中却出现两次;

也即以上两种情况下,全部 list 中的元素之和,不超过边数目的2倍,又由 2E ⇒ O(E),因此为了记录顶点以及记录边,空间复杂度为 O(V+E)O(V+E),当然也等于 O(max(V,E))O(\max(V,E)),不妨设 c=2c=2,则 O(max(V,E))=2max(V,E)≥V+EO(\max(V,E))=2\max(V,E)\geq V+E

1. T(n)=T(⌊n√⌋)+1T(n)=T(\lfloor\sqrt n\rfloor)+1

本质上是看将一个数开多少次平方根,其值才会接近于 1.

n12k=a,1<a<2⇒k=loglogn

n^{\frac1{2^k}}=a, \quad 1

显然,loglogn\log\log n 的时间复杂度要小于 logn\log n,因为 logn<n\log n,而 logx\log x 又是一个单调递减函数。

再来看一道稍微复杂点的情况,T(n)=n√T(n√)+nT(n)=\sqrt nT(\sqrt n)+n,等式两边同时除以 nn,则可化为:

T(n)n=T(n√)n√+1⇒f(n)=f(n√)+1

\frac{T(n)}{n}=\frac{T(\sqrt n)}{\sqrt n}+1 ⇒ f(n)=f(\sqrt n)+1

由上面的情况可知,f(n)⇒O(loglogn)f(n) ⇒ O(\log \log n),因此原始问题的时间复杂度为 O(nloglogn)O(n\log \log n)

数据结构的时间复杂度与空间复杂度、及相关证明相关推荐

  1. 【数据结构】---时间复杂度与空间复杂度

    时间复杂度与空间复杂度 引言 一.O渐进表示法(重点) 二.时间复杂度(必考点) 1.定义 2.常见的时间复杂度有 3.计算方法 4.最坏时间复杂度和平均时间复杂度 三.空间复杂度(重点) 1.定义 ...

  2. 数据结构之时间复杂度和空间复杂度

    数据结构入门 文章目录 数据结构入门 前言 一.时间复杂度 1.定义 2.大O的渐进表示法 3.例题 1)Func3 2)冒泡排序 3)二分查找 4)阶乘递归 5)斐波那契递归 二.空间复杂度 1.定 ...

  3. 【数据结构】时间复杂度和空间复杂度的计算

    目录 一.数据结构 1.什么是数据结构 2.什么是算法 3.数据结构和算法的重要性 4.如何学好数据结构和算法 二.算法效率 三.时间复杂度 1.时间复杂度的概念 2.时间复杂度的表示方法 3.算法复 ...

  4. 【数据结构】—时间复杂度or空间复杂度以及基础题目练习

    小菜坤日常上传gitee代码:https://gitee.com/qi-dunyan ❤❤❤ 个人简介:双一流非科班的一名小白,期待与各位大佬一起努力! 推荐网站:cplusplus.com 目录 前 ...

  5. 【数据结构】时间复杂度和空间复杂度

    文章目录 前言 1. 什么是数据结构 2. 什么是算法 正文 1. 算法效率 1.1 如何衡量一个算法的优劣 1.2 算法的复杂度 2. 时间复杂度 2.1 定义 2.2 计算 2.3 大O的渐进表示 ...

  6. 408考研数据结构复习-时间复杂度与空间复杂度-附统考真题

    文章目录 一.时间复杂度 二.空间复杂度 三.相关题目 一.时间复杂度 一个语句的频度是指该语句在算法中被重复执行的次数.算法中所有语句的频度之和记为T(n),它是该算法问题规模n的函数,时间复杂度主 ...

  7. 【数据结构】时间复杂度_空间复杂度

    作者:旧梦拾遗186 专栏:数据结构成长日记 每日励志: 如果有一天,你的努力配得上你的梦想,那么你的梦想也绝对不会辜负你的努力. 前言: 小编带大家来学习数据结构中的复杂度问题. 目录 1.算法效率 ...

  8. <数据结构>时间复杂度及空间复杂度

    目录 一.概念 1.1.算法效率 1.2.时间复杂度 1.3.空间复杂度 二.计算 2.1.大O的渐进表示法 2.2.时间复杂度计算 例题: 2.3.空间复杂度计算 例题 三.有复杂度要求的习题 一. ...

  9. 浅淡数据结构时间复杂度和空间复杂度

    文章目录 前言 1.时间复杂度和空间复杂度的相关介绍 1.为什么要引入时间复杂度和空间复杂度的概念 2.什么是时间复杂度和空间复杂度 2.具体示例分析 1.大O法只保留高阶项 2.一般情况关注的是算法 ...

最新文章

  1. 【强化学习】Actor-Critic
  2. 深藏不露,挖掘4种大脑网络中的管理工具
  3. java返回两个string_java – 为什么String.intern()方法返回两个不同的结果?
  4. P2278-[HNOI2003]操作系统【堆】
  5. multiprocess模块使用进程池调用apply_async()提交的函数及回调函数不执行问题
  6. 使用Keras框架进行单变量时间序列预测——以上证指数为例
  7. 笔刷怎么做_零基础怎么学板绘?板绘小白必备基础知识
  8. 中国电信天翼网关路由器后台登录useradmin用户忘记密码的解决方法默认密码管理员密码工作人员密码
  9. ESPDUINO上传数据到oneNet云平台
  10. Domain Adaptation 论文笔记
  11. js获取最近12个月
  12. win7计算机文件浏览不了,win7系统计算机文件打不开的解决方法
  13. ADI Blackfin DSP处理器-BF533的开发详解60:DSP控制ADXL345三轴加速度传感器-电子水平仪(含源码)
  14. 硬件设计【1】——光耦的基本原理及TLP521使用
  15. Linux驱动开发8 platform驱动分隔、分离与分层
  16. 【蓝桥杯】 最大比例
  17. 【软件】企业管理解决方案SAP
  18. 青龙面板之KS普通版、极速版(3/19更新)
  19. UG二次开发BOM功能GRIP系统初始设置
  20. layui表格中开启复选框后,怎么获取跨页勾选的全部数据,layui表格获取勾选的所有数据,获取跨页勾选数据的数量,如何预渲染让数据默认勾选上?

热门文章

  1. cocos2d-x移植android,Cocos2d-x Xcode 移植到 Android stutio
  2. python repusts模块_Python tslearn包_程序模块 - PyPI - Python中文网
  3. linux 修改jdk版本 /usr/src/jdk-11.0.11/bin/java: 无法执行二进制文件
  4. Sqoop导入数据--split by 和 --m(大于1)配合使用
  5. mysql 客房_mysql – 酒店客房预订系统的数据库设计
  6. jsx怎么往js里传参数_JSX语法使用详解——终极版
  7. c++ 编译添加dll_使用MinGW编译OpenCV4源码与配置使用演示
  8. 剑指offer面试题04. 二维数组中的查找(Array)
  9. OpenCV——高效遍历图像(C++版本)
  10. 序列化:protobuf原理