2013-11-20 4 views
1

그래서 허프만 트리를 완성하고 각 노드에 대한 경로를 정확하게 찾았지만 비트 문자열이 아닌 유형 문자열입니다. 예를 들어, "e"에 대한 경로는 101 (유형 문자열) 일 수 있습니다. 각 1 또는 0이 유형 문자열이 아닌 비트임을 간단히 설명 할 수있는 방법이 있습니까?문자열을 호프만 압축의 비트로 인코딩

+0

비트 문자열을 나타 내기 위해 BigInteger 또는 BitSet을 사용해보십시오. BigInteger의 이점은, 값이 불변으로 thread에 대해서 안전하고, 상호 배제를위한 동기의 형식을 필요로하지 않는다는 것입니다. BitSet은 BigInteger에 대한 변경 가능한 동반 클래스이며 성능상의 이유로 사용될 수 있습니다. 그러나 일단 허프만 트리가 설정되면 다시 변경하면 안되기 때문에 ... BigInteger를 사용하는 것이 좋습니다. – scottb

답변