黄沙百战穿金甲,不破楼兰终不还。这篇文章主要讲述11.2树的一些运用(Applications of Trees)相关的知识,希望能为你提供帮助。
11.2树的一些运用(Applications of Trees)
二叉搜索树(Binary Search Trees)
二叉搜索树中,规定数据存储在节点中,且规定右孩子的key大于父节点,左孩子的key小于父节点(如果存在的话)决策树(Decision Trees)
文章图片
一般情况下,二叉搜索树查找,插入(必插到叶子节点上)和删除的时间复杂度为O(log_n),但当退化到线性链表时会使得复杂度提高到O(n),此时应当选择二叉平衡树来解决(AVL树,红黑树等)
根节点:决策树具有数据结构里面的二叉树、树的全部属性
非叶子节点 :(决策点) 代表测试的条件,数据的属性的测试
叶子节点 :分类后获得分类标记
分支: 测试的结果
文章图片
最优树(哈夫曼树)
二元前缀码
文章图片
文章图片
文章图片
【11.2树的一些运用(Applications of Trees)】游戏树
文章图片
文章图片
文章图片
证明:左分支为0,右分支为1,一颗二叉树必然可构造唯一的二元前缀码
文章图片
应用:利用哈夫曼树编码和二元前缀码,在通信传输过程中,利用字母出现频率的不同(转化为权)进行哈夫曼树编码,根据该哈夫曼树得到二元前缀码,使得在通信传输中的效率最大化
类似于决策树?
推荐阅读
- Android布局管理器-使用LinearLayout实现简单的登录窗口布局
- 02uni-appv-for循环列表v-if的使用
- Android 生成签名及APK 文件
- 剖析版式解剖学的复杂性(带有信息图)
- 设计师的Pinterest –概述
- 外汇交易算法(工程师的实用故事)
- 构建笨拙的智能重构(如何从Ruby on Rails代码中解决问题)
- Ruby on Rails有什么好处(经过两个十年的编程,我使用了Rails)
- 为什么有那么多Python( Python实现比较)