728x90

Lossless 2

[C++] Adaptive Huffman Coding(적응형 허프만 코딩)

안녕하십니까, 힘법사입니다. 이번 글은 적응형 허프만 코딩에 대한 글입니다. 직접 게시물과 마찬가지로 제가 보고서를 작성하면서 만든 코드와 보고서 내용을 통해 게시물을 작성했습니다! 해당 내용은 굉장히 이론 자체는 쉬웠는데 솔직히 구현하는데 8시간 정도 들만큼 조금 애를 먹은 것 같습니다... 하지만 어떻게든 만들어 내니 뿌듯하네요 ㅎㅎ 아쉬운 점은 Node 구조체에 제가 탐색의 편의를 위해서 부모 노드의 주소를 가지고 있는 포인터 변수를 하나 넣었는데 이거 말고 노드의 번호를 넣어서 구현했으면 어떗을까 조금 아쉽네요(유튜브를 보니 전부 노드의 번호를 이용해주더라고요) 먼저 코드 주소부터 올리겠습니다. 파일은 간단하게 헤더파일 하나가 올라가있습니다. 2017103030/Adaptive-Huffman-Co..

C && C++ 2021.11.10

[C++] Arithmetic Coding(산술 부호화)

안녕하세요 힘법사입니다. 오늘은 제가 Arithmetic Coding에 대해서 대학 강의를 들으면서 이를 C++로 구현해보면 재미있을 것 같아 만든 해당 내용에 대해서 공유하겠습니다. Arithmetic coding Arithmetic coding은 전체 메시지를 하나의 유닛으로 취급할 수 있게 해 줍니다. 정확히는 실수 하나로 전체 메시지를 나타낼 수 있게 해 줍니다. 그리고 압축 시 손실이 없는 Lossless 방식입니다. 해당 게시물에서는 Encoding만 다룰 것이고 제가 시간이 허락한다면 Decoding도 만들어 보겠습니다. step1 우선 사전에 심볼들에 대해서 확률을 알고 있어야 합니다. 제가 예를 들어보겠습니다. 저는 심볼 A B 그리고 C의 조합으로 메시지를 전송하고자 합니다. 이때 A의..

C && C++ 2021.10.12
728x90