|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
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
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||