
- •Оглавление
- •Введение
- •1 Особенности экономической информации
- •1.1 Экономическая информация. Информационное обеспечение экономики
- •1.2 Свойства экономической информации
- •1.3 Классификация экономической информации
- •1) По функциям управления
- •2) По месту возникновения
- •3) По стадиям образования
- •4) По способу отображения
- •5) По стабильности
- •1.4 Основные компоненты экономической информации
- •1.5 Экономическая информация и данные
- •1.6 Требования к данным и информации
- •1.7 Внешние входящие информационные потоки
- •1.8 Внутренние информационные потоки
- •1.9 Мониторинг внешней деловой среды
- •2 Основные понятия экономических информационных систем
- •2.1 Информационная система в общем виде
- •2.2 Принципы построения и функционирования эис
- •2.3 Критерии оценки эффективности эис
- •Повышение эффективности управления объектом:
- •Эффективное использование ресурсов эис:
- •2.4 Классификация эис
- •2.5 Компоненты экономических информационных систем
- •2.5.1 Предметная область информационной системы
- •2.5.2 Детализация представлений эис
- •2.6 Свойства экономических информационных систем
- •3 Экономическая информационная система как особая модель объекта экономики
- •3.1 Модель объекта экономики как отражение его специфики
- •3.2 Моделирование экономических информационных систем. Средства реализации моделей
- •3.3 Уровни отображения предметной области. Типы описания моделей эис
- •4 Роль и место информационных систем в управлении экономическими объектами
- •4.1 Основные направления использования информационных систем в экономике
- •4.2 Роль информационных систем в экономике
- •4.3 Единое информационное пространство
- •4.4 Место эис в системе управления экономическим объектом
- •4.5 Жизненный цикл эис
- •5 Классификация и основные свойства единиц информации
- •5.1 Информационное пространство
- •5.2 Основные единицы информации — атрибуты
- •5.3 Составные единицы информации. Операции над единицами информации
- •5.4 Экономические показатели
- •6 Методы организации данных
- •6.1 Анализ алгоритмов и структур данных в эис
- •6.2 Линейная организация данных
- •6.2.1 Последовательная организация данных
- •6.2.2 Линейная списковая организация данных
- •6.3 Нелинейная организация данных
- •6.3.1 Древовидная организация данных
- •6.3.2 Нелинейные списковые структуры данных
- •6.4 Методы ускоренного доступа к данным
- •6.4.1 Интерполяционный поиск записи в массиве
- •6.4.2 Адресные функции
- •6.4.3 Способы организации индексируемого массива
- •6.5 Обработка информации по нескольким ключевым признакам
- •7 Модели данных
- •7.1 Описательная модель предметной области
- •7.1.1 Этап инфологического проектирования
- •7.1.2 Этап датологического проектирования
- •7.2 Назначение и основные компоненты системы баз данных, их уровни представления
- •7.3 Концептуальные модели данных
- •7.3.1 Типы структур данных
- •7.3.2 Операции над данными
- •7.3.3 Ограничения целостности
- •7.4 Иерархическая модель данных
- •7.5 Сетевая модель данных
- •7.6 Реляционная модель данных
- •7.6.1 Основные понятия реляционной модели данных
- •7.6.2 Реляционная структура данных
- •7.6.3 Целостность реляционных данных
- •7.6.4 Основные операции над данными
- •7.6.5 Нормализация отношений в рмд
- •8 Моделирование предметных областей в экономике
- •8.1 Семантические модели данных
- •8.1.1 Модель сущностей и связей
- •8.1.2 Модель семантических сетей
- •8.2 Базы знаний
- •8.2.1 Понятие знания. Пять основных свойств знаний
- •8.2.2 Модели представления знаний
- •8.3 Параметризация эис
- •Заключение
- •Список рекомендованной литературы
6.3.2 Нелинейные списковые структуры данных
Нелинейный список — множество элементов, каждый из которых может быть либо записью, либо списком.
Структуру списка выражают формулой, в которой записи помечаются буквами, а списки заключаются в круглые скобки. Список, включенный в другой список, называется подсписком.
Перечисление всех списков из записей а1, а2, .... aN, образующих множество L0, сводится к следующему. Обозначим через Li' множество всех кортежей с элементами из Li. Введем последовательность множеств:
L1 = L0' + L0;
L2 = L1' + L1;
L3 = L2' + L2,
где «+» — это знак объединения множеств.
Все списки содержатся в множестве L = L0 + L1 + …Li+...
Пусть L0 = {a, b}. Тогда, например,
L1 = {(a, b), (a), (b), a, b}
L2°= {((а, b), (a), (b), a, b), ((a, b), (a), (b), a), ... } и т.д.
Введенный аппарат списков намного шире, чем требуется для представления деревьев. Он используется самостоятельно также в задачах искусственного интеллекта и анализа текстовой информации.
Все линейные списки содержатся в множестве L0. Записи, входящие в список, могут занимать произвольные участки в памяти компьютера.
Однонаправленный вариант списка ((a, b), b, ((c), c)) показан на рис. 6.11.
Адреса связи, принадлежащие каждой записи, образуют звено связи. В звене связи однонаправленного списка два адреса: первый указывает на следующий элемент списка, второй — на подсписок или запись. В звене связи двунаправленного списка четыре адреса связи: два из них обеспечивают прямое и обратное направление в списке, третий и четвертый адресуют начало и конец подсписка. Списковые структуры данных могут иметь два вида представления: с помощью аналитической записи и графической интерпретации структуры списка.
Рис. 6.11 — Представление списка ((a, b), b, ((c), c)) в памяти компьютера с подробными комментариями всех элементов списков
Аналитическая запись списковой структуры строится по следующим правилам:
в качестве элемента сложного списка может выступать список любой структуры, который может являться подсписком данного списка;
каждый подсписок заключается в круглые скобки;
элементы списка записываются последовательно один за другим согласно порядку их следования и отделяются друг от друга запятыми;
для идентификации (обозначения) элементов списка могут использоваться как заглавные, так и прописные буквы.
При определении структуры списка внешние скобки всегда отбрасываются, а далее каждой открытой скобке находится соответствующая ей закрытая скобка; элементы, заключенные в скобки, являются подсписками и объявляются сложными элементами. Элементы, обозначенные буквами, объявляются простыми.
Рассмотрим пример более сложной списковой структуры:
((a, (b, ( )), b), (b, (a)), b).
По заданной аналитической записи списка необходимо построить её графическую интерпретацию. Следует выполнить следующие действия:
отбросить внешние скобки;
найти в списке количество глобальных элементов (которые могут быть сложными или простыми).
Первый элемент — сложный (подсписок 1) — (a, (b, ( )), b).
Второй элемент — сложный (подсписок 2) — (b, (a)).
Третий элемент — простой b.
При графической интерпретации структуры списка на 1-ом уровне задаются указатели (звенья связи) для глобальных элементов (в данном случае — трех) (см. рис. 6.12).
Рис. 6.12 — Представление списка ((a, (b, ( )), b), (b, (a)), b)
в памяти компьютера
На 2-ом уровне задаётся структура подсписков (подсписок 1, подсписок 2), из которых состоят глобальные элементы, и так далее.
Подсписок 1 (a, (b, ( )), b) состоит из трех элементов:
простой элемент a;
сложный элемент (подсписок 3);
простой элемент b.
Подсписок 2 (b, (a)) состоит из двух элементов:
простой элемент b;
сложный элемент (подсписок 4).
Подсписок 3 (b, ( )) состоит из двух элементов:
простой элемент b;
сложный элемент (подсписок 5) —
незаполненный (пустой подсписок);
Подсписок 4 (a) содержит простой элемент a.
Для задания однонаправленной списковой структуры необходима следующая ассоциативная информация:
указатель списка, в котором задаётся адрес расположения первого элемента списка;
указатели элементов:
а) для простого элемента этот указатель содержит информацию о расположении следующего элемента и информацию о расположении значения данного элемента (идентификатора);
б) для сложного элемента в этом указателе находится информация о расположении первого элемента, относящегося к данному подсписку.
Последовательная, списковая и бинарная организации данных предназначены для решения общей задачи — обработки записей с одним ключевым атрибутом.
Имеет смысл задача выбора лучшей организации данных. В табл. 6.3 представлены оценки методов организации данных по наиболее важным критериям, что позволяет сделать ряд выводов.
Критерии оценки |
Организация данных
|
||
последовательная |
списковая |
бинарное дерево |
|
Время формирования |
~ M(log2M) |
~ M(log2M) |
~ М(1оg2М) |
Время поиска |
~ log2M |
~ М |
~ log2M |
Время корректировки |
~ М |
~ М |
~ log2M |
Объем дополнительной памяти |
0 |
~ М |
~ М |
Таблица 6.3 — Оценки методов организации данных
По критерию времени формирования данных линейный список и бинарное дерево имеют определенные преимущества перед последовательным массивом несмотря на то, что процессы формирования описываются одинаковыми формулами.
Это объясняется необходимостью пересылки записей в процессе сортировки последовательного массива, а в массиве и бинарном дереве при формировании пересылаются адреса связи, а не целые записи.
По времени поиска последовательный массив и бинарное дерево предпочтительнее списка. Минимальное время корректировки характерно для бинарного дерева, а минимальный объем дополнительной памяти — для последовательного массива.
Анализируя все вышерассмотренные методы, можно прийти к выводу, что абсолютно безупречного метода организации данных не существует. Однако минимальное время (формирования, поиска, корректировки) обычно считается более важным критерием, чем объем минимальной дополнительной памяти, и тогда лучшим методом организации данных в оперативной памяти компьютера необходимо признать упорядоченное бинарное дерево.