|
LHA Library for Java | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Objectjp.gr.java_conf.dangan.util.lha.DynamicHuffman
動的ハフマンを扱うクラス。
-- revision history --
$Log: DynamicHuffman.java,v $
Revision 1.0 2002/07/24 00:00:00 dangan
add to version control
[bug fix]
addLeaf() で葉の数が 1 から 2へと増加するときに
最初からあった葉の重さが 1 だと決め付けていた。
[change]
コンストラクタ DynamicHuffman( int, int ) で
開始時のハフマン木のサイズでなく 開始時の葉の数を渡すように変更。
[maintenance]
ソース整備
タブ廃止
ライセンス文の変更
| フィールドの概要 | |
static int |
ROOT
ハフマン木のルートを示す。 |
| コンストラクタの概要 | |
DynamicHuffman(int count)
コンストラクタ |
|
DynamicHuffman(int max,
int first)
コンストラクタ |
|
| メソッドの概要 | |
void |
addLeaf(int code)
ハフマン木に code を示す葉を追加する。 |
int |
childNode(int node)
ノードが葉でないノードなら子ノードのノード番号、 ノードが葉ならノードの持つデータを全ビット反転したものを得る。 |
Object |
clone()
このオブジェクトの現在の状態を持つコピーを作成して返す。 |
int |
codeToNode(int code)
データからノード番号を得る。 |
int |
parentNode(int node)
node の親ノードのノード番号を得る。 |
void |
update(int code)
code の重みが増すようにハフマン木を更新する。 |
| クラス java.lang.Object から継承したメソッド |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
public static final int ROOT
| コンストラクタの詳細 |
public DynamicHuffman(int count)
count - 葉の数
public DynamicHuffman(int max,
int first)
max - 葉の最大数| メソッドの詳細 |
public Object clone()
public int codeToNode(int code)
code - データ
public int childNode(int node)
node - ノード
public int parentNode(int node)
node - ノード
public void update(int code)
code - 重みを増やす葉public void addLeaf(int code)
code - 葉の示す符号
IllegalStateException - ハフマン木が十分に大きいため
葉が追加できない場合
|
LHA Library for Java | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||