클래스 할당을위한 허프만 압축 프로그램을 만들고 있습니다. 나는 그것을 구현하는 방법을 알고 있지만 디코더는 인코더로 저장된 변환 테이블을 사용하거나 처음부터 허프만 트리를 생성해야하므로 디코더가 재구성 할 필요가 없도록 인코더로 완전한 허프만 트리를 저장하려고했습니다. 그것. 나는 포인터가있는 것을 저장하는 것이 동일하지 않다는 것을 알게되었다. 그래서 직렬화가 도움이 될 수 있음을 알았다. 내 주요 질문은 다음과 같습니다 :파일에 허프 먼 트리를 저장하는 데 직렬화 도움말을 사용할 수 있습니까?
1 - 직렬화 트리를 그대로 저장할 수 있습니까? 2 트리를 저장하면 변환 테이블을 저장하고 재구성하는 데 더 많은 공간이 필요합니까?
인코딩 된 파일에 저장할 트리 데이터를 최소화하려고합니다. 여기에 일반 텍스트 압축이 있습니다. - 감사합니다.
'디코더는 인코더로 저장된 변환 테이블을 사용하거나 스크래치에서 허프만 트리를 만들어야합니다. 이것은 _ 정적 허프만 코딩 _이라고 들립니다. ("전송"의 모든 기호에 대해 동일한 코드/"확률"을 사용하십시오. 대안은 _ 동적 인 허프만 코딩 _입니다. 인코더와 디코더는 모두 "확률"을 수정하고 그에 따라 코드를 수정합니다 ("균등 확률"). 1- 거의 모든 부분에 따라 다르다. 한 손에는 나무에 대한 표현을, 다른 한편에는 테이블에 대한 몇 가지 표현을 제안하십시오. 그들을 비교하십시오. 다른 사람들이 찾아 사용했던 것을보십시오. – greybeard
@greybeard 예, 적응 형 허프만 코딩은 분명히 단순한 것보다 훨씬 낫습니다. 그러나 지금은 단순한 것에 중점을두고 구현을 조금 다르게 만들고 싶습니다. 제안을 주셔서 감사합니다 –