5,‘о’|13,‘о’|0,‘д’|0,‘и’

При декодировании данной строки словарь формируется динамически. Из входных данных считываются пары <номер фразы-начала из словаря, завершающий символ>, в выходные данные дописывается конкатенация этих двух элементов. Так например, пусть в качестве входных данных получен набор кодов: <0,‘п’><1,‘р’>. Считываем первый код - <0,‘п’>, поскольку номер фразы-начала из словаря 0, что соответствует пустой строке, после конкатенации в словарь под номером 1 добавляется фраза ‘п’. Считываем очередной код‑<1,‘р’>. В нем номер фразы-начала из словаря равен 1, что соответствует фразе ‘п’, в словарь под номером 2 мы добавляем конкатенацию этой фразы и символа ‘р’ – фразу ‘пр’

Фрагмент закодированной строки

Трактовка кода

Фраза, добавляемая в словарь

Раскодированная строка

<0,‘п’>

-

1

-

‘п’

‘п’

<0,‘р’>

-

2

-

‘р’

‘пр’

<0,‘о’>

-

3

-

‘о’

‘про’

<0,‘ ’>

-

4

-

‘ ’

‘про ’

<1,‘р’>

1→п:п+р

5

-

‘пр’

‘про пр’

<3,‘в’>

3→о:о+в

6

-

‘ов’

‘про пров’

<0,‘е’>

-

7

-

‘е’

‘про прове’

<2,‘к’>

2→р:р+к

8

-

‘рк’

‘про проверк’

<0,‘у’>

-

9

-

‘у’

‘про проверку’

<4,‘и’>

4→ : +и

10

-

‘ и’

‘про проверку и’

<4,‘п’>

4→ : +п

11

-

‘ п’

‘про проверку и п’

<2,‘о’>

2→р:р+о

12

-

‘ро’

‘про проверку и про’

<0,‘в’>

-

13

-

‘в’

‘про проверку и пров’

<7,‘д’>

7→е:е+д

14

-

‘ед’

‘про проверку и провед’

<7,‘н’>

7→е:е+н

15

-

‘ен’

‘про проверку и проведен’

<0,‘и’>

-

16

-

‘и’

‘про проверку и проеведени’

<7,‘ ’>

7→е:е+

17

-

‘е ’

‘про проверку и проведение ’

<5,‘о’>

5→пр:пр+о

18

-

‘про’

‘про проверку и проведение про’

<13,‘о’>

13→в:в+о

19

-

‘во’

‘про проверку и проведение прово’

<0,‘д’>

-

20

-

‘д’

‘про проверку и проведение провод’

<0,‘к’>

-

21

-

‘к’

‘про проверку и проведение проводк’

<0,‘и’>

-

22

-

‘и’

‘про проверку и проведение проводки’


ВАРИАНТ 4.6 АЛГОРИТМ ЛЕМПЕЛА – ЗИВА – ВЕЛЧА
(LEMPEL – ZIV – Welch), LZW

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12