- •Информация
- •Свойства информации
- •Преобразования сигнала
- •Системы счисления
- •Перевод из двоичной и шестнадцатеричной систем счисления в десятичную.
- •Перевод из двоичной системы счисления в шестнадцатеричную:
- •Правила вычитания
- •Правила умножения
- •Сложение по модулю
- •Кодирование сигнала
- •Ascii-коды
- •Коды Грея
- •Коды, учитывающие частоту символов
- •Код Штибица
- •Метод Вижинера
- •Метод Шеннона-Фано
- •Метод Хаффмена
- •Декодирование эффективных кодов
- •Методы эффективного кодирования словарей
- •Кодовое расстояние и корректирующая способность кода
- •Обнаружение ошибки
- •Коды, исправляющие ошибки
- •Комбинаторная мера
- •Аддитивная мера
- •Статистический подход к измерению информации
- •Полезность информации
- •Истинность информации
- •Виды современных компьютеров
- •Персональные компьютеры
- •Устройство управления
- •Арифметико-логическое устройство
- •Формы представления вещественных чисел
- •Коды представления числовых данных в алу
- •Сложение вещественных чисел
- •Поскольку старший числовой разряд мантиссы равен 0, она требует нормализации. Для этого:
- •Офисные пакеты
- •Настольные издательские системы
- •Системы автоматизации проектирования (сапр)
- •Инструментарий технологии программирования
- •Первое поколение эвм
- •Второе поколение эвм
- •Третье поколение эвм
- •Четвертое поколение эвм
- •Технология проектирования программ
- •Формализация задачи
- •Структурно-стилизованный способ
- •Операторный язык
- •Команда комментарии
- •Методы проектирования алгоритмов
- •Модуль Ввод и размещение
- •Модуль Ввод и анализ
- •Модуль Упорядочение
- •Модуль Определение
- •Лексический анализ
- •Синтаксический анализ
- •Семантический анализ
- •Генерация промежуточного кода
- •Оптимизация промежуточного кода
- •Компоновка
- •Выполнение и тестирование программы
- •Эволюция использования компьютеров. Проект эвм пятого поколения
- •Структура информационного процесса
- •Сбор информации
- •Первичное восприятие информации
- •Методы классификации
- •Иерархическая классификация
- •Фасетная классификация
- •Распознавание и кодирование объектов
- •Регистрация информации
- •Запись информации оператором
- •Контроль правильности записи данных
- •Первичное восприятие и измерение информации
- •Анализ результатов первичного восприятия и измерения
- •Распознавание символов
- •Восприятие информации клавиатурой
- •Первичное восприятие и измерение
- •Компьютерные сети
- •Топология сетей
- •Методы передачи данных в сетях
- •Организация обмена информацией в сети
- •Обработка информации
- •Хранение информации
- •Операции над данными
- •Линейные списки
- •Блочный способ
- •Двоичный способ
- •Индексно-последовательный способ
- •Индексно-произвольный способ
- •Размещение элементов в упорядоченном списке
- •Исходный список представлен таблицей 11:
- •Рандомизация
- •Фамилия (ключ) Числовое значение ключа
- •3) Формирование реальных номеров бакетов. Для определения константы с выполним следующие вычисления:
- •Метод квадратов. Распределение элементов по бакетам показано в таблице 20:
- •Сдвиг разрядов. Распределение элементов по бакетам показано в таблице 21:
- •Метод складывания. Распределение элементов по бакетам показано в таблице 22:
- •Оптимизированные цепочки элементов
- •Инвертированные списки
- •Иерархические структуры
- •Множественные ссылки на порожденные элементы
- •Ссылки на подобные и порожденные элементы
- •Кольцевые структуры
- •Справочники
- •Битовые отображения
- •Сетевые структуры
- •Множественные ссылки на порожденные элементы
- •Кольцевые структуры
- •Справочники
- •Битовые отображения
- •Жидкокристаллические мониторы
- •Плазменные мониторы
- •Технология вывода изображений на мониторы, использующие элт
- •Принципы организации текстовых видеорежимов
- •Принципы организации графических видеорежимов
- •Манипуляторы курсора
- •Механическая мышь
- •Устройства вывода на бумажный носитель
- •Матричные принтеры
- •Струйная технология
- •Термическая технология
- •Электрографическая технология
- •Технология формирования цвета
Кольцевые структуры
В отличие от предыдущих методов позволяют от порожденных элементов переходить к родительским элементам. Для этого в структуре элементов поддерживаются специальные ссылки на родительские элементы.
Представим данным методом дерево рисунка 7. Его описание сведем в таблицы 56, 57:
Таблица 56 Таблица 57
№ п/п |
Шифр учебной группы |
Ссылка на порожденный элемент |
|
№ п/п |
ФИО студента |
Ссылка на подобный элемент |
Ссылка на родительский элемент |
1 |
01-АС |
3 |
|
1 |
Иванов И.И. |
2 |
2 |
2 |
01-ИЭ |
1 |
|
2 |
Сидоров С.С. |
4 |
2 |
|
|
|
|
3 |
Федоров Ф.Ф. |
3 |
1 |
|
|
|
|
4 |
Яковлев Я.Я. |
1 |
2 |
Как видно, в таблицах 56 и 57 отсутствуют пустые ссылки. Это означает, что конечные элементы в цепочках подобных элементов ссылаются на первые элементы в этих цепочках. Так получаются «горизонтальные» кольца. Наличие таких колец позволяет решать задачи, требующие многократного просмотра списка от начала к концу. Подобная задача, например, имеет место при сортировке линейного списка некоторыми методами. Например, когда требуется отсортировать список студентов группы 01-ИЭ по возрастанию значений ключа, а группы 01-АС – по убыванию.
В то же время совокупность ссылок на порожденные и родительские элементы формирует «вертикальные» кольца. Они позволяют переходить от порожденных элементов к родительским, чего не было в предыдущих методах.
Рассмотрим решение задач просмотра элементов в такой структуре.
Пример 23. Пусть надо определить, в какой группе учится студент Иванов И.И., т.е. т.е. qпросмотр = (ФИО студента = Иванов И.И., Шифр учебной группы), где Кдоступ = Иванов И.И.
Решение задачи:
по списку студентов (таблица 57) определяется элемент, соответствующий искомой фамилии и инициалам – это элемент с номером 1;
в поле Ссылка на родительский элемент таблицы 57 определяется номер его родительского элемента в списке учебных групп – это номер 2;
в списке учебных групп (таблица 56) ищется элемент с номером 2 и выводится шифр группы – 01-ИЭ.
Поисковые задачи, аналогичные формированию списка студентов заданной группы, решаются подобно предыдущим примерам.
Добавление нового элемента выполняется аналогично предыдущим методам (рассмотреть самостоятельно).
Справочники
Связи между элементами дерева формируют отдельное описание в виде линейного списка - справочник.
Например, пусть исходное дерево имеет вид рисунка 7. Сформируем для него справочник (таблица 58):
Таблица 58
№ п/п |
Обозначение поля |
Элемент дерева |
Родительский элемент |
Порожденные элементы |
1 |
Шифр учебной группы |
01-АС |
- |
3 |
2 |
Шифр учебной группы |
01-ИЭ |
- |
4,5,6 |
3 |
ФИО студента |
Федоров Ф.Ф. |
1 |
- |
4 |
ФИО студента |
Иванов И.И. |
2 |
- |
5 |
ФИО студента |
Сидоров С.С. |
2 |
- |
6 |
ФИО студента |
Яковлев Я.Я. |
2 |
- |
Если элементы дерева не содержат дополнительных данных, то такого описания дерева в целом достаточно. Если же элементы дерева имеют структуру, то их описание хранится отдельно в списке элементов. Например, если для элементов дерева рисунка 7 надо также хранить информацию таблиц 48 и 49, то эти данные помещаются в таблицы, подобные таблицам 59 и 60:
Таблица 59 Таблица 60
№ п/п |
ФИО старосты группы |
|
№ п/п |
Домашний адрес |
1 |
Федоров Ф.Ф. |
|
1 |
ул. Кирова, 3 - 4 |
2 |
Яковлев Я.Я. |
|
2 |
пр. Мира, 5 - 4 |
|
|
|
3 |
ул. Репина, 1 - 2 |
|
|
|
4 |
ул. Маркса, 2 - 2 |
Справочник в таком случае модифицируется (таблица 61): в него добавляется графа Ссылка на элемент, в которой указывается таблица с информацией (например, Т59 для обозначения таблицы 59), и номер элемента с описанием в этой таблице:
Таблица 61
№ п/п |
Обозначение поля |
Элемент дерева |
Родительский элемент |
Порожденные элементы |
Ссылка на элемент |
1 |
Шифр учебной группы |
01-АС |
- |
3 |
Т59,1 |
2 |
Шифр учебной группы |
01-ИЭ |
- |
4,5,6 |
Т59,2 |
3 |
ФИО студента |
Федоров Ф.Ф. |
1 |
- |
Т60,3 |
4 |
ФИО студента |
Иванов И.И. |
2 |
- |
Т60,1 |
5 |
ФИО студента |
Сидоров С.С. |
2 |
- |
Т60,2 |
6 |
ФИО студента |
Яковлев Я.Я. |
2 |
- |
Т60,4 |
В случае хранения описываемых структур во внешней памяти в роли таблиц могут выступать файлы, а ссылки на таблицы заменяются именами файлов (или полными именами).
Рассмотрим, как решаются в этих структурах задачи просмотра элементов дерева.
Пример 24. Пусть требуется сформировать список студентов, учащихся в группе 01-АС, т.е. qпросмотр = (Шифр учебной группы = 01-АС, ФИО студента), где Кдоступ = 01-АС. Элементы дерева имеют структуру, показанную в таблицах 59, 60, дерево описано в таблице 61.
Решение задачи:
по справочнику (таблица 61) определяем элемент дерева 01-АС – это элемент с номером 1;
определяем порожденные элементы для него (графа Порожденные элементы) – это элемент той же таблицы с номером 3;
обращаемся к элементу с номером 3 и выводим фамилию и инициалы – Федоров Ф.Ф. Алгоритм заканчивает работу.
Пример 25. Пусть требуется определить, в какой группе учится студент Сидоров С.С. т.е. qпросмотр = (ФИО студента = Сидоров С.С., Шифр учебной группы), где Кдоступ = Сидоров С.С.
Решение задачи:
по справочнику (таблица 61) находим нужного студента – это элемент с номером 5;
по полю Родительский элемент определяем соответствующую ссылку – это элемент с номером 2;
обращаемся к элементу с номером 2 и выводим шифр группы – 01-ИЭ. Алгоритм заканчивает работу.
Рассмотрим задачу добавления нового элемента.
Пример 26. Пусть в дереве рисунка 7 (описание дерева соответствует таблице 58) надо разместить элемент со структурой:
ФИО студента |
Шифр учебной группы |
Комаров К.К. |
01-АС |
т.е. qдобавление = (ФИО студента = Комаров К.К., Шифр учебной группы = 01-АС), где Кдоступ = Комаров К.К., 01-АС.
После включения элемента дерево приобретет вид рисунка 8, а его описание будет соответствовать таблице 62 (измененные и новые данные выделены заливкой):
Таблица 62
№ п/п |
Обозначение поля |
Элемент дерева |
Родительский элемент |
Порожденные элементы |
1 |
Шифр учебной группы |
01-АС |
- |
3,7 |
2 |
Шифр учебной группы |
01-ИЭ |
- |
4,5,6 |
3 |
ФИО студента |
Федоров Ф.Ф. |
1 |
- |
4 |
ФИО студента |
Иванов И.И. |
2 |
- |
5 |
ФИО студента |
Сидоров С.С. |
2 |
- |
6 |
ФИО студента |
Яковлев Я.Я. |
2 |
- |
7 |
ФИО студента |
Комаров К.К. |
1 |
- |
