摘要: ![](https://img2020.cnblogs.com/blog/2005725/202006/2005725-20200610155417511-1808893089.png) ![](https://img2020.cnblogs.com/blog/2005725/202006/2005725-20200610155419958-708308864.png) ![](https://i 阅读全文
posted @ 2020-06-10 15:55 lihao_Q 阅读(269) 评论(0) 推荐(0) 编辑
摘要: **参考:**https://www.jianshu.com/p/655d83f9ba7b 右旋转(LL)步骤:①:创建一个新的节点,值等于当年节点的值。 ** ②把新节点右子树的值设为当前节点的右子树。** ** ③把新节点左子树的值设为当前节点的左子树的右子树。** ** ④把当前节点的值换为左 阅读全文
posted @ 2020-06-10 14:08 lihao_Q 阅读(161) 评论(0) 推荐(0) 编辑
摘要: ![](https://img2020.cnblogs.com/blog/2005725/202006/2005725-20200609153229779-1370862864.png) ![](https://img2020.cnblogs.com/blog/2005725/202006/2005725-20200609153231793-297497868.png) ![](https://i 阅读全文
posted @ 2020-06-09 15:33 lihao_Q 阅读(144) 评论(0) 推荐(0) 编辑
摘要: **参考:**https://www.jianshu.com/p/bbe133625c73 创建二叉排序树,并进行中序遍历: package demo11; public class Node { int value; Node left; Node right; public Node(int v 阅读全文
posted @ 2020-06-09 11:03 lihao_Q 阅读(156) 评论(0) 推荐(0) 编辑
摘要: ![](https://img2020.cnblogs.com/blog/2005725/202006/2005725-20200608150239900-1240092356.png)![](https://img2020.cnblogs.com/blog/2005725/202006/2005725-20200608150242080-181934198.png)![](https://img... 阅读全文
posted @ 2020-06-08 15:03 lihao_Q 阅读(189) 评论(0) 推荐(0) 编辑
摘要: ![](https://img2020.cnblogs.com/blog/2005725/202006/2005725-20200607155339814-712848132.png) ![](https://img2020.cnblogs.com/blog/2005725/202006/2005725-20200607155341338-809481212.png) ![](https://im 阅读全文
posted @ 2020-06-07 15:54 lihao_Q 阅读(150) 评论(0) 推荐(0) 编辑
摘要: **编码压缩思路:**给定一个字符串,先统计字符串中每个字节出现的次数,并放入集合(键为字节元素,也为树节点的data;值为出现的次数,也为树节点的权重)中。将每一个键值对转换为节点对象。利用得到的节点对象生成一个赫夫曼树,根据赫夫曼树进行赫夫曼编码,返回一个赫夫曼编码表的集合(键为节点的data, 阅读全文
posted @ 2020-06-07 12:20 lihao_Q 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 赫夫曼树也称最优二叉树,它是n个带权叶子结点构成的所有二叉树中,带权路径长度最小的二叉树。 **树的带权路径长度WPL:**树中所有叶子节点的带权路径长度之和。 创建赫夫曼树 package demo9; public class Node implements Comparable<Node> { 阅读全文
posted @ 2020-06-06 11:06 lihao_Q 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.jianshu.com/p/3965a6e424f5 线索二叉树节点: package demo7; public class ThreadedNode { //节点的权 int value; //左儿子 ThreadedNode leftNode; //右儿子 Thr 阅读全文
posted @ 2020-06-05 14:54 lihao_Q 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 顺序存储的二叉树通常只考虑完全二叉树 存储的数组中,第n个元素的左子结点是2n+1,右子节点是2n+2,父节点是(n-1)/2。 顺序存储的二叉树的遍历(把数组看成完全二叉树) package demo6; public class ArrayBinaryTree { int[] data; pub 阅读全文
posted @ 2020-06-03 11:22 lihao_Q 阅读(197) 评论(0) 推荐(0) 编辑