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

高级算法设计与分析 学习笔记10 平摊分析

动态表,可以变长。

一溢出就另起一个两倍大小的表。

可以轻易证明把n个数字放进去的时间复杂度是O(n),n + n/2 + n/4……也就2n,插入数字本身也就是n,加起来最多不超过3n.

这种复杂度究竟是怎么算的?毕竟每次插入复杂度不一样,怎么算平均呢?

当然,计算平摊不只有这种方法:

银行法:

势能法:

把存款当成当前集合的势能。

首尾相连很多都被抵掉了。

使用势能法分析之前的动态表,怎么说?:

势能和存款就是一个意思。

问题:这些什么存款,势能的,一次多少究竟是怎么算出来的?

答曰:先用最开始的方法算出来总体的复杂度,然后凑。

http://www.lryc.cn/news/449577.html

相关文章:

  • 从“纸面算力”到“好用算力”,超聚变打通AI+“最后一公里”
  • 【有啥问啥】具身智能(Embodied AI):人工智能的新前沿
  • 11-pg内核之锁管理器(六)死锁检测
  • Git 与标签管理
  • 【0334】Postgres内核之 auxiliary process(辅助进程)初始化 MyPgXact
  • 20.1 分析pull模型在k8s中的应用,对比push模型
  • Ubuntu 镜像替换为阿里云镜像:简化你的下载体验
  • The Sandbox 游戏制作教程第 6 章|如何使用装备制作出色的游戏 —— 避免环境危险
  • JavaScript中的输出方式
  • 力扣9.25
  • 从零开始之AI面试小程序
  • Html2OpenXml:HTML转化为OpenXml的.Net库,轻松实现Html转为Word。
  • HumanNeRF:Free-viewpoint Rendering of Moving People from Monocular Video 精读
  • Springboot中基于注解实现公共字段自动填充
  • Android 已经过时的方法用什么新方法替代?
  • 【RocketMQ】MQ与RocketMQ介绍
  • 【笔记】自动驾驶预测与决策规划_Part4_时空联合规划
  • Linux指令收集
  • 《C++并发编程实战》笔记(五)
  • 在Python中实现多目标优化问题(5)
  • 【Linux:共享内存】
  • 今年Java回暖了吗
  • a = Sw,其中a和w是向量,S是矩阵,求w等于什么?w可以写成关于a和S的什么样子的公式
  • 多线程事务管理:Spring Boot 实现全局事务回滚
  • Vue3 中集成海康 H5 监控视频播放功能
  • Linux: eBPF: libbpf-bootstrap-master 编译
  • 1.1.4 计算机网络的分类
  • 周家庄智慧旅游小程序
  • 【在Linux世界中追寻伟大的One Piece】命名管道
  • 如意控物联网项目-ML307R模组软件及硬件调试环境搭建