📄 hufmtree.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>赫夫曼树和赫夫曼编码算法</title>
<style type="text/css">
<!--
.style5 {font-size: 16px}
.style7 {
font-size: 15px;
font-weight: bold;
}
.style8 {font-size: 15px}
-->
</style>
</head>
<body bgcolor="#99CCFF">
<p>
<h2><strong><em>赫夫曼树和赫夫曼编码算法</em></strong>:</h2>
</p>
<hr>
<pre>
<span class="style5"><span class="style7">赫夫曼树的构造</span>: </span>
<br>
1、根据给定的 n 个权值{w1,w2,...wn},构成 n 棵二
叉树的集合 F={T1, T2,...Tn},其中每棵二叉树Ti
中只有一个带权为Wi 的根结点,其左右子树均空。 <br>
2、在F中选取两棵根结点的权值最小的树作为左右子树,
构造一棵新的二叉树,且置新的二叉树的根结点的权
值为其左、右子树上根结点的权值之和。 <br>
3、在 F 中删除这两棵树, 同时将新得到的二叉树加入
F 中。重复2和3,直到 F只含一棵树为止。这棵树便
是所求的赫夫曼树。
<span class="style8"><strong>赫夫曼编码</strong>:
</span> <span class="style8">(约定左分支表示字符'0',右分支表示字符'1')</span>
1、取赫夫曼树中的一个叶子节点,从该叶子节点到根节点
逆向编码。
2、若该节点本身为其父节点的左孩子,则cd[--start]为0,
若为其父节点的右孩子,则cd[--start]为1。
3、取该节点的父节点为子节点,重复执行第2步,直到父节
点为根节点,以由从根到叶子的路径上的分支表示的字符
组成的字符串作为该叶子结点字符的编码。 执行第1步取
得下一个叶子节点,直到编码结束。<br>
</pre>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -