| 
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectnet.wasamon.mjlib.util.Huffman
public class Huffman
ハフマン符号のエンコード/デコードを行う
| 入れ子のクラスの概要 | |
|---|---|
(package private)  class | 
Huffman.Code
 | 
(package private)  class | 
Huffman.CodeTable
 | 
(package private)  class | 
Huffman.Node
unit単位毎のデータとその出現回数を保持するクラス ハフマン木の単位となる  | 
(package private)  class | 
Huffman.NodeArrayList
パターンの集合を保持するクラス  | 
| フィールドの概要 | |
|---|---|
private  int | 
originaldata
元のデータの大きさ  | 
private  Huffman.Node | 
root
ハフマン木のルートとなるノードを保持  | 
private  Huffman.CodeTable | 
table
変換テーブル  | 
private  int | 
wordunit
与えるデータの単位(何バイトを一つの単語としてみるか)  | 
| コンストラクタの概要 | |
|---|---|
Huffman(int unit)
Huffman符号を構成するコンストラクタ  | 
|
| メソッドの概要 | |
|---|---|
 void | 
decode()
デコードを行う  | 
 java.lang.String | 
encode(byte[] data)
エンコードを行う  | 
private  Huffman.NodeArrayList | 
getRepetition(byte[] data)
 | 
static void | 
main(java.lang.String[] args)
ハフマン符号を用いたテストを行う.  | 
private  Huffman.Node | 
makeHuffmanTree(Huffman.NodeArrayList ptn)
ハフマン木をつくる  | 
private  void | 
maketable(Huffman.Node root)
 | 
private  void | 
maketable(Huffman.Node root,
          java.lang.String code)
 | 
 void | 
print()
生成されたハフマン符号のコードを表示する  | 
private  Huffman.NodeArrayList | 
sort(Huffman.NodeArrayList ptn)
与えられたパターンリストを出現頻度で降順にソートする とりあえず,単純なソート  | 
| クラス java.lang.Object から継承されたメソッド | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| フィールドの詳細 | 
|---|
private int wordunit
private Huffman.Node root
private int originaldata
private Huffman.CodeTable table
| コンストラクタの詳細 | 
|---|
public Huffman(int unit)
unit - データの単位(unit*8bit)ずつパーズする| メソッドの詳細 | 
|---|
private Huffman.NodeArrayList getRepetition(byte[] data)
private Huffman.NodeArrayList sort(Huffman.NodeArrayList ptn)
ptn - NodeArrayList
private Huffman.Node makeHuffmanTree(Huffman.NodeArrayList ptn)
ptn_orig - 出現頻度とそのデータのパターンの集合
public java.lang.String encode(byte[] data)
                        throws HuffmanException
data - 入力データの列
HuffmanExceptionprivate void maketable(Huffman.Node root)
private void maketable(Huffman.Node root,
                       java.lang.String code)
public void decode()
public void print()
public static void main(java.lang.String[] args)
                 throws HuffmanException
HuffmanException
  | 
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||