Автор работы: Пользователь скрыл имя, 05 Января 2014 в 21:54, курсовая работа
Целью выполнения проекта в теоретическом аспекте является изучение основ строения информации, ее разновидностей, структурной организации данных, в практическом аспекте является изучение методов и средств описания экономических информационных систем и их подсистем, анализа способов формализованного преобразования описаний экономических информационных систем и выполнения ряда заданий по нелинейным методам организации данных и методам ускоренного доступа к данным. Для достижения поставленной цели необходимо решить задачи: Изучить теоретический материал по темам. Построить упорядоченные бинарные деревья и графическую интерпретацию нелинейного списка согласно заданиям. По заданным значениям ключей построить адресные функции вида i = A – c, i = ОСТ(A/m) и таблицы А – индексов и К – индексов согласно заданиям.
1. ВВЕДЕНИЕ 4
2. НЕЛИНЕЙНАЯ ОРГАНИЗАЦИЯ ДАННЫХ 5
2.1. Древовидная организация данных 5
2.2. Нелинейные списковые структуры данных 10
3. МЕТОДЫ УСКОРЕННОГО ДОСТУПА К ДАННЫМ 13
3.1. Адресные функции 13
3.2. Способы организации индексируемого массива 15
4. ЗАКЛЮЧЕНИЕ 18
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 19
Томский государственный университет
систем управления и радиоэлектроники (ТУСУР)
Факультет дистанционного обучения
Курсовой проект
по дисциплине «Теория экономических информационных систем»
Выполнил:
студент ФДО ТУСУР
специальности 080801
Бунаков Д.И.
10 мая 2013 г.
2013г.
СОДЕРЖАНИЕ
Развитие экономики и других сфер деятельности человека связано с применением компьютеров, созданием информационных систем различного назначения. Обработка экономической информации стала самостоятельным научно-техническим направлением с большим разнообразием идей и методов обработки. Отдельные компоненты процесса обработки достигли высокой степени организации и взаимосвязи, что позволяет объединить все средства обработки информации на конкретном экономическом объекте понятием «экономическая информационная система».
Целью выполнения данного курсового проекта в теоретическом аспекте является изучение основ строения информации, ее разновидностей, структурной организации данных, в практическом аспекте является изучение методов и средств описания экономических информационных систем и их подсистем, анализа способов формализованного преобразования описаний экономических информационных систем и выполнения ряда заданий по нелинейным методам организации данных и методам ускоренного доступа к данным.
Для достижения поставленной цели необходимо решить следующие задачи:
Во втором разделе курсового проекта «Нелинейная организация данных» рассматриваются вопросы, связанные с такими понятиями как нелинейная организация данных, в частности древовидная организация данных, нелинейные списковые структуры данных. В третьем разделе «Методы ускоренного доступа к данным» рассматриваются вопросы, связанные с понятием адресной функции и способы организации индексируемого массива. В разделах приведены решения на поставленные в курсовом проекте задачи. Решение каждого задания сопровождается рисунками и пояснениями к ним.
Нелинейная организация данных – это множество записей, каждая из которых связана с произвольным количеством предшествующих и последующих записей. Наиболее используемыми вариантами нелинейной организации данных являются деревья и нелинейные списки.
Деревом называется множество записей, расположенных по уровням по следующим правилам: на первом уровне расположена только одна запись (корень дерева), к любой записи i-го уровня ведет адрес связи только от одной записи (i-1)-го уровня. Количество уровней в дереве называется рангом. Для выполнения задания воспользуемся данным алгоритмом построения упорядоченного бинарного дерева:
Задание 1. Построить упорядоченное бинарное дерево со следующими значениями ключевых признаков и подравнять их (приложить подробный протокол подравнивания со всеми итерациями и описаниями их):
62, 30, 70, 85, 35, 96, 26, 18, 47, 66, 42, 34, 71, 54, 93.
Построим упорядоченное
Упорядоченное бинарное дерево построено следующим образом:
Рисунок 2.1 – Упорядоченное бинарное дерево
На рисунке 2.1 записи со значениями 62, 30, 70, 35, 85, 47 являются полными, т.к. у них заполнены два адреса связи; записи со значениями 26, 96 с одним адресом - неполные; записи 18, 34, 42, 54, 66, 71, 93 с двумя незаполненными адресами – концевые.
Ранг данного упорядоченного дерева равен 5, т.к. количество уровней в дереве 5.
Ранг упорядоченного бинарного дерева можно сократить с помощью специальных преобразований – подравниваний. Если для некоторой записи длины ее ветвей различаются не более чем на единицу, то она называется сбалансированной. Бинарное дерево называется подравненным, если все его записи являются сбалансированными. Для того чтобы подравнять бинарное дерево необходимо для каждой несбалансированной записи найти соседнюю слева запись, если у нее левая ветвь длиннее правой, или найти соседнюю справа запись, если правая ветвь длиннее. Найденная соседняя запись помещается на место несбалансированной, а сама несбалансированная запись заново включается в дерево.
В упорядоченном бинарном дереве (рис. 2.1), несбалансированной записью является запись 70, т.к. у этой вершины разница ветвей равна 2 (длина левой ветви равна 1, длина правой ветви – 3, следовательно, 3 – 1 = 2). Все остальные вершины являются сбалансированными.
1 итерация. Подравняем вершину со значением 70. На место вершины 70 ставим вершину со значением 85 вместе со всеми вытекающими из нее вершинами (71, 96, 93), далее перераспределяем вершину 66, затем перераспределяем вершину 70 (рис. 2.2).
Рисунок 2.2 – Подравнивание вершины 70
2 итерация. На рисунке 2.2, видно, что несбалансированной записью является запись 71, т.к. у этой вершины разница ветвей равна 2 (длина левой ветви равна 2, длина правой ветви – 0, следовательно, 2 – 0 = 2). Все остальные вершины являются сбалансированными.
Подравняем вершину. На место вершины 71 ставим вершину со значением 66 вместе с вытекающей из нее вершиной 70, далее перераспределяем вершину 71 (рис. 2.3).
Рисунок 2.3 – Подравнивание вершины 71
3 итерация. Из рисунка 2.3, видно, что несбалансированной записью является запись 66, у этой вершины разница ветвей равна 2 (длина левой ветви равна 0, длина правой ветви – 1, следовательно, 2 – 0 = 2). Все остальные вершины являются сбалансированными.
Выполним подравнивание вершины. На место вершины 66 ставим вершину со значением 70 вместе с вытекающей из нее вершиной 71, далее перераспределим вершину 70 (рис. 2.4).
Рисунок 2.4 – Подравнивание вершины 66
В результате преобразований получаем подравненное бинарное дерево, т.к. все его записи являются сбалансированными (рис. 2.5).
Рисунок 2.5 – Итоговое подравненное бинарное дерево
Задание 2. Проставить в вершинах бинарного дерева ключевые признаки от 1 до 12 так, чтобы дерево стало упорядоченным (подравнивать не надо) (рис. 2.6).
Рисунок 2.6 – Пример головоломки
Проставляя в вершинах бинарного дерева ключевые признаки, учитывалось то, что записи, обозначенные одинаковыми буквами, имеют равные значения. По левой ветви располагаются записи с меньшими значениями, по правой ветви – с большими. В итоге получили упорядоченное бинарное дерево (рис. 2.7).
Рисунок 2.7 – Упорядоченное бинарное дерево
Нелинейный список – множество элементов, каждый из которых может быть либо записью, либо списком. Структуру списка выражают формулой, в которой записи помечаются буквами, а списки заключаются в круглые скобки. Список, включенный в другой список, называется подсписком. Адреса связей, принадлежащие каждой записи, образуют звено связи. В звене связи однонаправленного списка два адреса: первый указывает на следующий элемент списка, второй – на подсписок или запись. Списковые структуры данных могут иметь два вида представления: с помощью аналитической записи и графической интерпретации структуры списка.
Аналитическая запись списковой структуры строится по следующим правилам:
При определении графической структуры списка внешние скобки всегда отбрасываются, каждой открытой скобке находится соответствующая ей закрытая скобка; элементы, заключенные в скобки, являются подсписками и объявляются сложными элементами. Элементы, обозначенные буквами, объявляются простыми.
Задание 3. Списковая структура задана аналитическим выражением. Построить графическую интерпретацию данного списка:
((b, (a, (c, (n)), b), (b, a)), a, (b, (a, ( ))))
Построим графическую интерпретацию данного списка.
Информация о работе Нелинейная организация данных. Методы ускоренного доступа к данным