- •1. Жизненный цикл программного обеспечения ис, модели жизненного цикла.
- •Модели жизненного цикла по
- •Каскадная модель
- •Спиральная модель
- •Подход rad
- •4. Базовые технологии локальных сетей, общая характеристика протоколов локальных сетей, структура стандартов iee802.Х.
- •2. Технология Token Ring
- •5. Помехоустойчивое кодирование, циклические коды, коды Хэмминга.
- •6. Назначение и функции ос. Функциональные компоненты ос Linux.
- •7. Кодирование с минимальной избыточностью, алгоритм Шеннонна Фано.
- •8. Оптимальное кодирование. Алгоритм Хаффмана.
- •9. Процессы и потоки. Мультипрограммирование, планирование процессов и потоков.
- •10. Управление памятью, типы адресов, алгоритмы распределения памятью.
- •11. Сжатие данных. Алгоритм Лемпела-Зива.
- •12. Структурное моделирование информационных систем. Методология функционального моделирования sadt. Моделирование потоков данных dfd. Моделирование данных erd.
- •13. Объектное моделирование информационных систем. Этапы проектирования ис с применением унифицированного языка визуального моделирования uml.
- •14. Алфавитное кодирование. Разделимые схемы. Префиксные схемы. Неравеснтво Макмиллана.
- •15. Адресация в сетях tcp/ip.
- •16. Общая характеристика и классификация case средств.
- •17. Стандартные стеки коммуникационных протоколов.
- •18. Структурное моделирование информационных систем. Методология функционального моделирования sadt. Моделирование потоков данных dfd. Моделирование данных erd.
- •19. Основы передачи дискретных данных. Характеристики линий связи.
- •20. Сетевые ос (Windows 2003 Server). Требования к современным ос.
- •21. Управление памятью. Типы адресов. Алгоритмы распределения памятью.
- •22. Способы организации памяти на различных уровнях иерархии зу.
11. Сжатие данных. Алгоритм Лемпела-Зива.
Процесс записи файла в архивный файл называется архивированием, а извлечение файла из архива - разархивированием. Упакованный файл называется архивом. Архивация информации - это такое преобразование информации, при котором объем информации уменьшается, а количество информации остается прежним. Степень сжатия информации зависит от типа файла, а также от выбранного метода упаковки. Качество сжатия файлов характеризуется коэффициентом сжатия Кс, определяемым как отношение объема сжатого файла Vc к объему исходного файла V0, выраженное в процентах: Kc=Vc/V0*100%. Чем меньше величина Кс, тем выше степень сжатия информации. Методы сжатия информации делят на: упаковка без потерь информации (обратимый алгоритм) и упаковка с потерей информации (необратимый алгоритм). В первом случае исходную информацию можно точно восстановить по имеющейся упакованной информации. Во втором случае распакованное сообщение будет отличаться от исходного сообщения.
В основу алгоритмов кодирования по ключевым словам (KWE) положено кодирование лексических единиц исходного документа группами байтов фиксированной длины. Результат кодирования сводится в таблицу, которая прикладывается к результирующему коду и представляет собой словарь. На практике используется адаптивное сжатие. За один проход по тексту одновременно строится словарь и кодируется текст. При этом словарь не хранится из-за того, что при декодировании используется тот же самый алгоритм построения словаря, словарь динамически восстанавливается. Реализации этой идеи, известна как алгоритм Лимпела-Зива. Вначале словарь содержит пустое слово, имеющее код 0, Далее в тексте последовательно выделяются слова. Выделяемое слово - это максимально длинное слово из уже имеющегося в словаре плюс еще один символ. В сжатое представление записывается найденный код слова и расширяющая буква, а словарь пополняется расширенной комбинацией.
1. исходное сообщение разбиваем на последовательность символов, называемых словами.
2. полученное множество слов будем считать буквами нового алфавита. Для этого алфавита строится разделимая схема алфавитного кодирования (оптимального), полученная схема называется словарем.
3. код строится как пара значение: сначала код словаря, а затем последовательность кодов слов из данного словаря.
4. при декодировании исходное сообщение восстанавливается путем замены кодов слов на слова из словаря
Код Липме-ла-Зива
D: array [int] of string;
Вход: исходный текст, заданный массивом кодов символов f: array [1..n] of char.
Выход: сжатый текст, представленный последовательностью пар <p,q>, где p – номер слова в словаре, q – код дополняющей буквы.
D[0]:=””; d:=0; (начальное состояние словаря)
k:=1; (номер текущей буквы в исходном тексте)
while k<=n do
p:=FD(k); (р – индекс найденного слова в словаре)
l:=length(D[p]); (l – длина найденного слова в словаре)
yield <p,f[k+l]>; (код найденного слова и еще одна буква)
d:=d+1; D[d]:=D[p]f[k+l]; (пополнение словаря, здесь – конкатенация - + )
k:=k+l+1; (передвижение вперед по исходному тексту) end;
Слово в словаре ищется с помощью не сложной функции FD
Вход: k – номер символа в исходном тексте, начиная с которого нужно искать в тексте слова из словаря.
Выход: p – индекс самого длинного слова в словаре, совпадающего с символами.
f[k]..f[k+l]; (если такого слова в словаре нет, то р=0)
l:=0; p:=0; (начальное состояние)
for i from 1 to d do
if D[i]=f[k..k+ length(D[i])-1] and length(D[i])>l then
p:=i; l:= length(D[i]); (нашли наиболее подходящее слово)
end;
end;
return p;