
[알고리즘] 허프만 코드란?
·
공부
✅Huffman code 데이터를 압축하는 알고리즘이다. 데이터의 각 글자 빈도수를 알고 있을 경우 데이터를 압축하는 데 효과적이다. 예를 들어 e : 15번 | t : 12번 | n : 8번 | i : 6번 | s : 4번 의 빈도로 나타난 데이터가 있다고 해보자. 이 데이터를 압축하고자 하는 것이 우리의 목적이며 이를 위해 허프만 트리를 사용할 것이다. 1️⃣ 빈도수가 작은 것부터 차례대로 정렬한다. s : 4번 | i : 6번 | n : 8번 | t : 12번 | e : 15번 2️⃣ 빈도가 가장 작은 것부터 모아 트리로 엮는다. 부모노드는 각 노드의 빈도수를 합친 수다. 3️⃣ 부모노드의 값보다 작은 것이 있을 경우 그 부모노드와 작은 값의 노드를 연결, 다시 두 값을 합친 트리를 만든다. 이때 ..