11.2树的一些运用(Applications of Trees)

时间:2022-10-06 18:18:17

11.2树的一些运用(Applications of Trees)

二叉搜索树(Binary Search Trees)

二叉搜索树中,规定数据存储在节点中,且规定右孩子的key大于父节点,左孩子的key小于父节点(如果存在的话)
11.2树的一些运用(Applications of Trees)
一般情况下,二叉搜索树查找,插入(必插到叶子节点上)和删除的时间复杂度为O(log_n),但当退化到线性链表时会使得复杂度提高到O(n),此时应当选择二叉平衡树来解决(AVL树,红黑树等)

决策树(Decision Trees)

根节点:决策树具有数据结构里面的二叉树、树的全部属性
非叶子节点 :(决策点) 代表测试的条件,数据的属性的测试
叶子节点 :分类后获得分类标记
分支: 测试的结果

11.2树的一些运用(Applications of Trees)

最优树(哈夫曼树)

11.2树的一些运用(Applications of Trees)
11.2树的一些运用(Applications of Trees)
11.2树的一些运用(Applications of Trees)

二元前缀码

11.2树的一些运用(Applications of Trees)
11.2树的一些运用(Applications of Trees)
11.2树的一些运用(Applications of Trees)

证明:左分支为0,右分支为1,一颗二叉树必然可构造唯一的二元前缀码
11.2树的一些运用(Applications of Trees)

应用:利用哈夫曼树编码和二元前缀码,在通信传输过程中,利用字母出现频率的不同(转化为权)进行哈夫曼树编码,根据该哈夫曼树得到二元前缀码,使得在通信传输中的效率最大化

游戏树

类似于决策树?