ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Декодирование. НачалоНачало. Шаг 1. Все возможные символы заносятся в словарь. Во входную фразу X заносится первый код декодируемого сообщения. Шаг 2. Считать очередной код Y из сообщения. Шаг 3. Если Y — это конец сообщения, то выдать символ, соответствующий коду X, иначе: Если фразы под кодом XY нет в словаре, вывести фразу, соответствующую коду X, а фразу с кодом XY занести в словарь. Иначе присвоить входной фразе код XY и перейти к Шагу 2. Конец. Рассмотрим пример сжатия и декодирования сообщения "abacababababacabae". D[0]=” ” Шаг 1: читаем первый символ сообщения “a”, если в словаре символа “a” - нет, добавляем в словарь d[1]=”a”, а в сжатый файл добавляем (0, a) Шаг 2: читаем следующий символ "b" и проверяем, есть ли строка “b” в словаре – нет, добавляем в словарь “b” (d[2]=”b”), а в сжатый файл добавляем (0, b) Шаг 3: читаем“a” — есть в словаре (d[1]), добавляем символ из строки ”c”, ищем “ac” – нет в словаре, добавляем в словарь “ас” (d[3]=”ac”), в сжатый файл добавляем (1,с) Шаг 4: следующий символ из строки “a”- есть в словаре (d[1]), читаем следующий символ из строки “b”, ”ab” нет в словаре, добавляем в словарь d[4]=”ab”, в сжатый файл записываем (1,b) Шаг 5: “ab” — есть в словаре, добавляем символ из строки, “aba” нет в словаре, добавляем в словарь d[5]=” aba”, в сжатый файл (4, a) Шаг 6: d[6]=”ba”, в сжатый файл (2, а) Шаг 7: d[7]=”bac”, в сжатфй файл (6,с) Шаг 8: d[8]=“abaе”, в сжатый файл (5,е) Итак, мы получаем закодированное сообщение "0,a; 0,b; 1,c; 1,b; 4,a; 2,a; 6,c; 5,е". Декодирование Шаг 1. Считать очередной код Y из сообщения. Шаг 2. Если Y — это конец сообщения, то выдать символ, соответствующий коду X, иначе: Если фразы под кодом XY нет в словаре, вывести фразу, соответствующую коду X, а фразу с кодом XY занести в словарь. Иначе присвоить входной фразе код XY и перейти к Шагу 2. Декодируем рассмотренный пример: "0,a; 0,b; 1,c; 1,b; 4,a; 2,a; 6,c; 5,е". D[0]=”” Шаг1. D[1]= D[0]+”a”=”a” Шаг2. D[2]=D[0]+”b”=”b” Шаг3. D[3]=D[1]+”c”=”ac” Шаг4. D[5]=D[1]+”b”=”ab” Шаг5. D[6]=D[4]+”a”=”aba” Шаг6. D[7]=D[2]+”a”=”ba” Шаг7. D[8]=D[6]+”c”=”bac” Шаг8. D[9]=D[5]+”е”=”abaе” D[1]+D[2]+D[3]+D[4]+D[5]+D[6]+D[7]+D[8]+D[9]= abacababababacaba Не нашли, что искали? Воспользуйтесь поиском:
|