07-7.1.1 查找的基本概念

👋 Hi, I'm @Beast Cheng

👀 I'm interested in photography, hiking, landscape...

🌱 I'm currently learning python, javascript, kotlin...

📫 How to reach me --> 458290771@qq.com


喜欢《数据结构》部分笔记的小伙伴可以订阅专栏,今后还会不断更新。🧑‍💻

感兴趣的小伙伴可以点一下订阅、收藏、关注!🚀

谢谢大家!🙏

基本概念

查找 ------ 在数据集合中寻找满足某种条件的数据元素的过程
查找表 (查找结构) ------ 用于查找的数据集合称为查找表,它由同一类型的数据元素(或记录)组成
关键字 ------ 数据元素中唯一标识该元素的某个数据项的值,使用基于关键字的查找,查找结果应该是唯一的

Eg:

查找表:微信用户数据集(图结构)

数据元素(记录):每个用户的信息

关键字:微信号(唯一)

对查找表的常见操作

  1. 查找符合条件的数据元素
  2. 插入、删除某个元素
    只需进行操作① ------ 静态查找表 ,仅关注查找速度即可
    也要进行操作② ------ 动态查找表,除了查找速度,也要关注插入、删除操作是否方便实现

查找算法的评价指标

查找长度 ------ 在查找运算中,需要对比关键字的次数

平均查找长度(ASL,Average Search Length)------ 所有查找过程中进行关键字的比较次数的平均值
A S L = ∑ i = 1 n P i C i ASL=\sum^n_{i=1}P_iC_i ASL=i=1∑nPiCi

n n n :数据元素个数
P i P_i Pi :查找第 i 个元素的概率
C i C_i Ci :查找第 i 个元素的查找长度

相关推荐
老鼠只爱大米4 分钟前
LeetCode经典算法面试题 #108:将有序数组转换为二叉搜索树(递归分治、迭代法等多种实现方案详解)
算法·leetcode·二叉树·二叉搜索树·平衡树·分治法
中屹指纹浏览器12 分钟前
中屹指纹浏览器底层架构深度解析——基于虚拟化的全维度指纹仿真与环境隔离实现
经验分享·笔记
Hello_Embed19 分钟前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus
独自破碎E33 分钟前
【前缀和+哈希】LCR_011_连续数组
算法·哈希算法
一条大祥脚40 分钟前
26.1.26 扫描线+数论|因子反演+子序列计数|树套树优化最短路
数据结构·算法
m0_5613596743 分钟前
基于C++的机器学习库开发
开发语言·c++·算法
星空露珠1 小时前
速算24点所有题库公式
开发语言·数据库·算法·游戏·lua
2401_832402751 小时前
C++中的类型擦除技术
开发语言·c++·算法
无聊的小坏坏1 小时前
实习笔记:用 /etc/crontab 实现定期数据/日志清理
笔记·实习日记
香芋Yu1 小时前
【机器学习教程】第04章 指数族分布
人工智能·笔记·机器学习