Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Стр Об Дан.docx
Скачиваний:
28
Добавлен:
24.12.2018
Размер:
471.15 Кб
Скачать

26. Проектирование данных. Понятие логической структуры данных (лсд).

Для решения задач мы должны формировать предметную область, т.е. отобразить реальный мир в виде некоторых конкретных и абстрактных понятий между которыми существуют определенные связи. Для этого мы выполняем только те понятия, которые нам интересны и нужны с точки зрения решения поставленной задачи.Каждому понятию записывается свое имя и устанавливается связь между именами и понятиями. Такой процесс выполнения требует для решения задачи данных, называемых проектированием данных. Результатом проектирования данных является модель данных или другими словами структура данных. Логические структуры данных- это идеальная схема представления или модель соответствующего данного.т.е. без учета ее представления к машинной памяти.

27. Проектирование данных. Понятие физической структуры данных (ФСД).Для решения задач мы должны формировать предметную область, т.е. отобразить реальный мир в виде некоторых конкретных и абстрактных понятий, между которыми существуют определенные связи. Для этого мы выполняем только те понятия, которые нам интересны и нужны с точки зрения решения поставленной задачи.Каждому понятию записывается свое имя и устанавливается связь между именами и понятиями. Такой процесс выполнения требует для решения задачи данных, называемых проектированием данных. Результатом проектирования данных является модель данных или другими словами структура данных Физическая структура данных- это схема размещения и хранения соответствующего данного в памяти компьютера. Она представляет способ физического представления данных в машинной памяти

28. Проектирование данных. Понятие логического проектирования данных.Представим, что у нас есть некоторая задача. Есть предметная область, в рамках которой решается эта задача. Мы должны предметную область переделать в абстрактные понятия, между которыми существует определенная связь. Выявляем только те понятия, которые нужны для решения поставленной задачи. При этом:1)Каждому понятию дается свое имя.2)Устанавливаем связь между понятиями.Такой процесс выявления требуемых для решения задачи данных называется проектированием данных. Результат проектирования данных – модель данных или структура данных.Есть 2 пути для разработки решения задачи.1)Конкретные условия реализации учитываются в структуре данных. Если меняется условие реализации, меняется структура данных, меняется алгоритм и нужно переделывать всю программу. Такой путь решения задач неудобен и используется только для решения простых задач.2)Определяемая структура данных отделена от конкретных условий реализации. Структура данных представляется в виде 2 – х структур.1)Логическая структура данных без учёта среды реализации.(Логическое проектирование.)2)Физическая структура данных с учётом среды реализации.(Физическое проектирование.)При логическом проектировании не учитываются физические характеристики ЭВМ. Всё это учитывается на стадии физического проектирования. В общем случае логическая и физическая структуры не совпадают. Различия определяется структурой, средой и реализацией.

Для встроенных логических структур данных существует готовое программное обеспечение, обеспечивающее переход от ЛСД к ФСД. Если мы составляем новую ЛСД, которое не является встроенной, то необходимо самостоятельно разрабатывать программное обеспечение для перехода от ЛСД к ФСД.

29. Проектирование данных. Понятие физического проектирования данных.Представим, что у нас есть некоторая задача. Есть предметная область, в рамках которой решается эта задача. Мы должны предметную область переделать в абстрактные понятия, между которыми существует определенная связь. Выявляем только те понятия, которые нужны для решения поставленной задачи. При этом:1)Каждому понятию дается свое имя.2)Устанавливаем связь между понятиями.Такой процесс выявления требуемых для решения задачи данных называется проектированием данных. Результат проектирования данных – модель данных или структура данных.Есть 2 пути для разработки решения задачи.1)Конкретные условия реализации учитываются в структуре данных. Если меняется условие реализации, меняется структура данных, меняется алгоритм и нужно переделывать всю программу. Такой путь решения задач неудобен и используется только для решения простых задач.1)Определяемая структура данных отделена от конкретных условий реализации. Структура данных представляется в виде 2 – х структур.1)Логическая структура данных без учёта среды реализации.(Логическое проектирование.)2)Физическая структура данных с учётом среды реализации.(Физическое проектирование.)То есть если меняется среда реализации – меняется только физическая структура данных, первоначальная модель данных не подлежит изменению.На стадии физического проектирования учитываются физические характеристики ЭВМ. В общем случае логическая и физическая структуры не совпадают. Различия определяется структурой, средой и реализацией.

30. Связь между логической и физической структурами данных. Дана некоторая задача. Для решения должны формализовать предметную область в рамках, которой она решается, т.е. отобразить реальный мир в виде конкретных и абстрактных понятий, между которыми существуют определенные связи. Даем имя понятию и устанавливаем связи между именем и понятием (проектирование данных). Можно написать алгоритм, но нужно рассмотреть вопрос программно-математического обеспечения (как структура будет храниться в памяти ЭВМ). Реально данные хранятся на диске, значит необходимо перейти от ЛСД к ФСД. Что осуществляется с помощью имеющихся ПО, файл – это встроенная структура данных языка, где предусмотрен переход.

31. Как учитываются конкретные условия реализации при проектировании данных. Условия реализации учитываются 2-мя путями:1)Конкретные условия реализации.Как только меняются условия реализации должна изменяться структура данных => меняется алгоритм, возникает необходимость переделки программы. Не очень удобно. Часто не успевают дойти до отладки программы, а алгоритм приходится менять. 2)Определенная структура данных отделена от описания конкретных условий реализации. Структура данных представляется в виде двух структур. Изменение среду реализации оказывает влияние лишь на вторую структуру данных. Первоначальная не подлежит изменению. В таком подходе проектирование структур данных выявляет 2 этапа: логическое и физическое проектирование.

32. Физические структуры данных.Набор структур хранения ограничен. Это связано с тем, что память ЭВМ состоит из упорядоченного набора непосредственно адресуемых машинных слов или байт.Структуры хранения состоят из элементов хранения. Элементом хранения может быть:1)несколько машинных слов, если элемент данных не умещается в одном слове 2)часть машинного слова, если несколько элементов данных можно упаковать в одно слово.Макс элемент хранения -1бит.К существующим структурам хранения относят:1)вектор - это набор элементов хранения одинакового размера расположенных в памяти ЭВМ рядом. Вектор определяется базой, которой является адрес первого элемента, размер элементов и длина вектора.2)список это набор элементов каждый из которых состоит из 2х полей:одно поле – элемент данных (или указатель) другое поле - элемент отношений, являющийся указателем на другой элемент.3) сети – каждый элемент имеет несколько элементов отношений. Разные элементы структуры могут иметь разные элементы отношений. Используются для хранения сложных структур(деревья, графы)

33. Связь между типами данных и структурами данных.Для любого языка программирования существует набор типов данных, которые на нем можно обрабатывать. Программист может оперировать только теми данными, которые относятся к допустимому для языка программирования типу. И он может представлять на языке программирования с использованием типов данных существуют в этом языке. Часть самых простых структур выстроили в язык и назвали их типами данных. ФСД формируется автоматически. Требования к типам данных: а) использование средств должно быть простым; б) для реализации высокая эффективность работы на компьютерах.

34. Формирование структуры данныхПеред реализацией задачи необходимо пройти 2 этапа. 1)Сначала организовать данные в виде одной или нескольких логических схем данных. 2)Затем реализовать каждую ЛСД в виде ФСД.На 1-ом этапе возникают 3 вопроса:1)Какие конкретно данные необходимо поместит в структуру? Ответ дается разработчиком исходя из решаемой задачи и это определяет всю дальнейшую работу по построению СД.2)Что из себя представляют правила организации структуры и в чем они состоят? Решается что из себя будет представлять элемент структуры, разрабатывается элемент данного и представляется его связь с другими элементами структуры.3)Что с созданной структурой можно делать? Выявляется набор действий, которые нужно выполнить над разработанной структурой.Этапы построения ЛСД выполняются при анализе и проектировании данных. Процесс может состоять из нескольких итераций.На 2-ом этапе происходит разработка ФСД (структуры хранения). Необходимо выбрать наиболее подходящую для ЛСД структуру хранения и выполнить ее организацию на базе структуры хранения.Для выбора структуры хранения необходимо решить след вопросы:1)Какой способ распределения памяти подходит (статистический или динамический). Определяем:ЛСД должна существовать в течение всего времени работы программы или нет; знаем ли точное число элементов; структура формируется сразу или по ходу работы.1)Какой алгоритм обработки ЛСД предусмотрели. (Например, с прямым вычисляемым доступом к любому элементу или нет, когда до нужного элемента добираемся просмотром остальных).

35. Отображение ЛСД в ФСД.Существуют 3-и структуры хранения: вектор, односвязный список, нелинейный список.ЛСД - это бесконечное множество.Каждую из ЛСД можно отобразить в каждую структуру хранения. Процесс отображения называется реализация ЛСД на базе структур хранения. Говорят что мы реализовали ЛСД на базе вектора (списка, сети) если: 1) мы храним элементы ЛСД и связи между ними в виде вектора(списка ,сети)2)выполнение операций над ЛСД это выполнение операций над вектором (списком ,сетьюДля того, чтобы отразить необходимо 3 момента:1) какие существуют ЛСДКак они классифицируются с точки зрения представления пользователя. 2)какие существуют ФСДФизические структуры часто называют структурами хранения данных. 3)как происходит отображение ЛСД в ФСД:а)необходимо отобразить элемент ЛСД в элемент ФСД б)отобразить связи в)написать функции, позволяющие выполнять разработанные нами операции над ЛСД на уровне физическом организации

36.Классификация логических структур данных. Выделяются несколько признаков классификации структур данных :1) отсутствие/наличие явно заданных связей между элементами структуры.В соответствии с этим они делятся на:несвязные - отсутствует явная связь между элементами. связные - имею связи с другими элементами структуры.Несвязные: вектор, запись, массив, стек, дек, строка, очередь, таблица, множество.Связные: все связные списки, древовидные структуры, графовые структуры общего вида.2) характер упорядочивания элементов в структуре данных: линейные - в этом случае все элементы расположены в структуре на одном уровне. нелинейные - в них элементы структуры расположены на разных уровнях. Линейные: последовательное расположение (вектор, массив, строка, стек, дек, очередь, последовательность) Произвольное (односвязный простой список,двусвязный простой список, кольцевой односвязный и двусвязный списки)Не линейные (все многосвязные списки древовидные структуры записи таблицы)3)Изменчивость структуры данных:Статические – вектор, массив, таблица.Полустатические – стек, дек, очередь, динамический вектор, последовательность, множество.Динамические - все списковые структуры, древовидные структуры, графовые структуры.

37. Статические структуры данных.Статические фактически, представляют собой структурированное множество примитивных, базовых, структур. Например, вектор может быть представлен упорядоченным множеством чисел. Поскольку по определению статические структуры отличаются отсутствием изменчивости, память для них выделяется автоматически на этапе компиляции или при выполнении - в момент активизации того программного блока, в котором они описаны. Каждую структуру данных характеризуют ее логическим и физическим представлениями.Вектор (одномерный массив) - структура данных с фиксированным числом элементов одного и того же типа. Элементы находятся друг с другом в единственно возможном отношении – отношении непосредственного следования. Строгая упорядоченность позволяет пронумеровать элементы последовательными целыми числами (индексами). Обращение к элементу вектора выполняется по имени вектора и номеру требуемого элемента. Элементы вектора размещаются в памяти в подряд расположенных ячейках памяти. Под элемент вектора выделяется количество байт памяти, определяемое базовым типом элемента этого вектора.Массив - такая структура данных, которая характеризуется: фиксированным набором элементов одного и того же типа; каждый элемент имеет уникальный набор значений индексов;

количество индексов определяют мерность массива; обращение к элементу массива выполняется по имени массива и значениям индексов для данного элемента. Массив - это вектор, каждый элемент которого - вектор.Многомерные массивы хранятся в непрерывной области памяти. Адресом массива является адрес первого байта начального компонента массива.Важнейшая операция физического уровня над массивом - доступ к заданному элементу. Как только реализован доступ к элементу, над ним может быть выполнена любая операция, имеющая смысл для того типа данных, которому соответствует элемент. Преобразование логической структуры в физическую называется процессом линеаризации, в ходе которого многомерная логическая структура массива преобразуется в одномерную физическую структуру.Запись - конечное упорядоченное множество элементов (полей) различных типов данных. Имя должно задаваться на этапе описания логической записи.Для простой записи характерно, что каждый ее элемент является простым данным или цепочкой простых данных одного и того же типа. Если изобразить в виде дерева: корень – имя записи, листья – элементы записи.Общий вид записи: каждый ее элемент может быть в свою очередь представлен записью более низкого уровня. Такая иерархическая структура записи может содержать произвольное число уровней (многоуровневая запись), где принято выделять уровни. Наименование всей записи принадлежит к 1ому уровню Полезная информация содержится в элементах, соответствующих листьям дерева. Остальные используются для доступа к полезной информации для записи – содержательные элементы. Располагаются в логической структуре записи.Доступ к элементам в ЛСЗ осуществляется указанием последовательности идентификаторов содержащей идентификатор записи и идентификаторы промежуточных элементов и соответствующего содержательного элемента.

Эта последовательность однозначно определяет путь по дереву в ЛСЗ начиная от идентификатора записи и заканчивая идентификатором требуемого содержательного элементами.Таблица – конечное множество записей, имеющих одну и ту же организацию С физической точки зрения таблица представляет собой вектор, элементами которого являются записи.Доступ к элементам таблицы производится по ключу - по значению одного из свойств объекта, описываемого записью-элементом таблицы. Таблица может иметь несколько ключей.Типичные операции: включение данных о новом элементе; поиск элемента с целью чтения его данных; исключение элемента.Вектор, массив, запись, таблица характеризуются: след. свойствами: постоянство структуры в течении всего времени ее существования; смежность элементов; простота и постоянство отношений между элементами структуры.