나는 허프만 트리의 각 문자에 대해 이진 코드를 제공하는 함수를 구현하려고합니다. 함수를 구현하려면 재귀 함수를 사용하여 테이블을 탐색 해 보았습니다. 그러나 나는 각 문자에 대한 이진 코드 결과를 채우는 방법을 모르므로 함수가 모든 문자 및 이진 코드와 함께 struct 배열을 반환하도록 누군가가 올바른 방향으로 나를 가리킬 수 있기를 바랍니다. 미리 감
허프만의 인코딩과 비슷한 문제가 있습니다. 정확히 어떻게 해결할 수 있는지 또는 역방향 허프만 인코딩 인 경우 확실하지 않습니다. 그러나 탐욕스러운 접근 방식을 사용하여 확실히 해결할 수 있습니다. 각각의 확률과 관련된 길이의 세트를 생각해 보자. 즉 X={a1=(100,1/4),a2=(500,1/4),a3=(200,1/2)}
는 물론, 모든 확률의 합
허프만 코드에 문제가 있습니다. main 메서드에서 나는 Symbols 빈도를 포함하는 Integer 배열을 입력했다. 그것은 각각의 기호와 허프만 코드를 인쇄해야합니다,하지만 난 뭔가 주에서 잘못된 생각 : 허프만 코드에서 이제 int[] histo = new int[]{8, 65, 124, 55, 2, 1, 0, 1};
System.out.printl
나는 수축 된 압축기를 구현하려고하는데, 정적 허프만 코드를 사용하여 블록을 압축할지 또는 동적 허프만 코드를 만들지 결정해야합니다. 정적 코드와 관련된 길이 뒤에 오는 근거는 무엇입니까? , 나는 정적 코드는 일반 ASCII 텍스트 대한 더 편견이라고 생각 Lit Value Bits --------- ---- 0 - 143 8 144 - 255 9 256
내가 예를 들어,에 숫자가() C (0.056) O (0.076) G (0.020) P (0.019) A (0.081) B (0.041)
H (0.034) D (0.030) E (0.115) F (0.027) I (0.028) J (0.002)
K (0.005) L (0.038) M (0.018) N (0.070) Q (0.0008) R (0.063)
문자열을 취하여 이진 트리를 만드는 Haskell 함수를 작성하는 데 도움이 필요합니다. 나를위한 약간의 구멍을 채우고 이것이 왜 나를위한 학습 경험이기 때문에 이유를 기술하기 위해 조금 더 나은 하스켈 경험을 가진 누군가로부터 도움을 필요로합니다. 하스켈 프로젝트의 단일 문자열로 인코딩 된 트리가 있습니다 (예제 **B**DECA). 별표는 다른 문자가