Автор: Пользователь скрыл имя, 17 Сентября 2011 в 11:59, курсовая работа
Цель выполнения данного курсового проекта в теоретическом аспекте – изучение основ строения информации, ее разновидностей, структурной организации данных, в практическом аспекте – изучение методов и средств описания экономических информационных систем и их подсистем, анализа способов формализованного преобразования описаний экономических информационных систем и выполнения ряда заданий по нелинейным методам организации данных и методам ускоренного доступа к данным. Изучение методов организации данных и обозначенных в работе заданий является необходимым при проектировании информационных систем в экономике.
1 Введение 4
2 Нелинейная организация данных 5
2.1 Древовидная организация данных 5
2.2 Нелинейные списковые структуры данных 11
3 Методы ускоренного доступа к данным 13
3.1 Адресные функции 13
3.2 Способы организации индексируемого массива 15
4 Заключение 18
Список используемой литературы 19
Рисунок
2.8 – Итоговое сбалансированное
бинарное дерево
Задание 2.
Проставить в вершинах
бинарного дерева ключевые
признаки от 1 до 12 так,
чтобы дерево стало
упорядоченным (подравнивать
не надо).
Рисунок
2.9 – Головоломка
Подставив вместо букв следующие значения:
e=1, z=2, u=3, n=4, f=5, s=6, m=7, r=8, q=9, t=10, получим упорядоченное
дерево, изображенное на рисунке 2.10
Рисунок 2.10 – Упорядоченное бинарное дерево
2.2 Нелинейные списковые структуры данных
Нелинейный
список – множество элементов, каждый
из которых может быть либо записью,
либо списком. Структуру списка выражают
формулой, в которой записи помечаются
буквами, а списки заключаются в круглые
скобки. Список, включенный в другой список,
называется подсписком. Адреса связей,
принадлежащие каждой записи, образуют
звено связи. Списковые структуры данных
могут иметь два вида представления: с
помощью аналитической записи и графической
интерпретации структуры списка.
Задание 3. Списковая структура задана следующим аналитическим выражением: (a, (a, m), (a, (b)), (b, a), (a, b), (b, (a, ( )))). Построить графическую интерпретацию данного списка.
Отбросив
внешние скобки, перенумеруем оставшиеся
скобки в данном списке:
a,(a,m),(a,(b)),(b,a),(a,b),(
1 1 2 6 62 3 3 4 4 5 7 8 875
Элементы, заключенные в скобки, являются подсписками и объявляются сложными элементами. Элементы, обозначенные буквами, объявляются простыми.
1) Из
списка выделяются шесть
2) На
первом уровне проставим шесть
звеньев связи для этих
3) На
втором уровне следует
Следовательно, на втором уровне в графической интерпретации будут звенья связи двух элементов из подсписка 1, двух элементов из подсписка 2, двух элементов из подсписка 3, двух элементов из подсписка 4, и двух элементов из подсписка 5 (всего 10).
4) На третьем уровне раскрываем два подсписка:
Следовательно, на третьем уровне в графической интерпретации будут звенья связи одного элемента из подсписка 6, и двух элементов из подсписка 7 (всего 3).
6) На
четвертом (последнем уровне) проставляются
сами собственные значения
Далее адреса связей каждого звена по уровням соединяются с соответствующими элементами, им подчиненными.
Графическая
интерпретация
Рисунок 2.11 – Графическая интерпретация списка
3 МЕТОДЫ УСКОРЕННОГО
ДОСТУПА К ДАННЫМ
3.1 Адресные функции
Ускорение
доступа к данным достигается
применением принципиальных методов
размещения информации и ее поиска
либо путем создания массивов вспомогательной
информации о хранимых данных. Расстановка
записей происходит в соответствии с адресными
функциями двух видов: i = A – c и
i =ОСТ(А/m).
Задание 4. Построить адресную функцию вида i = А – с для записи с ключами 25, 30, 34, 24, 27, 32, 36, 39, 38, 31, 26, 33, 29, 32, 25, 34, 34
Рассмотрим размещение записей согласно адресной функции i = A – c. Для этого необходимо определить минимальное значение ключевого атрибута Аmin и максимальное значение Аmax. Поскольку с = Аmin –1, то в данном случае, с = 24 – 1 = 23, следовательно, i = A – 23.
Необходимый
участок памяти для данных должен
иметь размер [Amax – Amin + 1] = 39 – 24 + 1 = 16. –
записей. Организация данных записей изображена
на рисунке 3.1
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
24 | 25 | 26 | 27 | 29 | 30 | 31 | 32 | 33 | 34 | 36 | 38 | 39 | |||
25 | 32 | 34 | |||||||||||||
34 | |||||||||||||||
Рисунок
3.1 – Организация записей
в соответствии с адресной
функцией вида i = A –
c
Записи-синонимы
связываются в цепочки с помощью адресов
связи, они занимают дополнительную (резервную)
память. Недостатком адресной функции
вида I = A – c является большой объем неиспользуемой
памяти, если Amax – Amin много больше количества
записей исходного массива. Этого недостатка
лишена адресная функция вида i=ОСТ(A/m).
Задание 5. По заданным значениям ключей – 24, 29, 64, 39, 17, 63, 21, 62, 46, 59, 51, 63, 37, 42, 44, 55, 52 – построить адресную функцию вида i=ОСТ(A/m).
Рассмотрим
исходный массив, значение m принимается
равным простому числу, которое непосредственно
больше либо меньше числа записей М: m =
М ±
1. Поскольку М = 17, выбираем m =16 и i =
ОСТ(A/16). Организация записей в соответствии
с адресной функцией вида i=ОСТ(A/m) показана
на рисунке 3.2
0 | 64 | ||||
1 | 17 | ||||
2 | |||||
3 | 51 | ||||
4 | 52 | ||||
5 | 21 | ||||
6 | 46 | ||||
7 | 39 | 63 | |||
8 | 24 | 37 | |||
9 | 55 | ||||
10 | 42 | ||||
11 | 59 | ||||
12 | 44 | ||||
13 | 29 | ||||
14 | 62 | ||||
15 | 63 |
Рисунок 3.2 – Организация записей в соответствии с адресной функцией вида
i
= ОСТ(A/m)
Выделяются две зоны памяти – основная и резервная. Основная зона содержит m записей. Резервная зона предназначена для размещения записей-синонимов. При формировании данных согласно адресной функции сначала производится заполнение основной зоны. Если при этом позиция основной зоны, полученная при вычислении, уже занята, то текущая запись помещается в резервную зону и адресуется из позиции основной зоны. В дальнейшем при такой ситуации наращивается цепочка записей в резервной зоне. Резервная зона заполняется последовательно.
Таким
образом, доступ к требуемым записям
может осуществляться не только путем
сравнения искомого значения ключа
с ключами записей, извлекаемых
из массива по определенному алгоритму,
но и в результате вычисления местоположения
требуемой записи. Как было выше показано,
можно использовать специальную расстановку
записей в памяти компьютера, которая
нарушает типичную при последовательной
организации данных упорядоченность записей
по значениям ключевого атрибута.
3.2 Способы организации индексируемого массива
Существует
несколько различных способов организации
индексируемого массива. Рассмотрим два
из них – это индексно-
Задание 6. По заданным значениям ключей – 21, 33, 36, 51, 28, 35, 37, 41, 39, 33, 27, 56, 28, 47, 29, 68, 33 – построить таблицы К-индексов и А-индексов и откорректировать их. Вставку провести с учетом значения 55 и удаление для значения 36.
Упорядоченный по возрастанию исходный массив имеет следующий вид (таблица 3.1).
Адрес | Значение ключа |
0 | 21 |
1 | 27 |
2 | 281 |
3 | 282 |
4 | 29 |
5 | 331 |
6 | 332 |
7 | 333 |
8 | 35 |
9 | 36 |
10 | 37 |
11 | 39 |
12 | 41 |
13 | 47 |
14 | 51 |
15 | 56 |
16 | 68 |