허프만 코딩 & 유클리드 호제법
·
알고리즘(코딩테스트)
코딩테스트 문제를 풀다가 해당 알고리즘들이 떠올라서, 정리해보기로 하였다.1. 허프만 코딩허프만 코딩이란데이터 압축 알고리즘 중 하나인데, 문자의 등장 빈도를 기준으로 인코딩 하는 기술이다.간단히 과정을 설명하자면, 우선순위 큐를 이용하여 문자를 빈도에 따라 정렬하고최소 빈도의 두 노드를 합쳐 새로운 노드를 구성하는 방식을 반복하게 된다.가장 이해하기 쉬운 그림을 가져오면, 아래와 유사하다아래 그림에서 각 숫자는 빈도수를 뜻한다.빈도수대로 정렬한 후, 최소 빈도의 수를 더하는 과정을 반복하는 모습을 볼 수 있다.간단한 예시 문제를 풀어보자 (백준 1715 https://www.acmicpc.net/problem/1715)이 문제의 알고리즘 분류가 우선순위큐와 그리디 알고리즘이다. 즉 허프만 코딩이 우선순..