排序算法与查找算法

news/2025/2/7 12:36:32/

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.ppmy.cn/news/1570066.html

相关文章

DeepSeek 遭 DDoS 攻击背后:DDoS 攻击的 “千层套路” 与安全防御 “金钟罩”

当算力博弈升级为网络战争&#xff1a;拆解DDoS攻击背后的技术攻防战——从DeepSeek遇袭看全球网络安全新趋势 在数字化浪潮席卷全球的当下&#xff0c;网络已然成为人类社会运转的关键基础设施&#xff0c;深刻融入经济、生活、政务等各个领域。从金融交易的实时清算&#xf…

Lerna和Yarn Workspaces的优缺点分别是什么?

Lerna 和 Yarn Workspaces 的优缺点比较 在现代 JavaScript 开发中,管理多包结构变得越来越重要。Lerna 和 Yarn Workspaces 是两种流行的工具,帮助开发者有效地管理和组织项目中的多个包。虽然它们的目标相似,但在功能和使用体验上却各有千秋。本文将深入探讨这两者的优缺…

【starrocks学习】之将hive表数据同步到starrocks

目录 一、确认环境 二、创建StarRocks表 三、导出Hive表数据 四、将数据导入StarRocks 1.使用Broker Load 2.使用Stream Load 五、验证数据 六、注意事项 一、确认环境 确保Hive和StarRocks都已正确安装并运行。 二、创建StarRocks表 在StarRocks中创建与Hive表结构一…

二级C语言题解:十进制转其他进制、非素数求和、重复数统计

目录 一、程序填空&#x1f4dd; --- 十进制转其他进制 题目&#x1f4c3; 分析&#x1f9d0; 二、程序修改&#x1f6e0;️ --- 非素数求和 题目&#x1f4c3; 分析&#x1f9d0; 三、程序设计&#x1f4bb; --- 重复数统计 题目&#x1f4c3; 分析&#x1f9d0; 前言…

ip属地是根据所在位置定位的吗

在数字化时代&#xff0c;随着网络社交和电子商务的蓬勃发展&#xff0c;IP属地这一概念逐渐走入了大众的视野。许多平台开始显示用户的IP属地&#xff0c;这一举措旨在增强网络信息的透明度和真实性。然而&#xff0c;关于IP属地是否就是根据用户所在位置进行定位的问题&#…

day33-数据同步rsync

一、Rsync本地模式和远程模式 纯通过rsync的命令&#xff0c;来实现&#xff0c;数据目录A 拷贝到数据目录B 也就是模拟cp的用法 很简单 1.安装 yum install rsync -y 2.命令语法&#xff0c;分几个模式 - 本地模式 rsync 参数 源路径 目标路径 rsync -xxxxx /var…

Med-R2:基于循证医学的检索推理框架:提升大语言模型医疗问答能力的新方法

Med-R2 : Crafting Trustworthy LLM Physicians through Retrieval and Reasoning of Evidence-Based Medicine Med-R2框架Why - 这个研究要解决什么现实问题What - 核心发现或论点是什么How - 1. 前人研究的局限性How - 2. 你的创新方法/视角How - 3. 关键数据支持How - 4. 可…

游戏引擎学习第87天

当直接使用内存时&#xff0c;可能会发生一些奇怪的事情 在直接操作内存时&#xff0c;一些意外的情况可能会发生。由于内存实际上只是一个大块的空间&#xff0c;开发者可以完全控制它&#xff0c;而不像高级语言那样必须遵守许多规则&#xff0c;因此很容易发生错误。在一个…