다음 그림의 허프만 트리를 이용하여 인코딩한 일부 데이터의 코드를 문자… | [7급 국가직 알고리즘] 24년 1회차 기출문제 상세 페이지
1[7급 국가직 알고리즘] 24년 1회차
다음 그림의 허프만 트리를 이용하여 인코딩한 일부 데이터의 코드를 문자열로 디코딩한 것은? (단, 노드의 왼쪽 자식 연결 간선에는 0, 오른쪽 자식 연결 간선에는 1이 부여된다)
압축 데이터 코드
0 0 1 0 1 1 1 0 1 1 0 0 0 1
1
abbedcb
2
abcde
3
adebcb
4
adebd
해설
압축 코드를 디코딩한 문자열은 adebcb이다.
트리에서 왼쪽 0, 오른쪽 1을 따라가면 a=00, b=01, c=100, d=101, e=11이다. 허프만 코드는 접두어 코드이므로 앞에서부터 리프에 닿을 때마다 끊어 읽는다.
00 | 101 | 11 | 01 | 100 | 01 로 나누면 a, d, e, b, c, b가 된다.
- abbedcb: 둘째 문자를 01로 읽었으나 실제 둘째 묶음은 101(d)이다.
- abcde: 각 문자 코드를 순서대로 이으면 00 01 100 101 11이 되어 주어진 코드와 다르다.
- adebd: 다섯째 묶음 100은 d가 아니라 c이고, 마지막 01(b)이 빠졌다.
오류나 개정된 내용이 보이면 알려주세요
