문제

이 숙제가 있습니다. 주어진 알파벳의 기호에 대한 코드 단어 찾기. 세 가지 기호 그룹에서 이진 허프만을 사용해야한다고 말합니다. 그게 정확히 무엇을 의미합니까? [알파벳]^3에서 일반 허프만을 사용합니까? 그렇다면 어떻게 그룹의 3 가지 기호의 차이를 알려주려면?

도움이 되었습니까?

해결책

나는 당신의 문제에 대한 당신의 설명이 그다지 상세하지 않기 때문에 말할 수는 없지만, 그것들은 알파벳의 각 기호를 개별적으로 인코딩하는 대신에 각각의 상징을 그룹으로 밟아야한다는 것을 의미한다고 생각합니다. .

예를 들어, 알파벳이 a, b, 그리고 c, 각각의 인코딩을 개별적으로 생성하는 대신 인코딩을 만듭니다. aaa, aab, aac, 이 문자열 각각은 허프만 알고리즘에서 별도의 기호로 취급됩니다. 문자열 비교를 통해 간단히 말할 수 있습니다. 임의 길이의 입력을 수락 해야하는 경우 길이 1 또는 2의 문자열 인 알파벳 기호에도 포함해야합니다. 예를 들어 문자열을 인코딩하는 경우 aabacab, 당신은 그것을 기호로 분해해야합니다. aab, aca, 그리고 b.

그것이 당신의 질문에 대답하는 데 도움이됩니까? 나는 당신이 무엇을 찾고 있는지 확신하지 못했기 때문에, 이것이 아무것도 정리하지 않았다면 질문을 편집하거나 의견에 답장을 보내 주시기 바랍니다.

다른 팁

생각을위한 음식 : 짧은 줄과 "블록 경계"의 순열은 어떻습니까? 1과 2 문자열은 어떻습니까? 3, 6, 9, 12, ... 입력 텍스트에 숯을 세우고 끝에서 고르지 못한 길이를 null 패드로 계산합니까?

청크가 가변 크기 일 수 있다면 가장 잘 맞는 것을 찾는 것이 정말 흥미로워집니다. 나는 그것이 여행하는 세일즈맨 종류의 문제로 퇴보한다고 생각하지만 아마도 이런 종류의 깔끔한 "정리"또는 다른 도구가있을 수 있습니다.

아마도 3 숯의 모든 순열을 시도하고 가장 자주 사용되는 것을 저장 한 다음 1과 2 숯의 긴 간격에 적합하게 생각해보십시오. 흠, 정말 느리지 만 일종의 재귀 분열 및 상급 접근법을 사용하여 가능할 것 같다. 블록 길이 n의 긴 스트링을 꺼내고 틈을 길이 n -1로 인코딩하는 데 되돌아 간다.

답보다 더 많은 질문이 두렵습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top