Форум программистов, компьютерный форум CyberForum.ru

шифрование и кодирование - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Двумерные массивы, надо написать программу по целочисленной прямоугольной матрице http://www.cyberforum.ru/cpp-beginners/thread86534.html
Дана целочисленная прямоугольная матрица. Определить: 1) количество строк, не содержащих ни одного нулевого элемента; 2) максимальное из чисел, встречающихся в заданной матрице более одного раза Добавлено через 57 секунд нужно очень срочно бы
C++ Матрици!!! Почему не вводится 5 строка матрици и невыводится сумма? Задана матрица квадратная А действительных чисел. Найти сумму элементов тех строк матрици, в которых элемент главной диагонали отрицательный. #include "stdafx.h" #include "iostream" #include "conio.h" const int column=5; const int row=5; using namespace std; int main() {int array ; http://www.cyberforum.ru/cpp-beginners/thread86531.html
C++ считать из файла и определить является прочитанное числом
Здравствуйте. В общем нужно произвести чтение из файла и определить является ли прочитанное числом в общем случае и целым в частности. погуглив наткнулся на функцию isdigit с помощью которой это можно сделать, но не работает. А как определить целое или нет даже не знаю. #include<iostream.h> #include <stdio.h> #include <stdlib.h> #include<windows.h> #include<ctype.h> int main () { ...
C++ Дан массив Х(215), найти среди его элементов два элемента...
Не знаю что писать во втором цикле!Дан массив Х(215), найти среди его элементов два элемента, модуль разности которых имеет наименьшее значение.
C++ Интегрирование методом Монте-Карло http://www.cyberforum.ru/cpp-beginners/thread86510.html
Доброго времени суток всем, пожалуйста, помогите мне с задачей, ибо лекции по этой теме не читали, а сделать нужно; Задание: написать программу, вычисляющую интеграл http://s001.***********/i196/1001/c2/0110d73f1289.bmp на интервале методом Монте-Карло. По сути: мы ограничиваем нашу функцию на графике прямоугольником, забиваем случайными точками, и считам площадь по тем точкам, которые попали...
C++ Файлы Написать прогу которая копирует инфу с одного файла в другой Функция для певрого файла. int *a,i; a=new int ; ofstream fin("File_1.txt"); for (i=0;i<n1;i++) { cin>>a; fin<<" "<<a; } подробнее

Показать сообщение отдельно
Vladimir_Limaki
1 / 1 / 0
Регистрация: 02.01.2010
Сообщений: 39
16.01.2010, 21:06  [ТС]     шифрование и кодирование
Цитата Сообщение от Bloodykeeper Посмотреть сообщение
можно было бы и поточнее сформулировать.
Алгоритм LZ77 был опубликован в 1977 г. Разработан израильскими математиками Якобом Зивом (Ziv) и Авраамом Лемпелом (Lempel). Многие программы сжатия информации используют ту или иную модификацию LZ77. Одной из причин популярности алгоритмов LZ является их исключительная простота при высокой эффективности сжатия.
Основная идея LZ77 состоит в том, что второе и последующие вхождения некоторой строки символов в сообщении заменяются ссылками на ее первое вхождение.
LZ77 использует уже просмотренную часть сообщения как словарь. Чтобы добиться сжатия, он пытается заменить очередной фрагмент сообщения на указатель в содержимое словаря.
LZ77 использует "скользящее" по сообщению окно, разделенное на две неравные части. Первая, большая по размеру, включает уже просмотренную часть сообщения. Вторая, намного меньшая, является буфером, содержащим еще незакодированные символы входного потока. Обычно размер окна составляет несколько килобайт, а размер буфера - не более ста байт. Алгоритм пытается найти в словаре (большей части окна) фрагмент, совпадающий с содержимым буфера.
Алгоритм LZ77 выдает коды, состоящие из трех элементов:
• смещение в словаре относительно его начала подстроки, совпадающей с началом содержимого буфера;
• длина этой подстроки;
• первый символ буфера, следующий за подстрокой.
Декодирование кодов LZ77 проще их получения, т.к. не нужно осуществлять поиск в словаре.
Недостатки LZ77:
• с ростом размеров словаря скорость работы алгоритма-кодера пропорционально замедляется;
• кодирование одиночных символов очень неэффективно.
Кодирование одиночных символов можно сделать эффективным, отказавшись от ненужной ссылки на словарь для них. Кроме того, в некоторые модификации LZ77 для повышения степени сжатия добавляется возможность для кодирования идущих подряд одинаковых символов.
Длина кода вычисляется следующим образом: длина подстроки не может быть больше размера буфера, а смещение не может быть больше размера словаря –1. Следовательно, длина двоичного кода смещения будет округленным в большую сторону n=log2(размер словаря), а длина двоичного кода для длины подстроки будет округленным в большую сторону m=log2(размер буфера+1). Каждый символ кодируется 8 битами (например, ASCII+). Т.е., для кодирования каждой подстроки исходного сообщения нужно n+m+8 бит.






Алгоритм LZSS
В 1982 г. Сторером (Storer) и Шиманским (Szimanski) на базе LZ77 был разработан алгоритм LZSS, который отличается от LZ77 производимыми кодами.
Код, выдаваемый LZSS, начинается с однобитного префикса, различающего собственно код от незакодированного символа. Код состоит из пары: смещение и длина, такими же как и для LZ77. В LZSS окно сдвигается ровно на длину найденной подстроки или на 1, если не найдено вхождение подстроки из буфера в словарь. Длина подстроки в LZSS всегда больше нуля, поэтому длина двоичного кода для длины подстроки - это округленный до большего целого двоичный логарифм от длины буфера.
Длина кода вычисляется следующим образом: длина подстроки не может быть больше размера буфера, а смещение не может быть больше размера словаря –1. Следовательно, длина двоичного кода смещения будет округленным в большую сторону n=log2(размер словаря), а длина двоичного кода для длины подстроки будет округленным в большую сторону m=log2(размер буфера). Каждый символ кодируется 8 битами (например, ASCII+). Т.е., для кодирования каждой подстроки исходного сообщения нужно n+m+8 бит.

Добавлено через 6 минут
вот образец!http://cs9510.vkontakte.ru/u63724733...x_fe69768f.jpg

Добавлено через 15 секунд
вот образец!http://cs9510.vkontakte.ru/u63724733...x_fe69768f.jpg
 
Текущее время: 23:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru