• 第七章--查找算法--学习小结


    在第七章我们学习了查找算法:

    查找主要包括三种结构:①线性表 ②树表 ③哈希表

    一、线性表:

      顺序查找 折半查找 分块查找
    查找时间复杂度 O(n) O(log2n) ASL = L查块 + L块内查找
    特点 毫无特点 效率高一点点咯 甚至不如折半查找
    通用情况 任何结构都行 有序的顺序表 块间有序、块内无序的顺序表

    二、树表:

      1.二叉排序树:平衡二叉树最好

      2.B-树:是一种外存文件系统中常用的动态索引技术;

      3.B+树:更适合做文件索引系统。严格来讲,它不属于第五章定义的树(其实我觉得有点像块内有序的分块查找)

    三、哈希表(散列表):

      1.术语介绍:

        1)散列函数和散列地址:p = H(key) 对应关系(H);p(散列地址);关键字(key)

        2)冲突和同义词:冲突现象;同义词是对于关键字而言的

      2.散列函数的构造方法:

        1)数字分析法的适用情况:明确知道所有关键字的每一位上各种数字的分布情况。

        2)平方取中法:不能事先了解所有关键字的情况,或难于直接从关键字中找到取值较分散的几位。

        3)折叠法:分为移位叠加和边界叠加。适用于散列地址位数较少,而关键字的位数较多,且难于直接从关键字中找到取值较分散的几位的情况。

      3.处理冲突的方法:

        1)开放地址法:线性探测法、二次探测法和伪随机探测法。缺点:会产生“二次聚集”现象。

        2)链地址法:基本思想是构造一个邻接表一样的存储结构,把具有相同散列地址的关键字放在同一个单链表中(同义词链表),再把各个单链表的表头放到数组中。

      4.平均查找长度(ASL):散列表的ASL是 α(裝填因子)的函数,而不是 n(记录个数)的函数。

        在查找概率相等的前提下,直接计算查找成功的平均查找长度:

        查找失败的平均查找长度:

     ##---------------------------分割线--------------------------##

    上次目标,在我的标准中达成了,上两周在树蛙的DDL压力下完成了一篇关于NLP的论文阅读以及关于这篇论文的演讲。

    接下来的目标就是好好学习python的基础知识。另外、要在这两周构建这个学期关于DS的完整知识框架体系。

  • 相关阅读:
    mysql 查看某数据库各个表容量大小SQL
    Gated RNN(《深度学习进阶》第六章总结)
    RNN(《深度学习进阶》第五章总结)
    word2vec的改进(《深度学习进阶》第四章总结)
    201521123024 《Java程序设计》 第九周学习总结
    如何在vue项目中使用md5及base64加密
    vite+vue3.0+vue-router+vuex快速搭建项目
    vite+vue3.0搭建项目
    MySQL创建计划任务
    MySQL基础函数
  • 原文地址:https://www.cnblogs.com/Winston-wmj/p/10960636.html
Copyright © 2020-2023  润新知