算法的时间复杂度无非就是for、while等包含起来的基本运算单元的循环次数

1、二分查找

二分查找(binary search),也称作折半查找(half-interval search),每次划分一半进行下一步搜索,所以时间复杂度无非就是while循环的次数!

//二分查找 Java 实现
public static int binarySearch(Integer[] srcArray, int des) {int low = 0;int high = srcArray.length - 1;while ((low <= high) && (low <= srcArray.length - 1)&& (high <= srcArray.length - 1)) {int middle = (high + low) >> 1;if (des == srcArray[middle]) {return middle;} else if (des < srcArray[middle]) {high = middle - 1;} else {low = middle + 1;}}return -1;
}

2、时间复杂度

比如:总共有n个元素,每次查找的区间大小就是n,n/2,n/4,…,n/2^k(接下来操作元素的剩余个数),其中k就是循环的次数。
由于n/2^k取整后>=1,即令n/2^k=1,
可得k=log2n,(是以2为底,n的对数),所以时间复杂度可以表示O()=O(logn)

“二分查找”算法的时间复杂度相关推荐

  1. python二分查找时间复杂度_二分查找算法的时间复杂度计算(logN)

    二分查找算法的时间复杂度计算(logN) 马富天 2019-08-10 20:25:24 54 [摘要]二分查找算法是对顺序查找算法的优化,二分查找算法的前提是数列是一个有序数列,递增或者递减,本文就 ...

  2. 二分查找算法及其变种

    前言 二分查找算法也称为折半查找算法,是一种在查找算法中普遍使用的算法.其算法的基本思想是:在有序表中,取中间的记录作为比较关键字,若给定值与中间记录的关键字相等,则查找成功:若给定的值小于中间记录的 ...

  3. list 查找_五千字长文带你学习 二分查找算法

    点击上方"与你一起学算法",选择"星标"公众号 重磅干货,第一时间送达 二分查找的思想 提及二分查找算法,我想大部分人都不陌生,就算不是学计算机的,基本上也都使 ...

  4. 二分查找算法详解(经典二分和左右边界查找)

    目录 二分查找算法 1. 二分查找算法框架 2. 经典二分查找算法 问题1. 为什么while循环中使用<=号而不是用<号,右边区间right为什么要对数组大小减一? 问题2. 为什么 l ...

  5. python 二分查找算法实现

    给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1 二分查找算法的时间复杂度是O( ...

  6. php二分查找算法时间复杂度,一个运用二分查找算法的程序的时间复杂度是什么...

    一个运用二分查找算法的程序的时间复杂度是"对数级别".二分查找是一种效率较高的查找方法,算法复杂度即是while循环的次数,时间复杂度可以表示"O(h)=O(log2n) ...

  7. 顺序查找与二分查找算法

    顺序查找算法 顺序查找是非常简单常用的查找算法,基本思路:从第一个元素m开始逐个与需要查找的元素x进行比较,当比较到元素值相同(即m=x)时返回元素m的下标,如果比较到最后都没有找到,则返回-1.该算 ...

  8. 二分查找算法+代码(通俗易懂简洁扼要)

    知乎原文出处二分查找算法+代码(通俗易懂简洁扼要) - 知乎 欢迎关注我的知乎账号:进击的steve - 知乎 二分查找是一个可以把单值查找时间复杂度从O(n)降到O(logn)的算法. 二分查找的前 ...

  9. 二分查找算法详细汇总

    二分查找算法详细汇总 文章目录 二分查找算法详细汇总 二分查找算法介绍模板 算法思想 举例说明 模板实现 (1)递归方式实现 (2)非递归方式实现 二分查找问题相关难点问题1[前缀和 + 二分查找 + ...

最新文章

  1. 开发工具之pycharm 快捷键说明
  2. ubuntu 20上安装gdbgui
  3. leetcode669. 修剪二叉搜索树
  4. flex java 上传下载_完整的Flex多文件上传实例
  5. A加载B,B发生的变化
  6. [Bzoj3252]攻略(dfs序+线段树)
  7. Lasergene DNASTAR 8.1.3 特别版 Mac 专业的医学生物综合性序列分析工具
  8. 数理统计复习笔记六——Pearson卡方拟合优度检验
  9. GPRS通信原理+中国移动micro sim 卡,实现经过tcp/ip 传输数据到服务器
  10. 大数据智能推荐系统原理介绍
  11. “TikTok+独立站”模式熟了?看Anker如何玩转社交私域流量导流独立站?
  12. 鸿蒙IPC摄像机,【HiSpark IPC DIY Camera试用连载 】第二篇 视频的人脸检测
  13. SMS注册与接收短信
  14. 正向代理与反向代理通俗版解释
  15. Raspberry Pi 3b+制作24小时热点
  16. ES esrally 部署
  17. Jquery项目中使用vue.js和element-ui
  18. 树莓派raspberry搭建打印cups服务器连接EPSON_L360打印机供ios安卓使用
  19. linux 退出终端仍运行进程 日志输出,后台执行任务,不在终端打印信息
  20. 【Flink系列】窗口系列简介

热门文章

  1. 算法001:合并两个有序的数组
  2. The Theory of Physically Based Rendering and Shading
  3. 网付:智慧数字经营代理怎么样?能不能做?
  4. Java生成doc文档二(做一个简单的封面)
  5. 表格边框重叠颜色变深
  6. CPA2021_会计_东奥张志凤_02_会计概述、财务报告目标、会计基本假设和会计基础
  7. Shell 实现企业微信通知
  8. 数据库(第一章习题和答案)
  9. 有关access的上机试题_ACCESS上机试题及答案8
  10. AugGAN:基于GAN的图像数据增强