2010-05-22 1 views
1

하나의 문자 (a = 10, b = 11)이 아닌 (ab = 11, ag = 10)으로 텍스트를 인코딩 할 수있는 huffman 코드 (파이썬 또는 자바로 최상)가 필요합니다. 가능하고 예, 어디에서 찾을 수 있을까요, 어쩌면 인터넷 어딘가에 있는데 그냥 찾을 수 있습니까?하나의 문자로 허프만 코딩

+0

숙제 인 경우 태그를 붙이십시오. – danben

+0

숙제가 충분하지 않습니다. 선생님께서는이 일을하도록 약속 하셨으며, 지금은 할 수 없습니다. 나는 그것이 훨씬 쉬웠다 고 생각했다 :) – Adomas

+0

파이썬 코드를 코딩하는 허프만을 찾으려고 했습니까? 키 워드 '허프만 파이썬'을 사용하여 Google에서 바로 찾았습니다. IVlad가 아래에서 말했듯이, 한 문자와 두 문자를 기호로 사용하는 것의 차이는별로 없습니다. 한 문자를 사용하여 두 문자를 사용하는 코드를 적용하는 것은 꽤 쉬워야합니다. 물론 문자열에 홀수의 문자가있는 경우 문자 하나만 포함되도록 기호 하나가 필요합니다. –

답변

1

파이썬 bitarray 모듈과 함께 배포되는 허프만 인코더 예제가 있습니다.

5

허프 먼 코드는 문자를 신경 쓰지 않으며 기호에 신경 쓰고 있습니다. 일반적으로 알파벳/다른 단일 문자를 인코딩하는 데 사용되지만 매우 쉽게 일반 문자열로 인코딩 할 수 있습니다. 기본적으로 기존 구현을 사용하고 심볼을 문자가 아닌 문자열로 사용할 수 있습니다. 그런 다음 리프 노드는 문자열 목록에 해당합니다.

0

어딘가에 코드가있을 수 있습니다. 그러나 파싱 및 토큰 화 질문과 같은 것 같습니다. 내가 대답 할 첫 번째 질문 중 하나는 얼마나 많은 독특한 쌍을 다루고 있는지입니다. 허프만 인코딩은 작은 수의 토큰에서 가장 잘 작동합니다. 예를 들어, 키보드의 101 자. 그러나 두 글자가 아무 것도 될 수 없다면 최대 글자 수를 크게 늘리고 있습니다.