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

排序算法与查找算法

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.lryc.cn/news/532249.html

相关文章:

  • Github 2025-01-31Java开源项目日报 Top10
  • Java进阶笔记(中级)
  • 2025游戏行业的趋势预测
  • 4-ET框架demo的运行
  • kamailio源文件modules.lst的内容解释
  • 亚远景-从SPICE到ASPICE:汽车软件开发的标准化演进
  • vue3 + ElementPlus 封装列表表格组件包含分页
  • 挑战项目 --- 微服务编程测评系统(在线OJ系统)
  • Med-R2:基于循证医学的检索推理框架:提升大语言模型医疗问答能力的新方法
  • Oh3.2项目升级到Oh5.0(鸿蒙Next)具体踩坑记录(一)
  • 【自动化办公】批量图片PDF自定义指定多个区域识别重命名,批量识别铁路货物运单区域内容改名,基于WPF和飞桨ocr深度学习模型的解决方案
  • Spring Boot篇
  • Unity3D学习笔记(二)
  • 个人毕业设计--基于HarmonyOS的旅行助手APP的设计与实现(挖坑)
  • 游戏引擎 Unity - Unity 打开项目、Unity Editor 添加简体中文语言包模块、Unity 项目设置为简体中文
  • python开发:爬虫示例——GET和POST请求处理
  • 开源数据分析工具 RapidMiner
  • Vue canvas画图画线例子,数据回显与隔离,点拖拽修改
  • Python实现CAN FD 通信(基于PCAN开发CAN FD测试工具)
  • LeetCode--347. 前 K 个高频元素/Golang中的堆(container/heap)
  • 关于大数据
  • 9-收纳的知识
  • 堆的实现——堆的应用(堆排序)
  • 机器学习6-全连接神经网络2
  • 基于 SpringBoot 的电影购票系统
  • C++SLT(三)——list
  • C++ Primer 算术运算符
  • 数据结构-堆和PriorityQueue
  • 【玩转 Postman 接口测试与开发2_017】第13章:在 Postman 中实现契约测试(Contract Testing)与 API 接口验证(下)
  • R语言 | 使用 ComplexHeatmap 绘制热图,分区并给对角线分区加黑边框