最优情况(每次都能刚好二分):

确认第1个数要遍历n个数

确认第2个数需要遍历n/2个数,第3个数需要遍历n/2个数

确认第4、5、6、7个数各需要遍历n/4个数

将分段缩小到1,则需要分x次,即1=n/(2^x),x=log2n,即一共有log2n层

每一层都近似得看作遍历n个数,则总遍历个数为n*log2n

即最优情况时间复杂度为O(nlogn)

最差情况(每次都以最小或最大数为界点值,没能将数组二分):

确认第1个数要遍历n个数

确认第2个数要遍历n-1个数

以此类推

等差求和得遍历个数为n*(1+n)/2,时间复杂度为O(n^2)

这里也能看出为什么分段能提高效率:分段后,确认一个数所需遍历的区间一直被指数级缩小;而不分段区间每次只缩小1。

欢迎指正

快速排序时间复杂度分析推导相关推荐

  1. 归并排序 快速排序 时间复杂度分析 (基本递归时间复杂度分析)

    归并排序 归并排序:利用分治的思想,先排左边一半,再排右边一半,最后再将两边有序的合并起来. 时间复杂度: 用T(n)T(n)T(n)表示排大小为nnn的数组的时间:T(n)=2T(n/2)+nT(1 ...

  2. 快速排序 C++代码实现及其算法思想及时间复杂度分析及优化 恋上数据结构笔记

    文章目录 复习梗概 算法思想 算法复杂度分析及稳定性 如何优化? 快速排序改进版代码C++ 快速排序个人青春版代码 完整代码 复习梗概 算法思想,别的排序名字直接就能让人联想到它的算法思想,唯独快速排 ...

  3. 快速排序的时间复杂度分析

    快速排序的时间复杂度分析 先说结论: 最坏情况:O(N2)O(N^{2})O(N2) 最好情况和平均情况:O(NlogN)O(NlogN)O(NlogN) 下面开始分析. 假设一个序列共有 N 个元素 ...

  4. 快速排序归并排序—时间复杂度分析

    引言: 大家好,我是小星星,今天要梳理的知识点是--快速排序和归并排序时间复杂度分析. 目录 一.快排时间复杂度分析 二.归并排序时间复杂度分析 三.写在最后 一.快排时间复杂度分析 快速排序的时间复 ...

  5. 关于快速排序和归并排序的时间复杂度分析

    目录 一.快排时间复杂度分析 二.归并排序时间复杂度分析 三.写在最后 一.快排时间复杂度分析 快速排序的时间复杂度在O(nlogn)~ O(n^2)之间,下面我分别分析这两种情况: (一)快速排序的 ...

  6. 算法时间复杂度分析基础

    摘要       本文论述了在算法分析领域一个重要问题--时间复杂度分析的基础内容.本文将首先明确时间复杂度的意义,而后以形式化方式论述其在数学上的定义及相关推导.从而帮助大家从本质上认清这个概念. ...

  7. python数据结构和算法 时间复杂度分析 乱序单词检测 线性数据结构 栈stack 字符匹配 表达式求值 queue队列 链表 递归 动态规划 排序和搜索 树 图

    python数据结构和算法 参考 本文github 计算机科学是解决问题的研究.计算机科学使用抽象作为表示过程和数据的工具.抽象的数据类型允许程序员通过隐藏数据的细节来管理问题领域的复杂性.Pytho ...

  8. 递归算法时间复杂度分析

                                 递归算法时间复杂度分析 时间复杂度: 一般情况下,算法中基本操作重复的次数就是问题规模n的某个函数f(n),进而分析f(n)随n的变化情况并确 ...

  9. 时间复杂度分析-大O表示法

    开篇词 | 从今天起,跨过"数据结构与算法"这道坎 你好,我是王争,毕业于西安交通大学计算机专业.现在回想起来,本科毕业的时候,我的编程水平其实是很差的.直到读研究生的时候,一个师 ...

  10. 数据结构与算法之美--1.时间复杂度分析

    时间复杂度分析 为什么要进行时间复杂度的分析 大O复杂度表示法 如何分析一段代码的时间复杂度? 几种常见时间复杂度实例分析. 空间复杂度 最好.最坏时间复杂度 平均时间复杂度 均摊时间复杂度 为什么要 ...

最新文章

  1. Linux更换python版本 (转载)
  2. X86汇编——输出三角形星星
  3. php psr2规范,php标准规范详解
  4. 支持delete吗_Spark Delta Lake 0.4.0 发布,支持 Python API 和部分 SQL
  5. 自定义圆形控件 RoundImageView
  6. 安装OpenCL和AMD驱动程序
  7. python 自动登录网站_分析某网站,并利用python自动登陆该网站,下载网站内容...
  8. python+tkinter使用canvas不显示图片的问题
  9. 分布式事务之基础理论(CAP/BASE理论)篇
  10. 【渗透测试常见漏洞概述及修复方法】
  11. 计算机视觉:步态识别-综述(一)
  12. 美团 O2O 供应链系统架构设计解析
  13. 软件破解逆向安全(十二)内存特征码
  14. 陈强教授 计量经济学及机器学习等数据集、程序等相关资源
  15. 全面复盘Android开发者容易忽视的Backup功能
  16. 【Flutter小记3】Android打开前置或广角摄像头的同时打开闪光灯方案
  17. Vue 2.0的建议学习顺序(尤雨溪)
  18. 总结:Spring boot熔断
  19. Altium Designer导入Allegro17.4 PCB文件
  20. c语言将两幅bmp格式图片拼接图片

热门文章

  1. 泛微OA-SQL注入漏洞
  2. Window驱动开发
  3. 格式工厂 wav 比特率_智能音乐格式转换
  4. 编写内核驱动加载工具
  5. TTF字体文件内容获取
  6. Markdown公式编辑总结
  7. js文本框设置必填项_input必填_js 检验必填项的代码
  8. 查询聊天好友IP地址(自用)
  9. 【Proteus仿真】矩阵键盘中断扫描
  10. 什么是数据结构?对数据结构的理解