2017-10-25 10 views
0

저는 압축기에 대해 배우기 시작했습니다. 일반적인 압축기에 대한 기본 개념은 사전에 비슷한 항목을 도입하여 전체 크기를 줄이는 것입니다. 단어와 예는 다음과 같습니다....동등한 항목이 없을 경우 압축기가 작동합니까?

"나는 overflow.I 스택 오버 플로우입니다 스택에서 오전 나는 스택에 오버 플로우 나는 내가 스택 오버 플로우에서 오전 안녕하세요 스택 오버 플로우에서 오전 내가 을입니다. 스택 오버플로가 발생했습니다. 스택 오버플로가 발생했습니다. 스택 오버플로가 발생했습니다. 안녕히 주무십시오. "

그래서 사전에 우리는 거라고 :

를 : "나는 스택 오버 플로우입니다." 더 유사한 항목이없는 경우

AAAAHello.AAAABye.

는 압축기 크기를 줄일 것인가? 아니면 유사한 항목이 없어도 가능합니까?

답변

1

예, 반복되는 문자열이 없어도 기호가 불규칙한 빈도로 나타나는 한 텍스트를 무손실로 압축 할 수 있습니다. 예를 들어, 가능한 256 바이트 중 36 개만이 메시지에서 사용되면, 그 크기의 65 %로 압축 될 수 있습니다.

물론 반복되는 문자열이 없어도됩니다.

+0

문자열은 압축기의 작동 원리를 설명하는 "방법"일뿐입니다. 그래서 나는 요소들로 묻습니다. 가능한가? 아니면 상상해보십시오 : "abcdefghijklmnopqrstuvwxyz"는 압축 할 수 없습니까? 그것이 내가 말하는 더 큰 "개념"입니다. –

+1

그 26 문자는 코드 설명의 오버 헤드로 인해 일반 압축기가 압축 할 문자열이 너무 짧습니다. 그러나 소문자의 모든 시퀀스를 원래 크기의 59 %로 압축하는 소문자 용 압축기 만 작성할 수 있습니다. 소문자의 긴 시퀀스. 예 : 반복되는 문자열이없는 여러 K 바이트는 범용 압축기로 거의 같은 정도로 압축됩니다. –