树
文章平均质量分 90
RBLT
say it,do it,be it
展开
-
完全理解二叉树(下)——平衡二叉树、二叉排序树、哈夫曼树
二叉树的应用1. 平衡二叉树二叉树可以用于查找元素,对于如下这颗二叉树:对其的遍历相当于对链表的遍历,因此找到元素5需要从头开始,查找5次,但是如果树的形状是这样:从根结点出发只需要查找3次即可找到元素5。1.1 定义左右子树高度差不超过1的二叉树称为平衡二叉树(AVL树),注意是对于树中的任意结点。例如:都不是平衡二叉树。结点的平衡因子 = 左子树高 - 右子树高,平衡因子的绝对值不超过1,如下图所示:1.2 存储结构typedef struct AVLTreeNode*原创 2021-06-11 10:10:51 · 903 阅读 · 0 评论 -
完全理解二叉树(中)——二叉树与树、森林的转化及遍历
完全理解二叉树(上)——二叉树的概念、遍历、构造以及线索化1. 树与二叉树的转化现有如下一颗树:将其转化为二叉树的过程为:加线:在同一层中,将兄弟结点(注意没有堂兄弟结点)连接起来,下图中红色部分。去线:对每一个结点来说,只保留其第一个孩子结点,其余孩子结点的连线全部删除,下图中蓝色部分。去掉蓝色部分得到:最后调整层序,黑线必为左孩子,红线为右孩子:2. 森林与二叉树的转化现有如下一个森林:将其转化为二叉树的过程为:树转化成二叉树,先将森林中所有的树转化成二叉树:原创 2021-06-03 10:24:00 · 767 阅读 · 0 评论 -
完全理解二叉树(上)——二叉树的概念、遍历、构造以及线索化
术语结点的度:结点的子树个数树的度:树的所有结点中最大的度数结点的层次:规定根结点在 1 层,其他任一结点的层数是其父结点的层数 +1树的深度(高度):树中所有结点中的最大层次叶结点:度为 0 的结点父结点:有子树的结点子结点:A为B的父结点,则B为A的子结点兄弟结点:具有同一父结点的各结点祖先结点:沿树根到某一结点路径上的所有结点都是这个结点的祖先结点子孙结点:某一结点的子树中所有的结点堂兄弟结点:父结点在同一层的结点森林:若干颗互不相交的树的集合树一、定义n 个结点构成原创 2021-06-01 19:40:17 · 443 阅读 · 0 评论 -
哈夫曼树编码
对输入的英文大写字母进行统计概率 然后构建哈夫曼树,输出是按照概率降序排序输出Huffman编码输入 大写字母个数 n 第一个字母 第二个字母 第三个字母 ... 第n个字母输出 字母1 出现次数 Huffman编码 字母2 出现次数 Huffman编码 字母3 出现次数 Huffman编码 … 字母n 出现次数 Huffman编码 Sample In10 I I U U U I ...原创 2017-11-02 19:44:00 · 3351 阅读 · 2 评论