[알고리즘] 허프만 압축 알고리즘 (Huffman Coding Algorithm)
허프만 압축 알고리즘 (Huffman Coding Algorithm)은 문자열을 문자 단위로 쪼개 빈도수를 세어 ㉮ 빈도가 높은 정보는 적은 비트 수를 사용하여 표현하고, ㉯ 빈도가 낮은 정보는 비트 수를 많이 사용하여 표현해서 전체 데이터의 표현에 필요한 비트의 양을 줄이는 원리의 알고리즘입니다.
허프만 압축 알고리즘의 원리는 아래와 같습니다.
- 문자열을 문자 단위로 빈도수에 따라 모두 나열합니다.
- 단 한가지의 문자가 남을 때까지 아래의 작업을 반복합니다.
- 나열 된 문자들로부터 가장 빈도가 낮은 것을 2가지 선택합니다.
- 두 문자의 빈도수의 합을 부모 노드로 지정하고 문자를 자식 노드로 생성합니다.
- 선택 된 두 노드를 트리에서 제거하고, 새로운 부모 노드를 트리에 추가합니다.
허프만 압축 알고리즘은 이미지, 음악, 파일 압축 및 통신 등에서 사용하여 데이터 효율성을 높이는데 자주 사용되고 있습니다.
🚀 REFERENCE
허프만 알고리즘
팩시밀리 전송이나 편집기 압축에 사용되는 부호화 방식의 일종. 압축 단위마다 문자의 출현 빈도를 조사하여 빈도가 높은 순서대로 비트 수가 적은 부호를 부여함으로써 데이터를 압축하는 방
terms.naver.com
허프먼 부호화 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 전산학과 정보이론에서 허프먼 부호화(Huffman coding)는 무손실 압축에 쓰이는 엔트로피 부호화의 일종으로, 데이터 문자의 등장 빈도에 따라서 다른 길이의 부호
ko.wikipedia.org
Huffman Coding | Greedy Algo-3 - GeeksforGeeks
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
www.geeksforgeeks.org
탐욕 알고리즘과 허프만 코딩 구현 방법 | 요즘IT
탐욕 알고리즘(Greedy Algorithm)은 각 단계에서 최적의 해결책을 선택하여 복잡한 문제를 간단하고 빠르게 해결하는 알고리즘을 말합니다. 이번 글에서는 탐욕 알고리즘의 기본 개념과 작동 원리를
yozm.wishket.com