Найти Π² Π”Π·Π΅Π½Π΅

πŸ’› БСгодня ΠΌΡ‹ расскаТСм Π²Π°ΠΌ ΠΏΡ€ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сТатия.

ВсС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… класса:
πŸ’›ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сТатия Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΡŒ;
πŸ’›ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сТатия с потСрями.

БСйчас обсудим Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сТатия Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΡŒ ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· самых простых Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² - RLE.

Алгоритм RLE (Run-Length Encoding) - это простой ΠΌΠ΅Ρ‚ΠΎΠ΄ сТатия Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ изобраТСния.

πŸ’›ΠžΠ½ основываСтся Π½Π° ΠΈΠ΄Π΅Π΅ кодирования ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ контСкстС сТатия ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ RLE замСняСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Π΅ значСния ΠΈΠ»ΠΈ Ρ†Π²Π΅Ρ‚Π° Π½Π° ΠΏΠ°Ρ€Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:
число ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ ΠΈ само Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ RLE, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ πŸ’›
Допустим, Ρƒ нас Ρ‡Π΅Ρ€Π½ΠΎ-бСлая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°, которая описана ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ - 0000111100001111
(0 - Π±Π΅Π»Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚, 1 - Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ)

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это ΠΊΠ°ΠΊ 04 14 04 14
(Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ нуля, Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹, Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ нуля, Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹)

Π˜Ρ‚ΠΎΠ³ΠΎ, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΌΡ‹ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΈ 16 Π±ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π° послС кодирования - 11 Π±ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (считая ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹). ΠšΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ сТатия 16 / 11 = 1.45.

Π”Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ с ΠΎΠ΄Π½ΠΎΡ‚ΠΎΠ½Π½Ρ‹ΠΌ Ρ„ΠΎΠ½ΠΎΠΌ πŸ’›
πŸ’› БСгодня ΠΌΡ‹ расскаТСм Π²Π°ΠΌ ΠΏΡ€ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сТатия. ВсС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… класса: πŸ’›ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сТатия Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΡŒ; πŸ’›ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сТатия с потСрями.
Около ΠΌΠΈΠ½ΡƒΡ‚Ρ‹