码农行者 码农行者
首页
  • Python

    • 语言特性
    • Django相关
    • Tornado
    • Celery
  • Golang

    • golang学习笔记
    • 对比python学习go
    • 模块学习
  • JavaScript

    • Javascript
  • 数据结构预算法笔记
  • ATS
  • Mongodb
  • Git
云原生
运维
垃圾佬的快乐
  • 数据库
  • 机器学习
  • 杂谈
  • 面试
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

DeanWu

软件工程师
首页
  • Python

    • 语言特性
    • Django相关
    • Tornado
    • Celery
  • Golang

    • golang学习笔记
    • 对比python学习go
    • 模块学习
  • JavaScript

    • Javascript
  • 数据结构预算法笔记
  • ATS
  • Mongodb
  • Git
云原生
运维
垃圾佬的快乐
  • 数据库
  • 机器学习
  • 杂谈
  • 面试
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 数据结构与算法 - 算法 - 排序优化

    • 快速排序的优化
    • 计算机基础
    • 数据结构与算法笔记
    DeanWu
    2020-01-01
    目录

    数据结构与算法 - 算法 - 排序优化

    《数据结构与算法-王争》学习笔记,记录备查

    各排序算法情况:

    # 快速排序的优化

    快速排序,时间复杂度在 O(nlogn) 和 O(n^2)之间。在极坏的情况的,时间复杂度会退化为O(n^2)。这种 O(n2) 时间复杂度出现的主要原因还是因为我们分区点选的不够合理。

    最理想的分区点是:被分区点分开的两个分区中,数据的数量差不多。

    两种选择分区点的方法:

    • 三数取中法 取首、尾、中间,分别取出一个数,然后对比大小,取这3个数的中间值作为分区点。如果排序的数组比较大,则可以采用“五数取中” “十数取中”。

    • 随机法 随机法就是每次从要排序的区间中,随机选择一个元素作为分区点。

    #数据结构与算法#排序
    上次更新: 2023/03/19, 15:09:33
    最近更新
    01
    chromebox/chromebook 刷bios步骤
    03-01
    02
    redis 集群介绍
    11-28
    03
    go语法题二
    10-09
    更多文章>
    Theme by Vdoing | Copyright © 2015-2024 DeanWu | 遵循CC 4.0 BY-SA版权协议
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式