Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… Π² DelphiΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 98

Автор Π”ΠΆΡƒΠ»ΠΈΠ°Π½ Π‘Π°ΠΊΠ½Π΅Π»Π»

if aBit then

FAccum := (FAccum or FMask);

FMask := FMask shl 1;

{/ΠΏΡ€ΠΈ отсутствии свободных Π±ΠΈΡ‚ΠΎΠ² Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ аккумуляторной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π±ΡƒΡ„Π΅Ρ€ ΠΈ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ аккумуляторной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ маски}

if (FMask = 0) then begin

byte(FBuffer[FBufPos]) := FAccum;

inc(FBufPos);

if (FBufPos >= StreamBufferSize) then

obsWriteBuffer;

FAccum := 0;

FMask := 1;

end;

end;


ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° всСгда начинаСтся ΠΏΡ€ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ аккумуляторного Π±Π°ΠΉΡ‚Π° (FAccum) Ρ€Π°Π²Π½ΠΎΠΌ Π½ΡƒΠ»ΡŽ, Π½ΡƒΠΆΠ½ΠΎ всСго лишь Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ эти Π±ΠΈΡ‚Ρ‹ установки, Π° Π½Π΅ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ…. ΠœΡ‹ снова ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ маску (EMask), ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ СдинствСнный Π±ΠΈΡ‚ установки, Π½ΠΎ Π½Π° этот Ρ€Π°Π· Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π±ΠΈΡ‚, послС Ρ‡Π΅Π³ΠΎ выполняСм ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ OR (Π˜Π›Π˜) ΠΌΠ΅ΠΆΠ΄Ρƒ маской ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ аккумуляторной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ сдвигаСм маску Π²Π»Π΅Π²ΠΎ Π½Π° ΠΎΠ΄ΠΈΠ½ Π±ΠΈΡ‚, подготавливая ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±ΠΈΡ‚. Однако Ссли Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ маски Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ, потрСбуСтся ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ аккумуляторный Π±Π°ΠΉΡ‚ Π² Π±ΡƒΡ„Π΅Ρ€Π΅ (записывая Π±ΡƒΡ„Π΅Ρ€ Π² Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, Ссли Π±ΡƒΡ„Π΅Ρ€ ΠΏΠΎΠ»ΠΎΠ½), Π° Π·Π°Ρ‚Π΅ΠΌ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ аккумуляторного Π±Π°ΠΉΡ‚Π° ΠΈ маски.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΎΠ±ΠΎΠΈΡ… классов TtdInputBitStrem ΠΈ TtdOutputBitStrem ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° Web-сайтС ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°, Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ². ПослС Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΎΡ‚Ρ‹Ρ‰ΠΈΡ‚Π΅ срСди Π½ΠΈΡ… Ρ„Π°ΠΉΠ» TDStrms.pas. ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ содСрТит Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ считывания ΠΈ записи Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΠΈΡ‚ΠΎΠ² - Π»ΠΈΠ±ΠΎ восьми Π±ΠΈΡ‚ΠΎΠ² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° (ReadByte ΠΈ WriteByte), Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ числа Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈΠ· массива Π±Π°ΠΉΡ‚ΠΎΠ² (ReadBits ΠΈ WriteBits). Для доступа ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π±ΠΈΡ‚Π°ΠΌ всС эти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡŽ манипуляции Π±ΠΈΡ‚Π°ΠΌΠΈ. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Ρ†ΠΈΠΊΠ»Π΅.

Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ с минимальной ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π² нашСм распоряТСнии имССтся класс ΠΏΠΎΡ‚ΠΎΠΊΠ° Π±ΠΈΡ‚ΠΎΠ², ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ рассмотрСнии Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сТатия ΠΈ восстановлСния Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ с исслСдования Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² кодирования с минимальной ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ, Π° Π·Π°Ρ‚Π΅ΠΌ рассмотрим Π±ΠΎΠ»Π΅Π΅ слоТноС сТатиС с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ словаря.

ΠœΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Ρ‚Ρ€Π΅Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² кодирования с минимальной ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ: ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π¨Π΅Π½Π½ΠΎΠ½Π°-Π€Π°Π½ΠΎ (Shannon-Fano), ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° (Huffman) ΠΈ сТатиС с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ скошСнного Π΄Π΅Ρ€Π΅Π²Π° (splay tree compression), ΠΎΠ΄Π½Π°ΠΊΠΎ рассмотрим Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСдних Π΄Π²ΡƒΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² (Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ кодирования Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π° Π½ΠΈ Π² Ρ‡Π΅ΠΌ Π½Π΅ уступаСт, Π° ΠΊΠΎΠ΅ Π² Ρ‡Π΅ΠΌ Π΄Π°ΠΆΠ΅ прСвосходит Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ кодирования Π¨Π΅Π½Π½ΠΎΠ½Π°-Π€Π°Π½ΠΎ). ΠŸΡ€ΠΈ использовании ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· этих Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΊ Π±Π°ΠΉΡ‚ΠΎΠ², ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ значСниям Π±Π°ΠΉΡ‚ΠΎΠ² Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ способом ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΠΈΡ‚ΠΎΠ².

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π¨Π΅Π½Π½ΠΎΠ½Π°-Π€Π°Π½ΠΎ

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сТатия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ рассмотрим - ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π¨Π΅Π½Π½ΠΎΠ½Π°-Π€Π°Π½ΠΎ, Π½Π°Π·Π²Π°Π½Π½ΠΎΠ΅ Ρ‚Π°ΠΊ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π΄Π²ΡƒΡ… исслСдоватСлСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ этот Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ: Клода Π¨Π΅Π½Π½ΠΎΠ½Π° (Claude Shannon) ΠΈ Π . М. Π€Π°Π½ΠΎ (R. М. Fano). Алгоритм Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π½Π° ΠΈΡ… основС строит Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ минимального кодирования. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ это Π΄Π΅Ρ€Π΅Π²ΠΎ, Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ считываниС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ….

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ сТатиС прСдлоТСния "How much wood could a woodchuck chuck?" ("Бколько Π΄Ρ€ΠΎΠ² ΠΌΠΎΠ³ Π±Ρ‹ Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ дровосСк?") ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ вычислим, сколько Ρ€Π°Π· Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ встрСчаСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ. ЗанСсСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ (см. Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ 11.1).

Π’Π°Π±Π»ΠΈΡ†Π° 11.1. Частота появлСния символов Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ прСдлоТСния

Π‘ΠΈΠΌΠ²ΠΎΠ» - ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ появлСний

ΠŸΡ€ΠΎΠ±Π΅Π» - 6

c - 6

o - 6

u - 4

d - 3

h - 3

w - 3

k - 2

H - 1

a - 1

l - 1

m - 1

? - 1

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π° Π΄Π²Π΅ части, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ‰Π΅Π΅ число появлСний символов Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π²Π½ΡΠ»ΠΎΡΡŒ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ числу появлСний Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ содСрТит 38 символов, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, вСрхняя ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ 19 появлСний символов. Π­Ρ‚ΠΎ просто: достаточно ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ линию ΠΌΠ΅ΠΆΠ΄Ρƒ строкой ΠΎ ΠΈ строкой ΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ этого вСрхняя ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ появлСниС 18 символов, Π° ниТняя - 20. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ 11.2.

Π’Π°Π±Π»ΠΈΡ†Π° 11.2. Начало построСния Π΄Π΅Ρ€Π΅Π²Π° Π¨Π΅Π½Π½ΠΎΠ½Π°-Π€Π°Π½ΠΎ

Π‘ΠΈΠΌΠ²ΠΎΠ» - ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ появлСний

ΠŸΡ€ΠΎΠ±Π΅Π» - 6

c - 6

o - 6

------------------------------------ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ линия 1

u - 4

d - 3

h - 3

w - 3

k - 2

H - 1

a - 1

l - 1

m - 1

? - 1

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π΅ΠΌ Ρ‚ΠΎ ΠΆΠ΅ с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· частСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹: вставим линию ΠΌΠ΅ΠΆΠ΄Ρƒ строками Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΠ· частСй. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ этот процСсс, ΠΏΠΎΠΊΠ° всС Π±ΡƒΠΊΠ²Ρ‹ Π½Π΅ окаТутся Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ΄Π½Π° ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ Π¨Π΅Π½Π½ΠΎΠ½Π°-Π€Π°Π½ΠΎ прСдставлСно Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 11.3.

Π’Π°Π±Π»ΠΈΡ†Π° 11.3. Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ Π¨Π΅Π½Π½ΠΎΠ½Π°-Π€Π°Π½ΠΎ Π‘ΠΈΠΌΠ²ΠΎΠ» ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ появлСний



Π― Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΠ» Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ линия 1 Π±Ρ‹Π»Π° самой Π΄Π»ΠΈΠ½Π½ΠΎΠΉ, Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ линия 2 Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡ€ΠΎΡ‡Π΅ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅, Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ самой ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ 6. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ обусловлСн Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠ΅ Π½Π° 90Β° Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ (Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² этом, ΠΏΠΎΠ²Π΅Ρ€Π½ΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π° 90Β° ΠΏΡ€ΠΎΡ‚ΠΈΠ² часовой стрСлки). Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ линия 1 являСтся ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ ΡƒΠ·Π»ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π°, Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ 2 - двумя Π΅Π³ΠΎ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌΠΈ ΡƒΠ·Π»Π°ΠΌΠΈ ΠΈ Ρ‚.Π΄. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π»ΠΈΡΡ‚ΡŒΡ Π΄Π΅Ρ€Π΅Π²Π°. Π Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рис. 11.1


Рисунок 11.1. Π”Π΅Ρ€Π΅Π²ΠΎ Π¨Π΅Π½Π½ΠΎΠ½Π°-Π€Π°Π½ΠΎ


ВсС это ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ кодирования ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ символа ΠΈ выполнСния сТатия? Π§Ρ‚ΠΎ ΠΆ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ символа ΠΏΡ€ΠΎΠ±Π΅Π»Π°, ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ с ΠΊΠΎΠ½Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ·Π»Π°, пСрСмСщаСмся Π²Π»Π΅Π²ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ снова Π²Π»Π΅Π²ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ символа с, ΠΌΡ‹ смСщаСмся Π²Π»Π΅Π²ΠΎ ΠΈΠ· ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ·Π»Π°, Π·Π°Ρ‚Π΅ΠΌ Π²ΠΏΡ€Π°Π²ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Π»Π΅Π²ΠΎ. Для пСрСмСщСния ΠΊ символу ΠΎ потрСбуСтся ΡΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ Π²Π»Π΅Π²ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄Π²Π° Ρ€Π°Π·Π° Π²ΠΏΡ€Π°Π²ΠΎ. Если ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π²Π»Π΅Π²ΠΎ эквивалСнтно Π½ΡƒΠ»Π΅Π²ΠΎΠΌΡƒ Π±ΠΈΡ‚Ρƒ, Π° Π²ΠΏΡ€Π°Π²ΠΎ - Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΌΡƒ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ кодирования, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 11.4.

Π’Π°Π±Π»ΠΈΡ†Π° 11.4. ΠšΠΎΠ΄Ρ‹ Π¨Π΅Π½Π½ΠΎΠ½Π°-Π€Π°Π½ΠΎ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° прСдлоТСния



БСйчас ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ для всСй Ρ„Ρ€Π°Π·Ρ‹. Он начинаСтся с

11100011110000111110100010101100...

ΠΈ содСрТит всСго 131 Π±ΠΈΡ‚. Если ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ исходная Ρ„Ρ€Π°Π·Π° Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΊΠΎΠ΄ΠΎΠΌ ASCII, Ρ‚.Π΅. ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚ Π½Π° символ, Ρ‚ΠΎ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ Ρ„Ρ€Π°Π·Π° заняла Π±Ρ‹ 256 Π±Π°ΠΉΡ‚, Ρ‚.Π΅. ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ коэффициСнт сТатия 54%.

Для дСкодирования сТатого ΠΏΠΎΡ‚ΠΎΠΊΠ° Π±ΠΈΡ‚ΠΎΠ² ΠΌΡ‹ строим Ρ‚ΠΎ ΠΆΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ построСно Π½Π° этапС сТатия. ΠœΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ с ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΈΠ· сТатого ΠΏΠΎΡ‚ΠΎΠΊΠ° Π±ΠΈΡ‚ΠΎΠ² ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π±ΠΈΡ‚Ρƒ. Если Π±ΠΈΡ‚ являСтся Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ, ΠΌΡ‹ пСрСмСщаСмся Π²Π»Π΅Π²ΠΎ, Ссли Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΌ - Π²ΠΏΡ€Π°Π²ΠΎ. ΠœΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ этот процСсс Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ достигнСм листа, Ρ‚.Π΅. символа, послС Ρ‡Π΅Π³ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ символ Π² ΠΏΠΎΡ‚ΠΎΠΊ восстановлСнных Π΄Π°Π½Π½Ρ‹Ρ…. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ снова Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ процСсс с ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° Π΄Π΅Ρ€Π΅Π²Π° с Ρ†Π΅Π»ΡŒΡŽ извлСчСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π±ΠΈΡ‚Π°. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ символы располоТСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π»ΠΈΡΡ‚ΡŒΡΡ… Π΄Π΅Ρ€Π΅Π²Π°, ΠΊΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа Π½Π΅ ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ символа. Благодаря этому, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сТатых Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. (Π‘ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π»ΠΈΡΡ‚ΡŒΡΡ…, называСтся прСфиксным Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ (prefix tree).)

Однако ΠΏΡ€ΠΈ этом Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ нСбольшая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: ΠΊΠ°ΠΊ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ† ΠΏΠΎΡ‚ΠΎΠΊΠ° Π±ΠΈΡ‚ΠΎΠ²? Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Π²Π½ΡƒΡ‚Ρ€ΠΈ класса ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ восСмь Π±ΠΈΡ‚ΠΎΠ² Π² Π±Π°ΠΉΡ‚, послС Ρ‡Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ запись Π±Π°ΠΉΡ‚Π°. ΠœΠ°Π»ΠΎΠ²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΊ Π±ΠΈΡ‚ΠΎΠ² содСрТал количСство Π±ΠΈΡ‚ΠΎΠ² строго ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ 8. БущСствуСт Π΄Π²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π΄ΠΈΠ»Π΅ΠΌΠΌΡ‹. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ - Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π² исходных Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ Π½Π°Π·Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ символом ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°. Π’Ρ‚ΠΎΡ€ΠΎΠ΅ - Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² сТатый ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π»ΠΈΠ½Ρƒ нСсТатых Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ ΡΠΆΠ°Ρ‚ΠΈΡŽ самих Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚ нас Π½Π°ΠΉΡ‚ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π² исходных Π΄Π°Π½Π½Ρ‹Ρ… символ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ (это ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ этого символа Π² составС сТатых Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ восстановлСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π·Π½Π°Π»Π°, Ρ‡Ρ‚ΠΎ слСдуСт ΠΈΡΠΊΠ°Ρ‚ΡŒ). Или ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ хотя символы Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ€Π°Π²Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π°, символ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ, Ρ€Π°Π²Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ слова (ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 256). Однако ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. ΠŸΠ΅Ρ€Π΅Π΄ сТатыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ нСсТатых Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²ΠΎ врСмя восстановлСния Π±ΡƒΠ΄Π΅Ρ‚ Π² точности извСстно, сколько символов Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° примСнСния кодирования Π¨Π΅Π½Π½ΠΎΠ½Π°-Π€Π°Π½ΠΎ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Π»ΠΈ внимания, связана с Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ сТатиС Π΄Π°Π½Π½Ρ‹Ρ… выполняСтся Π² цСлях экономии объСма памяти ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, сТатиС ΠΈ восстановлСниС Π΄Π°Π½Π½Ρ‹Ρ… разнСсСно Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ пространствС. Однако Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ восстановлСния Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования Π΄Π΅Ρ€Π΅Π²Π°. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ. Нам доступны Π΄Π²Π΅ возмоТности. ΠŸΠ΅Ρ€Π²Π°Ρ - ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ статичСским. Π˜Π½Π°Ρ‡Π΅ говоря, ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для сТатия всСх Π΄Π°Π½Π½Ρ‹Ρ…. Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ сТатиС Π±ΡƒΠ΄Π΅Ρ‚ достаточно ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ, для Π΄Ρ€ΡƒΠ³ΠΈΡ… - вСсьма Π΄Π°Π»Π΅ΠΊΠΈΠΌ ΠΎΡ‚ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ³ΠΎ. Вторая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ способом ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ само Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΊ сТатому ΠΏΠΎΡ‚ΠΎΠΊΡƒ Π±ΠΈΡ‚ΠΎΠ². ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, присоСдинСниС Π΄Π΅Ρ€Π΅Π²Π° ΠΊ сТатым Π΄Π°Π½Π½Ρ‹ΠΌ Π²Π΅Π΄Π΅Ρ‚ ΠΊ сниТСнию коэффициСнта сТатия, Π½ΠΎ с этим Π½ΠΈΡ‡Π΅Π³ΠΎ нСльзя ΠΏΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ. ВскорС, ΠΏΡ€ΠΈ рассмотрСнии ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° сТатия, ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΊ сТатым Π΄Π°Π½Π½Ρ‹ΠΌ.