난 그냥 허프만의 데이터 압축 알고리즘에 대한 학습 시작 전 별도의 코드 테이블 배열이 왜 이해가 안 다음 함수> filltable()와 invertcode()허프만의 데이터 압축 filltable와 반전 코드 문제
에 도움이 필요 필요합니다.
while (n>0){
copy = copy * 10 + n %10;
n /= 10;
}
날 n은 항상 곁에 상관없이 0보다 큰 없을 것입니다 때문에이 열로 나눈 0보다 큰 경우 함수의이 부분에가는 이유가 무엇인지 이해하는 데 도움이됩니다 몇 번을 그것을 나눴다. 코드
링크 : http://www.programminglogic.com/implementing-huffman-coding-in-c/
void fillTable(int codeTable[], Node *tree, int Code){
if (tree->letter<27)
codeTable[(int)tree->letter] = Code;
else{
fillTable(codeTable, tree->left, Code*10+1);
fillTable(codeTable, tree->right, Code*10+2);
}
return;
}
void invertCodes(int codeTable[],int codeTable2[]){
int i, n, copy;
for (i=0;i<27;i++){
n = codeTable[i];
copy = 0;
while (n>0){
copy = copy * 10 + n %10;
n /= 10;
}
codeTable2[i]=copy;
}
** 편집 **
이 질문에 더 명확 내가 허프만 인코딩 및 디코딩에 대한 설명이 필요하지 않습니다 만들려면하지만 방법에 대한 설명이 필요 이 두 가지 기능이 작동하며 왜 코드 테이블이 필요한가?
감사합니다. 덕분에이 기능을 조금 더 설명 할 수있었습니다. –