免責事項:この記事はブロガーオリジナル記事です、続く
BY-SAのCC 4.0を
著作権契約、複製、元のソースのリンクと、この文を添付してください。
まず、ホフマン(ハフマン)の起源は、
歴史の中で1長距離通信の問題
テキスト情報、メイン電報を送信するための初期距離通信。
- 小A:どのように「などのテキストの内容になるBADCADFEEDは、」ネットワークを介して、他の人にそれを渡しますか?
- 少しB:バイナリエンコーディングを使用してこれらの文字、符号化および伝送線路ああ。
- 小D:はい、電信は「ドロップ」しないと、「A、」まあ?!
- 小A:次に、どのようにそれをコーディング?
- 小さなC:あなたはASCIIコードを聞いたことがないことがありますか?
- 小A:ああ、その後、何のASCIIコードはありませんか?
2.元の溶液
あなたは次のようにコードを使用することができるように、テキスト「BADCADFEED」の送信の場合のみ「ABCDEF」の6つの文字は、定期的なので:
受信者は、テキスト情報を復元するために一度3ビット、文字符号化方法を実行することができます。
3.しかし、この方式でのパフォーマンスに重大な問題があります:
- そのような符号化は、10ビット文字を表すために30ビットを必要と
- だから、送信情報500文字は、15,000ビットのビットを必要とするとき
戦時中、この符号化方式は、情報の送受信のための非常に非効率とエラーが発生しやすいです。
4.どのようにトランシーバの効率を向上させるには?
第二に、ハフマンコーディング
1.新しいコーディング
各文字を避けるために、最初から符号化の効率と必要性を向上させるために、同じビット位置を占めます。
2.効率性の向上
- 改善された符号化は、10ビット文字を表すことができる唯一の25ビットを必要と
- 伝送文字の増加に伴い、この利点はより明白になります
- 効率が17%向上!!!
第三に、ハフマンツリー構築手順
繊細:任意の1文字の接頭コードを別の文字でエンコードされていません!
n個の重みがあると仮定し、ハフマン木は、n個のリーフノードで構成されています。n個の重み値をW1に設定されている、W2、...、建設ルールWN、ハフマンツリーは次のとおりです。
- W1は、W2、...、森の木としてnはWN(各ツリーのノードが1つだけです)。
- 森2最小重量ツリーのルートノードを選択すると、左と右のサブツリー内の新しいツリーとしてマージ、およびツリーのルートは、その新しい左右の重量右のサブツリーのルート・ノードであります合計;
- 選択した2本の森から木、そして新しいフォレストツリーの追加を削除します。
- リピート(2)、(3)工程のみ森林木アップハフマン木により得られる木まで。
IVの概要
- ハフマンツリーはバイナリツリーの特別な種類です
- ツリーハフマン符号化及びデータ圧縮技術に適用されます
- ハフマン木は、近代的な圧縮アルゴリズムの基礎であります
私のマイクロチャネル公共数:アーキテクチャの聖書(ID:gentoo666)、共有Java乾燥、並行性の高いプログラミング、人気のある技術的なチュートリアル、および分散型マイクロサービス・テクノロジー、建築、デザイン、ブロック・チェーン・テクノロジー、人工知能、ビッグデータ、Javaのインタビュー質問だけでなく、最先端の情報とそんなに人気があります。ああ毎日更新!
参考文献: