1
abstract class HuffmanTree1 implements Comparable<HuffmanTree1>
{
public final int frequency;
public HuffmanTree1(int freq)
{
frequency = freq;
}
public int compareTo(HuffmanTree1 tree)
{
return frequency - tree.frequency;
}
}
class HuffmanLeaf1 extends HuffmanTree1
{
public final char value;
public HuffmanLeaf1(int freq, char val)
{
super(freq);
value = val;
}
}
class HuffmanNode1 extends HuffmanTree1
{
public final HuffmanTree1 left, right;
public HuffmanNode1(HuffmanTree1 l, HuffmanTree1 r)
{
super(l.frequency + r.frequency);
left = l;
right = r;
}
}
public class SimpleHuffmanCode
{
static int ctr=0;
static String[] s=new String[50];
public static HuffmanTree1 buildTree(int[] charFreqs)
{
PriorityQueue<HuffmanTree1> trees = new PriorityQueue<HuffmanTree1>();
for (int i = 0; i < charFreqs.length; i++)
if (charFreqs[i] > 0)
trees.offer(new HuffmanLeaf1(charFreqs[i], (char)i));
assert trees.size() > 0;
while (trees.size() > 1)
{
HuffmanTree1 a = trees.poll();
HuffmanTree1 b = trees.poll();
trees.offer(new HuffmanNode1(a, b));
}
return trees.poll();
}
public static void main(String[] args) throws IOException
{
File file = new File("test.txt");
int c[]=count_freq(file);
HuffmanTree1 tree = buildTree(c);
}
"hello world"라는 문자열이 있다고 가정합니다. 이제 각 캐릭터의 빈도를 계산 한 다음 허프 먼 트리를 만들었습니다. 이제 어떻게 thr huffman 트리를 다른 프로그램에서 사용할 수 있도록 atext 파일에 저장할 수 있습니까 ?? 모든 제안 ..재사용을 위해 텍스트 파일에 트리 데이터 구조를 저장하는 방법
자바 코드를 찾고 있었는데 .. 어쨌든 고맙습니다. – Swayambhu
안녕하세요, 먼저 댓글을 작성한 사람이 당신의 의견을 삭제했지만 개체 직렬화에 대한 귀하의 아이디어가 친구와 함께했습니다. 너는 누구보다도 .. – Swayambhu