C++语言 基础算法 位运算 快速幂 模拟 枚举 递推 递归 分治 二分 三分 排序 归并排序 离散化 倍增 贪心 高精度 数据结构 前缀和 差分 栈 对顶栈 单调栈 队列 双端队列 循环队列 单调队列 ST表 链表 链式前向星 Hash表 二叉堆 Huffman树 并查集 路径压缩 按秩合并 扩展 ...
分类:
其他好文 时间:
2018-12-23 15:22:40
阅读次数:
465
二叉树: 性质1、满二叉树定理:非空满二叉树树叶的数目等于其分支结点数加1 性质2、二叉树的第i层(根为第0层,i>=0)最多有2i个结点 性质3、高度为k的二叉树至多有2k-1个结点 性质4、有n个结点(n>0)的完全二叉树的高度为【log2(n+1)】(深度为【log2(n+1)-1】) 二叉树 ...
分类:
其他好文 时间:
2018-12-18 02:20:25
阅读次数:
189
1. 如何理解 “贪心算法” 假设我们有一个可以容纳 100 Kg 物品的背包,可以装各种物品。我们有以下 5 种豆子,每种豆子的总量和总价值都各不相同。怎样装才能让背包里豆子的总价值最大呢? 这个问题其实很简单,我们只需要计算出每种豆子的单价,然后按照单价从高到低依次来装就好了。单价从高到低排列为 ...
分类:
编程语言 时间:
2018-12-18 00:05:56
阅读次数:
300
20172303 2018 2019 1《程序设计与数据结构》哈夫曼树编码与解码 哈夫曼树简介 定义:给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。 ...
分类:
其他好文 时间:
2018-12-13 01:10:40
阅读次数:
242
Huffman coding 1、Basic Technique Huffmam coding是David A. Huffman在MIT上学期间发明的一种编码方式,并以他的名字命名。Huffman coding 和 Shannon Fano coding方法正好相反,Huffman coding是从 ...
分类:
其他好文 时间:
2018-12-10 15:50:21
阅读次数:
294
哈夫曼(Haffman)树(最优树) 定义: 给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。 构造过程: 以 1,7,3,4,9,8为例: 第 ...
分类:
其他好文 时间:
2018-12-01 13:16:58
阅读次数:
217
哈夫曼树的介绍 Huffman Tree,中文名是哈夫曼树或霍夫曼树,它是最优二叉树。 定义:给定n个权值作为n个叶子结点,构造一棵二叉树,若树的带权路径长度达到最小,则这棵树被称为哈夫曼树。 这个定义里面涉及到了几个陌生的概念,下面就是一颗哈夫曼树,我们来看图解答。 (01) 路径和路径长度 定义 ...
分类:
编程语言 时间:
2018-11-18 19:23:07
阅读次数:
218
In 1953, David A. Huffman published his paper "A Method for the Construction of Minimum-Redundancy Codes", and hence printed his name in the history o ...
分类:
其他好文 时间:
2018-11-16 15:14:12
阅读次数:
230
#include #include #include typedef struct HuffmanTree { int weight; int parent, lchild, rchild; }HuffmanTree; typedef struct CodeNode { int ch; char b... ...
分类:
其他好文 时间:
2018-11-04 23:00:47
阅读次数:
217