码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【数据结构】查找


    查找

      • 查找的基本概念
      • 顺序查找法
        • 顺序查找(线性查找)
          • 对一般的无序线性表的顺序查找
          • 对按关键字有序的线性表的顺序查找
      • 分块查找法
      • 折半查找法
      • 树形查找
        • 二叉搜索树
        • 二叉平衡树
        • 红黑树
      • B树及其基本操作、B+树的基本概念
      • 散列(Hash)表
      • 查找算法的分析与应用

    查找的基本概念

    1. 查找:在数据集合中查找满足某种条件的数据元素的过程【成功/失败】
    2. 查找表(查找结构):用于查找的数据集合,由同一类型的数据元素(或者记录)组成的
    3. 操作(一般有四个):1⃣️查询某数据是否在表中2⃣️检索满足条件的某个特定元素的各种属性 3⃣️在查找表中插入一个数据元素4⃣️从查找表中删除某个数据元素
    4. 静态查找表:只涉及操作1和2
    5. 适合静态查找表的查找方法有:顺序查找、折半查找、散列查找等
    6. 适合动态查找表的查找方法:二叉排序树的查找、散列查找等
      二叉平衡树和B树都是二叉排序树的改进
    7. 关键字:数据元素中唯一标识该元素的某个数据项的值,使用基于关键字的查找,查找结果唯一。
    8. 平均查找长度(ASL):【一次查找长度是需要比较的关键字次数】而平均查找长度是所有查找过程中进行关键字比较次数的平均值
      在这里插入图片描述
      其中,n是查找表的长度,Pi是查找第i个数据元素的概率,一般认为每个数据元素的查找概率相等,即Pi=1/n,Ci是找到第i个数据元素所需进行的比较次数。
      ASL是衡量查找算法效率的最主要的指标

    顺序查找法

    顺序查找(线性查找)

    1. 适用范围:顺序表和链表都可以
      1.1 顺序表:通过数组下标递增来顺序扫描每个元素
      1.2 链表【只能进行顺序查找】:通过指针next来依次扫描每个元素
    2. 区分:对一般的无序线性表的顺序查找和对按关键字有序的线性表的顺序查找
    对一般的无序线性表的顺序查找
    对按关键字有序的线性表的顺序查找

    分块查找法

    折半查找法

    树形查找

    二叉搜索树

    二叉平衡树

    红黑树

    B树及其基本操作、B+树的基本概念

    散列(Hash)表

    查找算法的分析与应用

  • 相关阅读:
    电动汽车有序无序充放电的优化调度附matlab代码
    Tomcat搭建&JSP&Servlet
    excel数据分析模块
    java计算机毕业设计医院远程诊断系统源代码+系统+数据库+lw文档
    04-HotSpot 垃圾收集器
    java毕业设计第二课堂选课系统Mybatis+系统+数据库+调试部署
    C++ 用sort和unique实现数据的去重
    由于找不到msvcp120.dll 无法继续执行怎么解决(最新方法分享)
    HUAWEI Programming Contest 2024(AtCoder Beginner Contest 342)
    国内厨电行业数据分析
  • 原文地址:https://blog.csdn.net/yanlingyun0210/article/details/127796209
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号