码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 离散数学 --- 根树,根数的遍历,最优树和哈夫曼算法


    第一部分 --- 根树

    1.由于内点和根都可以进行分支,所以又称它们为分支点

    1.根在上,叶在下,默认方向向下 ---- 以此得到简化图

    1.成为祖先的要求是可达,而成为父亲的要求是两结点之间具有一条有向边

     1.成为有序树的前提树的是每一层上的结点之间都被排好顺序

     

     

    1.方案1在能够进行多线程操作的多核计算机中好用,只需要两次加法的时间就能够得出结果;而方案2则更适合在单核计算机中使用,需要四次加法的时间


    第二部分 --- 根树的遍历

     

     

     

    1.先根:先访问根,然后访问左右子树

    2.中根:先访问左子树,然后访问根,然后再访问右子树

    3.后根:先访问左右子树,然后再访问根

    1.使用中缀形式的时候要给遍历到的左右子树分别加括号

    1.通过先根形式遍历到的结果都被按照顺序放入到了栈中,读取的时候以出栈的方式读取

    2.当读取到一个运算符的时候就将在这个运算符前面的两个数中的左边那个数作为运算符的左值,右边那个数作为运算符的右值进行计算,然后将计算完后的值入栈,同时将出栈元素中我们没有用到的那个元素跟在后面入栈入栈,接着再继续出栈和计算

    后缀形式与前缀形式相同,唯一的区别就是方向反了

     

    1.关于根树的遍历我们常用的是先根遍历和后根遍历,中根遍历比较少用


    第三部分 --- 最优树和哈夫曼算法

     

     要注意前缀码是一个集合

     上面右边那个010改为011 

    给定所有叶的权值集合,我们该如何根据这个集合生成最优树呢?

    在这里我们使用的是哈夫曼算法

    通过哈夫曼算法我们可以保证权值越小的叶越处于生成树的高层,权值越大的叶越处于生成树的低层,此时树的求权公式有最小值,这样就能够得到一个理想的最优树了

     

    我们一般规定左边为0,右边为1

    1.我们一般认为叶子的权是叶的被访问频率,叶子的访问路径是对应的树的层数,访问频率乘以访问路径长度我们得到的是这个叶子的访问路径长度在总路径中占的实际份量,如果访问速度一样,加权后的实际访问路径越大,访问时间越长

    2.最优树可以理解为加权后总访问路径最短的树,在同样的时间下所需的时间最短

  • 相关阅读:
    拼多多API接口详解:自动化获取商品信息的高效指南
    NineData云原生智能数据管理平台新功能发布|2024年2月版
    【Linux】自动化构建工具--make/Makefile&&调试器--gdb的使用
    MyBatis学习:使用Map的方法传递参数
    Vs 设置类、接口默认创建的模板
    【Linux初阶】Linux项目自动化构建工具-make/Makefile | 深入解析基础原理
    【Vue】模板语法,插值、指令、过滤器、计算属性及监听属性(内含面试题及毕设等实用案例)上篇
    京东到家MySQL容器化,为何首选Docker而非K8S?
    熊市链游模型如何设计开发?
    【Tomcat服务部署及优化】
  • 原文地址:https://blog.csdn.net/qq_51947882/article/details/126787298
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号