Page 122 - 4496
P. 122
Після цього порожні місця кожного нижнього рядка
замінюються відповідними розрядами верхнього рядка. Цей
процес здійснюють від початку масиву.
Використання розділових знаків повторень та кінця
рядка. Недоліком розглянутого методу є те, що він придатний
для стиснення тільки тих попередньо впорядкованих масивів,
в яких повторювані розряди зустрічаються в початку рядка.
Модифікація цього методу зв’язана з використанням ще
одного розділового знака “$”, що означає кінець рядка. Це
дозволяє згортати масиви, в яких повторювані розряди
зустрічаються не тільки у початку рядка. Але при цьому у
рядку повинна бути лише одна повторювана ділянка.
Розгортання виконується від одного знака “$” до наступного в
будь-якому напрямі. Довжини рядків, як і раніше, мають бути
однаковими.
Наприклад, при n=7:
1 2 3 4 5 6 7
1 2 3 4 5 8 6
2 1 3 4 5 2 4
3 1 3 4 5 2 9
4 2 9 4 5 2 9
4 2 9 4 5 2 9
5 2 9 4 5 2 9
Стиснутий текст має вигляд:
1 2 3 4 5 6 7 $ # 8 6 $ 2 1 # 2 4 $ 3 # 9 $ 4 2 9 # $ # $ 5 # $
Використання символів для вказівки кількості
повторень. Недоліком розглянутого варіанту методу є те, що
в рядку можна відзначити лише одну повторювану ділянку.
Якщо в рядках масиву повторювані ділянки зустрічаються
неодноразово, то замість розділових знаків “#” і “$”
використовують допоміжні символи, кожний з яких позначає
певну кількість пропусків за системою 1-2-4, наприклад: A - 1,
B - 2, C - 4, D - 8 і т.д. Довжина рядка, як і раніше, має бути
відомою. Наприклад, при n=12:
1 2 3 4 5 6 7 9 8 7 6 5
1 2 3 4 5 8 6 9 8 7 6 1
2 1 3 4 5 2 4 9 8 7 6 1
3 1 3 4 5 2 9 3 8 7 6 1
4 2 9 4 5 2 9 3 8 7 6 0
4 2 9 4 5 2 9 3 8 7 6 0
119