컴퓨터, 정보 기술
허프만 코드 : 예제 응용 프로그램
지금이 순간, 몇 사람은 파일 압축을 수행하는 방법을 사실에 대해 생각합니다. PC의 이전 사용에 비해 훨씬 쉽게되었다. 그리고 거의 모든 사람이 작업을 사용하여 파일 시스템을 사용하는 파일입니다. 그러나 몇몇 사람들은 작동 방법과 파일 압축 무엇 기초에 생각합니다. 이 프로세스의 첫 번째 버전은 허프만 코드 있었고, 그들은 인기 등록 아카이브의 다양한 오늘날 사용됩니다. 대부분의 사용자들은 파일 압축이 발생하고 그것이 방식에 노력하고 있습니다 얼마나 쉽게 생각하지 않습니다. 이 문서에서 우리는 압축 도움이 속도를 위로 뉘앙스 무엇을 얼마나보고 인코딩하는 과정을 단순화뿐만 아니라, 어떤 트리 코딩의 원리를 참조하십시오.
역사 알고리즘
맨 처음 알고리즘의 효율적인 코딩의 전자 정보했다가 될 코드 허프만 제안 빠르면 중앙의 20 세기, 즉 1952. 이 순간에 정보를 압축하기 위해 만든 프로그램의 대부분의 기본 요소 인 사람 그는이었다. 지금이 순간,이 코드를 사용하여 가장 인기있는 소스 중 하나는 아카이브 ZIP, ARJ, RAR 및 많은 다른 사람이다.
효율적인 코딩의 원리
허프만을 기반으로 알고리즘은 가장 신뢰할 수있는, 가장 자주 발생하는 기호를 대체 할 수있는 방식을 포함 바이너리 코딩 시스템을. 그리고 덜 일반적인 사람들은 더 이상 코드로 대체. 긴 허프만 코드를가는 것은 시스템이 모든 최소 값을 사용 후에 만 발생합니다. 이 기술은 전체 원본 메시지의 각 기호에 대한 코드의 길이를 최소화 할 수 있습니다.
허프만 코드 예
알고리즘을 설명하기 위해 코드 트리의 구조를 그래픽으로 변형을 고려한다. 효과적이기 위하여이 방법을 사용하기 위해, 공정의 개념을 위해 필요한 소정의 값의 정의를 명확히 할 필요가있다. 한 노드에서 다른 노드로 지향되는 노드 및 아크, 상기 복수의 세트는, 호출 그래프. 나무 자체가 특정 속성의 세트로 그래프이다 :
- 각 노드에서의 아크보다 더를 포함 할 수 없다;
- 노드 중 하나, 즉, 모든에서 아크의 일부가 안 트리의 루트이어야합니다
- 줄기는 호를 따라 이동 시작하면, 프로세스는 노드의 완전히 얻을 수 있도록해야한다.
트리 허프만를 구성하는 알고리즘
허프만 코드의 구조는 알파벳의 편지에서 입력합니다. 미래 코드 트리에서 무료 사이트 목록이 생성됩니다. 리스트의 각 노드의 무게는이 노드에 대응하는 문자 포스트의 발생 확률과 동일해야한다. 이 경우, 최소 무게 하나는 미래 나무의 여러 무료 사이트 중에서 선택된다. 최소 요금이 여러 사이트에서 관찰하는 경우이 경우, 당신은 자유롭게 쌍 중 하나를 선택할 수 있습니다.
압축의 효율성을 향상
압축 효율을 높이기 위해서는 나무에 부착 된 특정 파일에있는 문자의 발생 확률에 모든 데이터를 사용하고, 그들이 텍스트 문서의 큰 숫자에 흩어져 있다는 사실을 허용하지 나무 건물 코드 동안 필요합니다. 이 파일을 통해 사전 도보, 즉시 방법의 통계를 계산할 수있는 경우 자주 압축 시설 제목의 문자가 있습니다.
가속의 압축 과정
알고리즘 속도를 높이기 위해 문자의 정의는 특정 문자의 발생 확률, 그 발생 빈도의 측면에서하지 수행해야합니다. 이 알고리즘은 쉽게되고, 훨씬 더 빨리 그들과 함께 작업과 함께. 또한 부동 소수점 부문과 관련된 작업을 피할 수 있습니다.
결론
허프만 코드 - 여전히 많은 잘 알려진 프로그램과 기업에서 사용하는 간단하고 전통 알고리즘. 그것의 간단 명료은 효과적인 결과가 어떤 볼륨의 파일을 압축 크게 디스크 스토리지의 공간을 줄일 달성 할 수있다. 즉, 허프만 알고리즘 - 긴 조사되었으며, 이는 긴급 작업도 일이 감소되지 않는다.
Similar articles
Trending Now