Студопедия — Модели структур данных
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Модели структур данных






Решение задачи автоматического синтеза оптимальных структур данных, используемых для хранения графа или вспомогательной информа-ции, требует разработки моделей таких структур.

Эта модель должна:

• отражать структурные особенности различных способов организации данных, существенные с точки зрения оценки вычисли-тельной сложности выполняемых операций, а также емкостной сложности структуры данных;

• позволять выполнять формальные преобразования, позволяющие получать новые структуры из имеющихся;

• позволять автоматически оценивать вычислительную и емкостную сложность базовой и производных конструкций.

Векторная организация предполагает размещение однотипных элементов в последовательной непрерывной памяти.

Основными компонентами вектора данных, являются множество ад-ресов (базы и элементов) – A и множество значений элементов – V.

При этом из множества адресов выделяется подмножество AAB, состоя-щее из одного элемента – адрес базы. На остальных элементах это-го множества AAE = A \ AAB определено отношение порядка.

В структуре между этими компонентами существует множество отно-шений С, которое распадается на следующие подмножества:

СA – отношения адресов A, показывающие, что из одного адреса в процессе работы получают другой, где

СAE – несимметричные отношения адресов данных, отображающие, что адрес каждого элемента может быть получен из адреса любого другого;

СAB – несимметричное отношение адреса базы и адресов элементов;

CV – симметричные отношения взаимнооднозначного соответствия элементов данных V и адресов AAE, по которым они расположены.

Максимальное количество элементов данных, которые могут быть занесены в этот вектор, определяется количеством зарезервиро-ванных адресов ZAE плюс адрес базы. Поэтому элементам множества вершин ZA следует сопоставить значение lV – объем памяти (байт), необходимый для размещения одного элемента данных, т. е.

(" z Î ZA) l (z) = lV.

Объем памяти, необходимый для хранения вектора, таким образом, составит L в = lV ·| ZA | (байт).

При этом следует учитывать, что элемент данных, хранимый в струк-туре, может помимо соответствующего элемента множества вклю-чать связанные с ним веса. Следовательно, объем памяти

lV = lz + lw 1+ lw 2+ …+ lwr, где w 1, w 2, … wr Î W – множество весов.

В полученной модели каждое ребро соответствует одной операции вычисления адреса, следовательно функциональная вычислительная сложность определения элемента по номеру Q = 1.

Поиск элемента по значению, а также поиск экстремальных значений и значений, следующих за ними, в среднем предполагает просмотр по-ловины элементов, а потому функциональная вычислительная слож-ность этих операций для вектора составляет Q = n/2, где n = | ZV | – ко-личество элементов данных, хранящихся в векторе.

Поскольку значения элементов данных в обычном векторе не упорядо-чены, добавление элементов данных в вектор выполняют, дописывая значения на свободные места в конец вектора. Откуда функциональ-ная вычислительная сложность добавления элемента к несортированной совокупности данных Q = 1.

Дуги EAB упорядочены, т. е. нераздельно связаны с вершинами адресов, к которым они подходят, следовательно, для удаления элемента с но-мером k требуется изменить соответствие следующих вершин ZV вер-шинам ZAE. Откуда функциональная вычислительная сложность этой операции в среднем Q = n/ 2.

При этом вычислительная сложность выполнения основных операций для множества элементов данных считается одинаковой, поэтому определенные выше значения вычислительной сложности могут быть сопоставлены каждому элементу данных " z Î ZV или его адресу " z Î ZAE.

Учитывая, что количество элементов данных может быть увеличено и, кроме того, в дальнейшем модель будет использоваться для оценки вычислительной сложности комбинированных структур, оценки вычислительной сложности целесообразно сопоставлять именно вершинам адресов элементов, которым в комбинированных структурах будут соответствовать вложенные структуры.

Таким образом, ZAE ® Qo, где Qo = { Qo i, i = 1,| Op | }, а Qo i – вычислительная сложность выполнения i -ой операции op i Î Op для элемента z Î ZAE.

Моделями вектора данных и вектора адресов будут соответственно графы:

G Д({<{ ZAB, ZAE }, lV,QО>;, ZV }, { { EAB, EAE }, EV }) и

G А({<{ ZAB, ZAE }, lA, QО>;, ZAV }, {{ EAB, EAE }, EAV }).

В отличие от векторной структуры компоненты списка расположены в произвольных местах памяти. Эти компоненты для линейного односвязного списка связаны между собой отношением «следующий» за счет хранения в компоненте адреса следующего компонента. Адрес списка хранится в начальном компоненте. Элементы данных связаны с адресами их хранения. При переходе от объекта к модели:

A «ZA, V«ZV, ZA È ZV=Z, ZA Ç ZV= Æ;

• C AB «EAB = { e 0}, где e 0 – дуга;

• C AE «EAE – множество дуг;

• C V «EV – множество звеньев, соединяющих вершины ZAE и ZV.

При расчете емкостной сложности помимо памяти, отводимой для хранения элементов данных, необходимо учитывать память, используемую для хранения адресов.

Каждому элементу множества ZA сопоставим значение lA – объем памяти,необходимый для хранения адреса, а каждому элементу множества ZV – значение lV _ объем памяти, необходимый для элемента данных, т. е.

(" z Î ZA) l (z) = lA & (" z Î ZV) l (z) = lV.

При этом объем памяти, необходимый для реализации линейного односвязного списка, определяется формулой:

LS 1 = lA * | ZA | + lV * | ZV |.

При определении вычислительной сложности выполнения основных операций следует иметь в виду, что характеристики сложности для односвязного списка зависят не только от типа структуры, но и от способа добавления элементов данных в нее.

С этой точки зрения необходимо различать стековую и последователь-ную (очередь) дисциплины добавления/обработки. Для стека характерно, что элементы добавляются перед первым – в начало списка, следовательно, первым будет обрабатываться элемент, добавлен-ный последним. Добавление элементов в очередь выполняется в конец списка, следовательно, первым будет обрабатываться эле-мент, помещенный в очередь первым. Так вычислительная сложность выполнения операций определения первого и следующего элементов в среднем для очереди Q = 1, а для стека – Q = n /2. И, наоборот, вычислительная сложность выполнения операций определения последнего и предыдущего элементов в среднем для очереди Q = n /2, а для стека – Q = 1.Соответственно, вычислительная сложность добавления элемента в среднем для стека Q = 1, а для очереди – Q = n /2, так как предполагает поиск конца списка.

Вычислительная сложность удаления элемента не зависит от дисциплины обработки, так как при выполнении этой операции в любом случае приходится искать адрес либо предыдущего (очередь), либо следующего элемента (стек), адрес которых не хранится в удаляемом элементе, поэтому в среднем вычислительная сложность выполнения операции удаления для односвязного списка Q = n/ 2.

Однако, если в процессе поиска удаляемого элемента сохранять адрес предыдущего элемента списка, то удаление элемента может быть выполнено со сложностью Q = 1. Аналогично, операция добавления также может быть выполнена со сложностью Q = 1.

Вычислительная сложность поиска элемента по номеру или значению, а также поиска экстремумов и значений, следующих за ними, и для стека и для очереди в среднем Q = n/ 2. Аналогично модели вектора сопоставим каждому элементу множества ZAE вычислительную сложность выполнения операций с этим эле-ментом, т. е. ZAE ® Qo, где Qo = { Qoi, i =1,| Op | }, где Qoi – вычислитель-ная сложность выполнения i -ой операции opi Î Op для элемента z Î ZAE.







Дата добавления: 2015-04-19; просмотров: 419. Нарушение авторских прав; Мы поможем в написании вашей работы!



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Понятие и структура педагогической техники Педагогическая техника представляет собой важнейший инструмент педагогической технологии, поскольку обеспечивает учителю и воспитателю возможность добиться гармонии между содержанием профессиональной деятельности и ее внешним проявлением...

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

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

Объект, субъект, предмет, цели и задачи управления персоналом Социальная система организации делится на две основные подсистемы: управляющую и управляемую...

Законы Генри, Дальтона, Сеченова. Применение этих законов при лечении кессонной болезни, лечении в барокамере и исследовании электролитного состава крови Закон Генри: Количество газа, растворенного при данной температуре в определенном объеме жидкости, при равновесии прямо пропорциональны давлению газа...

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия