КАТЕГОРИИ: Архитектура-(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; Просмотров: 366; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |