一篇文章带你整体了解算法中的基本问题《查找》

简介: 查找本章对算法中的基本问题--查找做了一个简要介绍,包含了一些基本算法思想以及评价,后续文章详细介绍一些算法,欢迎关注本系列。可以转载,但请声明源链接:文章源链接justin3go.com(有些latex公式某些平台不能渲染可查看这个网站)
published: true
date: 2022-1-22
tags: '算法与数据结构'


查找

本章对算法中的基本问题--查找做了一个简要介绍,包含了一些基本算法思想以及评价,后续文章详细介绍一些算法,欢迎关注本系列。

可以转载,但请声明源链接:文章源链接justin3go.com(有些latex公式某些平台不能渲染可查看这个网站)

基础查找方法


评价方法

  • 查找效率
  • 占用存储空间的多少
  • 算法本身复杂程度
  • 平均查找长度ASL

ASL = \sum_{i=1}^{n}p_ic_i\

\

p_i为查找表中第i个元素的概率,

\sum_{i=1}^{n}p_i = 1\

\

c_i为找到表中第i个元素所需比较次数。

顺序查找

从表的一端开始,逐一开始查找。

折半查找

ASL:log_2(n)

适合表结点比较稳定、很少做插入或删除操作的顺序表。

分块查找

插值查找

类似于二分查找,不过不是取中间位置,而是取数据的中值,也要求数据有序。

适用于查找表数据量较大、数据分布比较均匀。

斐波拉契查找

······

二叉排序树(BST)

关键:

按中序遍历该树得到的序列是递增有序的

二叉排序树的查:

性能分析

  • ASL与二叉树的形态有关
  • ASL = (n+1)/2[顺序表]~~~log_2(n)

二叉排序树的删除

  • p是叶子,直接删除。
  • p有一个孩子,将孩子与双亲相连,然后删除。
  • p有两个孩子,用中序遍历的前趋替代p。

平衡二叉树(AVL)及其调整

对给定序列建立BST,使左子树和右子树高度差的绝对值(平衡因子)不超过1。

插入或删除结点后,可能使树失去平衡,需调平:

哈希表



。。。

见散列表实现查找

目录
相关文章
|
2月前
|
存储 算法 网络协议
通过一篇文章让你了解数据结构和算法的重要性
数据结构和算法的重要性,不仅仅在于它们在计算机科学领域中的核心地位,更在于它们对于解决实际问题、优化系统性能、提升软件开发效率等方面的深远影响。在现代信息技术的浪潮中,数据结构和算法如同计算机的“灵魂”,指导着信息的有序存储和高效处理。
48 0
|
4月前
|
存储 搜索推荐 算法
一篇文章学会Java十大排序算法
一篇文章学会Java十大排序算法
28 0
|
7月前
|
机器学习/深度学习 算法 搜索推荐
“一篇文章带你拿下数据结构排序算法”
“一篇文章带你拿下数据结构排序算法”
25 0
|
9月前
|
算法 调度
(文章复现)基于灰狼算法(GWO)的交直流混合微网经济调度matlab代码
参考文献: [1]高瑜,黄森,陈刘鑫等.基于改进灰狼算法的并网交流微电网经济优化调度[J].科学技术与工程, 2020,20(28):11605-11611. [2]邓长征,冯朕,邱立等.基于混沌灰狼算法的交直流混合微网经济调度[J].电测与仪表, 2020, 57(04):99-107.
|
10月前
|
算法
(文章复现)《基于改进教与学算法的配电网无功优化》
在解决配电网无功优化问题中,智能启发式算法得到了广泛应用。采用了教与学优化算法求解含分布式电源的配电网无功优化问题。现将精英策略引入教与学算法,改进了该算法的搜索能力,提高了求解的稳定性。以有功网损最小为目标建立了无功优化模型,并基于改进的IEEE 33母线配电网系统进行仿真计算,结果验证了基于精英策略改进的教与学算法具有更强的收敛性和鲁棒性,能获得更好的优化结果。
|
12月前
|
算法 搜索推荐 Shell
一篇文章带你整体把控算法中的基本问题《排序
排序 本篇文章对算法中的基本问题--排序 的思想进行了描述,后续文章会对所有排序算法进行实现,欢迎关注本系列。 可以转载,但请声明源链接:文章源链接justin3go.com(有些latex公式某些平台不能渲染可查看这个网站)
51 0
|
12月前
|
存储 算法
一篇文章让你彻底理解数组及其扩展的数据结构,快速转置算法等,千字超详细总结!
数组 本章主要介绍数组基本概念及其扩展,二维数组的特殊矩阵:对称矩阵、三角矩阵、稀疏矩阵、十字链表等存储解耦;然后介绍并实现了稀疏矩阵的快速转置算法。 可以转载,但请声明源链接:文章源链接justin3go.com(有些latex公式某些平台不能渲染可查看这个网站)
90 0
|
存储 搜索推荐 算法
一篇文章学会Java十大排序算法
一篇文章学会Java十大排序算法
|
前端开发 算法
看了涡流大佬的面试文章的总结(手撕代码 & 算法)
看了涡流大佬的面试文章的总结(手撕代码&算法)
|
存储 算法 C++
用一篇文章来彻底搞懂KMP算法
用一篇文章来彻底搞懂KMP算法
111 0