"abracadabra"와 같은 단어를 사용하여이를 허프만 트리로 만드는 코드를 작성하고 있습니다. 나는 호프만 나무의 원리를 이해하지만, 지금 당장은 내가 아브라카 다브라를 어떻게 구현할 것인가에 대한 것입니다.허프 먼 코드, 트리의 초기 입력에 문제가 발생했습니다.
선생님이 우리에게 간다고 말한 접근 방식은 2 개의 개별 대기열/배열을 갖는 것입니다. 첫 번째 문자는 각 문자의 양을 저장하고 다른 문자는 양 (가장 높은 값부터 가장 낮은 값)의 순서로 문자를 저장하고 문자가 같은 값을 가질 때 알파벳 순으로 정렬됩니다.
그래서 결과는 다음과 같습니다 : 5,2,2,1,1 및 a, b, r, c, d 나는 그가 우리에게 대기열을 사용하기를 원한다고 확신하지만 접근 방법을 모르겠습니다. 코드의이 간단한 부분.
어떤 도움이 가장 감사 할 것입니다.
대기열 대신 사용할 대상은 무엇입니까? –
각 문자에 대한 개수를 저장하기 위해 간단한 고정 크기 배열을 사용하고 컨테이너를 망칠 필요가 없습니다. 그러면 가장 큰 수에서 가장 작은 수까지 배열을 반복합니다 (현재 수보다 작은 최대 수를 기록한 다음 다른 수의 수를 반복합니다). 비어 있는). – JasonD