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

排序算法与查找算法

1.十大经典排序算法

我们希望数据以一种有序的形式组织起来,无序的数据我们要尽量将其变得有序

一般说来有10种比较经典的排序算法

简单记忆为Miss D----D小姐

时间复杂度 :红色<绿色<蓝色

空间复杂度:圆越大越占空间

稳定性:虚线不稳(4种)

性能分析

 2.常见的查找算法

1.顺序查找

  • 时间复杂度O(n)

2.二分查找

  • 时间复杂度O(logN)
  • 要求:1)有序;2)支持下标的随机访问

3.二叉搜索树(BS树)

  • 时间复杂度O(logN)
  • 若接近有序的数据插入到BS中,会导致退化成单支树,时间复杂度退化为O(N)

4.平衡搜索树(AVL树和RB树)

  • 时间复杂度O(logN)
  • 在BS的基础上,通过一些规则加以限制,通过旋转来限制高度,维持logN的时间复杂度

5.哈希查找

  • 时间复杂度O(1)
  • 底层是散列表,要注意解决哈希冲突。
  • 综合效率优于平衡搜索树

6.多路平衡搜索树(B树和B*树)

  • 解决大数据量问题,如磁盘定位
  • B树的改进版本B+树、B*树,有些地方的B树写的是B-树,不要误读成“B减树”


http://www.kler.cn/a/532179.html

相关文章:

  • 【单细胞-第三节 多样本数据分析】
  • OPENGLPG第九版学习 - 着色器基础
  • gdb 调试多进程中多线程的方法
  • FLTK - FLTK1.4.1 - demo - bitmap
  • 【C语言入门】解锁核心关键字的终极奥秘与实战应用(二)
  • 21款炫酷烟花代码
  • Blender的材质节点中 透射(Transmission) 和 Alpha的区别
  • Leetcode 3439. Reschedule Meetings for Maximum Free Time I
  • 深度学习 Pytorch 建模可视化工具TensorBoard的安装与使用
  • 关于图像锐化的一份介绍
  • Spring 实现注入的方式
  • 深入解析FastParquet库:高效处理Parquet文件的Python利器
  • 【华为OD-E卷 - 任务最优调度 100分(python、java、c++、js、c)】
  • 【STM32系列】在串口上绘制正弦波
  • 目前市场主流的AI PC对于大模型本地部署的支持情况分析-Deepseek
  • 线程的概念
  • Linux远程登陆
  • PAT甲级1032、sharing
  • 华水967数据结构2024真题(回忆版)
  • chatGPT写的网页版贪吃蛇小游戏
  • 【Linux】线程池封装与介绍
  • 【Java】位图 布隆过滤器
  • 牛客周赛 Round 79
  • Fortunately 和 luckily区别
  • UE GameMode
  • Java 数据库连接池:HikariCP 与 Druid 的对比