프리픽스가없는 인코딩의 요구는 트리가 완료되어야하기 때문에 큰 트리를 초래한다. 고정 길이의 비 인코딩 된 데이터 스토리지가 데이터를 인코딩하는 것보다 더 효율적인 임계 값이 있습니까?
일반적으로 '아니오'. 평균 데이터의 경우 각 문자의 빈도는 1보다 크며 고정 길이 코드 대신 허프만 인코딩을 사용하는 것이 좋습니다
프리픽스가없는 인코딩의 요구는 트리가 완료되어야하기 때문에 큰 트리를 초래한다. 고정 길이의 비 인코딩 된 데이터 스토리지가 데이터를 인코딩하는 것보다 더 효율적인 임계 값이 있습니까?
답변:
H(A)
이 문제 의 엔트로피 는 1.998
입니다. 이 문제에 대한 허프만 코딩과 고정 길이 코딩의 평균 코드 워드 길이는 2
입니다. 참고로 허프만 인코딩을 사용하여 얻은 코딩이 잘못되었습니다. 허프만 인코딩은이 문제에 대해 고정 길이와 유사한 코드를 생성합니다. 탐욕스러운 접근 방식을 사용합니다. 따라서 a
코드를 0
얻지 않고 대신 가져옵니다 00
. 허프만 코딩을 사용하여 생성 한 트리에서 재 작업하십시오. 당신이 얻을 나무는 :
허프만 코딩은 2 개의 거듭 제곱으로 모집단 분포를 추정합니다. 실제 분포가 두 확률의 거듭 제곱으로 구성되고 입력 기호가 완전히 상관되지 않은 경우 허프만 코딩이 최적입니다. 그렇지 않으면 범위 인코딩으로 더 잘 수행 할 수 있습니다. 그러나 특정 비트 세트를 입력의 특정 심볼에 할당하는 것은 모든 인코딩 중에서 최적입니다.
예, 항상 최적입니다.
아니요, 고정 길이의 비 인코딩 된 데이터를 사용하기 위해 더 적은 공간을 사용하는 임계 값은 없습니다.
웹에서 여러 가지 증거를 찾았지만 Wikipedia 기사 Huffman coding 에 충분한 토론이 있습니다.
여기에는 더 높은 압축률을 달성하는 다른 기술 (Huffman 코드가 최적의 공간 밖에서 작업)도 포함됩니다.