허프만 코딩

MINKY·2024년 1월 6일
0

CS스터디

목록 보기
4/7

입력 파일의 문자 빈도 수를 가지고 최소 힙을 이용하여 파일을 압축하는 과정이다.
자주 나오는 문자에는 짧은 비트를, 조금 나오는 문자에는 긴 비트 할당

방법

  1. 압축할 파일을 스캔하여 각 문자의 빈도 수 계산
  2. 빈도 수를 우선순위로 최소힙 생성
  3. 빈도 수가 가장 작은 두 노드들을 뽑아내 트리를 만든다.
  4. 트리를 최소 힙에 삽입
  5. 노드가 하나가 남을 때 까지 반복한다.
  6. 부모의 왼쪽에는 0, 오른쪽에는 1을 정한다.
  7. 완성!

공간을 절약할 수 있다!

참고

https://velog.io/@junhok82/%ED%97%88%ED%94%84%EB%A7%8C-%EC%BD%94%EB%94%A9Huffman-coding
https://wisdomtic.cf/84

0개의 댓글