代码:

i=1;       ①
while (i<=n)i=i*2; ②

上面是别人的代码,这里举一个例子

由于 i 作为判断条件,并且执行语句也有 i 所以大家可以举一个例子理解一下,执行一次i=2(2^ 1),执行两次i=4(2^ 2),执行3次,i=8(2^3),…;假设执行了m次,注意并不是执行n次,我之前老是认为执行n次,大错特错了。所以得到一个公式 2 ^ m<=n, 同时取对数,ln(2 ^ m)<=ln(n),那么就需要将底为e转换到标准的底为10 的对数下面,得到m<=log2n (注意此对数log是以10为底的对数),
以上就是个人理解了~~,有更好的想法欢迎指点小弟~~

关于O(log2n)的个人理解相关推荐

  1. 左神讲算法——二分法及其拓展

    目录 1. 经典二分例题 2. 拓展例题一:寻找大于等于某数最左侧位置 3. 拓展例题二:局部最小值问题 参考链接:2021最新左神数据结构算法全家桶 1. 经典二分例题 题目一:在一个有序数组中,找 ...

  2. 折分查找法递归和非递归方式

    数据结构期末复习发现忘记了半借鉴写的,比较水有错请务必指正~ 废话少说进正题,折半查找也叫二分法使用的前提是待查找数据排列必须有序,最大时间复杂度为O([log2n]+1) 算法理解 1) 待查找数据 ...

  3. COSMIC的后端学习之路——1.3 海量数据去重的Hash与BloomFilter(布隆过滤器),bitmap(位图)

    1.3 海量数据去重的Hash与BloomFilter,bitmap 知识树 1.海量数据查找的应用场景 2.平衡二叉树 3.哪些算法涉及二分查找 4.散列表 (1)hash冲突 (2)负载因子 (3 ...

  4. hash,bloomfilter,分布式一致性hash

    场景 使用word 文档时,判断某个单词是否拼写正确 垃圾邮件过滤算法 Redis缓存穿透 bitcoin core中交易校验 需求 从海量数据中查询某个字符串是否存在? 平衡二叉搜索树 增删改查时间 ...

  5. 理解O(log2N)和O(Nlog2N)

    O(lgn)的解释是: 将一个数据集分成两半,然后将分开的每一半再分成两半,依此类推 O(nlgn)的解释是: 将一个数据集分成两半,然后将分开的每一半再分成两半,依此类推,在此过程中同时遍历每一半数 ...

  6. 算法时间复杂度lg是多少_时间复杂度入门理解

    前言 当你编写完一个程序的时候,怎样对它进行算法最优的判断呢?效率又是怎样体现的呢?效率=总执行次数/总时间,一般来说,程序越庞大,其执行效率越低.因此,对于模块化程序,优化其算法的时间复杂度是非常重 ...

  7. 【堆内存】动态图+代码五分钟轻松理解学会

    2019独角兽企业重金招聘Python工程师标准>>> 前言背景 堆(heap)又被为优先队列(priority queue).尽管名为优先队列,但堆并不是队列. 因为队列中允许的操 ...

  8. 程序员的进阶课-架构师之路(11)-最容易理解的红黑树

    一.红黑树的定义 [百度百科]红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组. 它是在1972年由Rudolf Bayer ...

  9. kdtree java_KdTree理解与实现(Java)

    KdTree理解与实现(Java) 抛出问题 KdTree简介 原理简介 代码实现 Point.java Rect.java KdTree.java 复杂度比较 结语 抛出问题 如果让你设计一个外卖系 ...

最新文章

  1. asp.net2.0学习历程 菜鸟到中级程序员的飞跃
  2. 2022年3月14日蓝桥杯基础算法能力测试
  3. Java对象的创建过程:类的初始化与实例化
  4. python自增_python mysql自增字段AUTO_INCREMENT值的修改方式
  5. 沃顿商学院最受欢迎的思维课
  6. Caused by: java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
  7. wps多人协作后怎么保存_白酒开瓶后怎么保存?
  8. MATLAB图像处理之图像的像素矩阵
  9. 个人博客网站html源码_最新0成本简单使用CODING Pages搭建Gridea个人博客网站详细教程...
  10. Linux环境下查看CPU资源的命令
  11. Atitit 眼科医学之道 attilax总结
  12. java jquery分页_如何最简单的实现java分页
  13. C语言2019软件,c语言模拟编程学习软件v2019 最新版
  14. 360加固签名验证_360加固需要签名和密码
  15. js获取手机屏幕宽度
  16. JS跨域请求解决方案
  17. 对许多张图片进行批量裁剪,看看我是如何快速做到的
  18. windows10专业版安装应用商店方法
  19. C语言中函数的重点知识总结
  20. EDG夺冠引全网欢呼,电竞时代要来了吗?

热门文章

  1. Reference Counted Smart Pointers
  2. SpringBoot项目启动失败: is not eligible for getting processed by all BeanPostProcessors (for example: not)
  3. 【相册】华为手机调用系统相册的问题
  4. 【笔记】C#学习笔记
  5. ui sketch_如何在Sketch中设计汽车应用程序设计UI
  6. 网址大全(hao123和2345)
  7. 标准C++之运算符重载和虚表指针
  8. Python机器学习-搭建神经网络以及数据集引入和断点续存
  9. 史上最全!国内外最新免费3D模型下载网站分享!
  10. 浅谈四轴PID调试心得