Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Исключение повторения строк в последующих строках

Сжатие информации

Сжатие информации представляет собой операцию, в результате которой данному коду или сообщению ставится в соответствие белее короткий код или сообщение.

Сжатие информации имеет целью - ускорение и удешевление процессов механизированной обработки, хранения и поиска информации, экономия памяти ЭВМ.

Метод основан на том, что в сжатых массивах повторяющиеся элементы старших разрядов заменяются некоторым условным символом.

Очень часто обрабатываемая информация бывает представленной в виде набора однородных массивов, в которых элементы столбцов или строк массивов расположены в нарастающем порядке. Если считать старшими разряды, расположенные левее данного элемента, а младшими - расположенными правее, то можно заметить, что во многих случаях строки матриц отличаются друг от друга в младших разрядах. Если при записи каждого последующего элемента массива отбрасывать все повторяющиеся в предыдущем элементы, например в строке стоящие подряд элементы старших разрядов, то массивы могут быть сокращены от 2 до 10 и более разрядов.

1) Для учета выброшенных разрядов вводится знак раздела r, который позволяет отделить элементы в свернутом массиве. В случае полного повторения строк записываются соответствующее количество r. При развертке вместо знака r восстанавливаются все пропущенные разряды, которые были до элемента, стоящего непосредственно за r в сжатом тексте.

Для примера рассмотрим следующий массив:

9 5 7 0 1 2 4

9 5 7 0 1 2 5

9 5 7 0 3 8 6

9 5 7 0 3 9 0

1 2 3 4 5 6 7

1 2 3 4 5 9 1

1 2 3 4 5 9 3

Свернутый массив будет иметь вид:

9 5 7 0 1 2 4

r 5 r 3 8 6 r

9 0 1 2 3 4 5

6 7 r 9 1 r 3

Расшифровка (развертывание) происходит с конца массива. Переход на следующую строку происходит по двум условиям: либо по заполнению строки, либо при встрече r:

9 5 7 0 1 2 4

...... 5

.... 3 8 6

..... 9 0

1 2 3 4 5 6 7

..... 9 1

...... 3

Пропущенные цифры заполняются автоматически по аналогичным разрядам предыдущей строки. Заполнение производится сначала массива.

2). Этот метод можно развить и для свертывания массивов, в которых повторяющиеся разряды встречаются не только с начала строки. Если в строке один повторяющийся участок, то кроме r добавляется еще один дополнительный символ К, означающий конец строки массива. Расшифровка ведется от К до К. Длина строки известна. Нужно, чтобы оставшиеся между К цифры вместе с пропущенными разрядами составляли полную строку. При этом нам все равно, в каком месте строки выбрасывать повторяющиеся разряды, лишь бы в строке было не долее одного участка с повторяющимися разрядами.

Пример.

Исходный массив Свернутый массив

1 2 3 4 5 6 7 1 2 3 4 5 6 7

1 2 1 3 4 8 6 К r 8 6 К 2 1

2 1 3 4 5 2 4 r 2 4 К r 9 К

2 1 3 4 5 2 9 4 2 9 r К r К

4 2 9 4 5 2 9 r К 5 r 1 К

4 2 9 4 5 2 9

4 2 9 4 5 2 9

5 2 9 4 5 2 1

Если в строке есть два повторяющихся участка, то, используя этот метод, выбрасываем больший

Процесс развертывания массива осуществляется следующим образом: переход на следующую строку происходит при встрече К

1 2 3 4 5 6 7

..... 8 6

2 1... 2 4

4 2 9....

.......

.......

5..... 1

Пропущенные цифры заполняются по аналогичным разрядам предыдущей строки, начиная с конца массива.

3). Если в строке массива несколько повторяющихся участков, то можно вместо r вставлять специальные символы, указывающие на необходимое число пропусков.

Например, если обозначить количество пропусков, соответственно X - 2, Z - 3, Y - 5, то исходный и свернутый массивы будут иметь вид

Исходный массив Свернутый массив

1 9 7 1 1 3 7 4 3 0 1 9 7 1 1 3 7 4 3 0

1 9 7 1 1 3 7 4 3 1 Z X X 1 Z XX 2 Y2

1 9 7 1 1 3 7 4 3 2 Y X 0 Z X X1 ZXX

1 9 7 2 1 3 7 4 3 0 2

1 9 7 2 1 3 7 4 3 1

1 9 7 2 1 3 7 4 3 2

Процесс развертывания массива осуществляется следующими образом: длина строки известна, количество пропусков определяется символами Х, Y, Z:

1 9 7 2 1 3 7 4 3 0

......... 1

......... 2

... 2..... 0

......... 1

......... 2

Пропущенные цифры заполняются по аналогичным разрядам предыдущей строки. Условием перехода на следующую строку является заполнение предыдущей строки.

<== предыдущая лекция | следующая лекция ==>
Циклические коды, исправляющие две и большее количество ошибок, | Основные требования к алгоритмам
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 347; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.07 сек.