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 个元素的查找长度

相关推荐
灵感__idea3 小时前
Hello 算法:贪心的世界
前端·javascript·算法
澈2075 小时前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
ambition202425 小时前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
cmpxr_5 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
qiqsevenqiqiqiqi5 小时前
前缀和差分
算法·图论
代码旅人ing5 小时前
链表算法刷题指南
数据结构·算法·链表
Yungoal5 小时前
常见 时间复杂度计算
c++·算法
守护安静星空6 小时前
esp32开发笔记-工程搭建
笔记·单片机·嵌入式硬件·物联网·visual studio code
ljt27249606616 小时前
Compose笔记(七十七)--视频录制
笔记·android jetpack
不爱吃炸鸡柳6 小时前
单链表专题(完整代码版)
数据结构·算法·链表