Научная статья на тему 'Поле структур данных'

Поле структур данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
138
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА / СТРУКТУРА ДАННЫХ / ПОЛЕ СТРУКТУР ДАННЫХ / ИЗОМЕРИЯ / ЭЛЕМЕНТ ДАННЫХ / ПАРАМЕТР / ПРИЗНАК / УКАЗАТЕЛЬ / SYSTEM / DATA STRUCTURE / FIELD OF DATA STRUCTURES / ISOMERISM / DATA ELEMENT / PARAMETER / CHARACTERISTIC / POINTER

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Володин Александр Михайлович, Дрождин Владимир Викторович

Рассмотрены конструктивные элементы и уровни организации структур данных. На основе общей теории систем Ю.А. Урманцева разработана модель поля структур данных, максимально учитывающая разнообразие известных структур данных. Показано соответствие и полнота преобразований структур данных в поле структур данных преобразованиям объектовсистем в общей теории систем.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The field of data structures

The constructive elements and organization levels of data structures are considered. Based on general systems theory written by Y.A. Urmantsev the model of data structures field that comprises the variety of known data structures is developed. The correspondence and completeness of data structures transformations in the field of data structures with objectssystems transformations in general systems theory is pointed out.

Текст научной работы на тему «Поле структур данных»

ИЗВЕСТИЯ

ПЕНЗЕНСКОГО ГОСУДАРСТВЕННОГО ПЕДАГОГИЧЕСКОГО УНИВЕРСИТЕТА имени В. Г. БЕЛИНСКОГО ФИЗИКО-МАТЕМАТИЧЕСКИЕ И ТЕХНИЧЕСКИЕ НАУКИ № 18 (22)2010

IZVESTIA

PENZENSKOGO GOSUDARSTVENNOGO PEDAGOGICHESKOGO UNIVERSITETA imeni V. G. BELINSKOGO PHYSICAL, MATHEMATICAL AND TECHNICAL SCIENCES № 18 (22) 2010

УДК 004.6

ПОЛЕ СТРУКТУР ДАННЫХ

© А. М. ВОЛОДИН, В. В. ДРОЖДИН Пензенский государственный педагогический университет им. В. Г. Белинского, кафедра прикладной математики и информатики e-mail: a.m.volodin@gmail.com, drozhdin@yandex.ru

Володин А. М., Дрождин В. В. - Поле структур данных // Известия ПГПУ им. В. Г. Белинского. 2010. № 18 (22). С. 123-129. - Рассмотрены конструктивные элементы и уровни организации структур данных. На основе общей теории систем Ю.А. Урманцева разработана модель поля структур данных, максимально учитывающая разнообразие известных структур данных. Показано соответствие и полнота преобразований структур данных в поле структур данных преобразованиям объектов-систем в общей теории систем.

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

Volodin A. M., Drozhdin V. V. - The field of data structures // Izv. Penz. gos. pedagog. univ. im.i V. G. Belinskogo. 2010. № 18 (22). P. 123-129. - The constructive elements and organization levels of data structures are considered. Based on general systems theory written by Y.A. Urmantsev the model of data structures field that comprises the variety of known data structures is developed. The correspondence and completeness of data structures transformations in the field of data structures with objects-systems transformations in general systems theory is pointed out.

Keywords: system, data structure, field of data structures, isomerism, data element, parameter, characteristic, pointer.

Структура данных (СД) - это система, состоящая из элементов данных и отношений между ними, представляющих единое целое. В [1] установлено, что более сложные (нерегулярные) СД могут включать дополнительную информацию в виде параметров и признаков. Поэтому в общем случае СД могут строиться из конструктивных элементов следующих типов:

- элементы данных, способные содержать значения данных определенного размера;

- отношения (связи, указатели) между элементами, позволяющие получить доступ от одних элементов к другим элементам;

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

- признаки, информирующие одни элементы о свойствах других элементов.

Для спецификации СД будем использовать следующие обозначения: D = {с1} - множество элементов данных, L = {/} - множество параметров, С = {с} - множество признаков, и = {и} - множество указателей.

Ниже приведено графическое изображение конструктивных элементов СД:

Н И м на

а) элемент данных б) параметр в) признак г) указатель.

Элементы данных могут содержать значения данные разных типов, в разной форме представления, разного размера и др.

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

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

Отношения между конструктивными элементами задают их связность и могут реализовываться двумя способами: последовательным физическим размещением и ссылкой (физическим адресом) на требуемый элемент. Можно выделить одноуровневые указатели на предшествующий и последующий элементы, иерархические - на родителей и потомков (подчинен-

ные элементы), на выделенные элементы, обладающие определенными свойствами.

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

СД, содержащие только элементы данных и указатели, называются регулярными [1]. Все классические СД (множества, последовательности, деревья и др.) являются регулярными. Регулярные СД преимущественно ориентированы на равновероятный доступ к любому элементу данных.

В отличие от регулярных, квазирегулярные и нерегулярные [1] СД содержат также дополнительную (служебную или управляющую) информацию, представленную в виде параметров и признаков. Причинами возникновения нерегулярности СД являются неравномерность использования данных и специфика их обработки, фиксируемые в дополнительной информации.

В квазирегулярных СД дополнительная информация используется только в определенных ситуациях и несущественно влияет на логику обработки структуры. Примером квазирегулярных структур являются СД, используемые системой управления базами данных (СУБД) для хранения данных в таблицах и индексах, содержащие, например, информацию о количестве элементов и уровней в индексе.

В нерегулярных СД дополнительная информация не просто фиксирует особенности использования данных, а существенно влияет на их обработку, обеспечивая повышение ее надежности и эффективности. Нерегулярные СД строятся из гетерогенных (неоднородных) подструктур и элементов с разной организацией и дисциплиной обслуживания, которые могут быть по-разному упорядочены (частично упорядочены или неупорядочены), содержать или не содержать дубликаты и т.д.

СД целесообразно рассматривать как автономную систему, которая может возникать, формироваться, существовать в некотором неизменном виде или изменяться по определенным законам. Такие СД будут представлять собой реальные объекты.

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

В теории динамических систем системы принято задавать с помощью набора переменных х1, х2, ..., хп, однозначно определяющих их состояния. Тогда множество возможных состояний системы называется ее фазовым пространством (ФП), а изменение системы представляет собой некоторую траекторию в ФП. Поведение динамической системы, задается дифференциальным уравнением у = /[х(£)], где х = (х1,х2, ..., хп) -п-мерный вектор фазовых координат, или вектор состояния системы, £ - время, / - вектор-функция, которая при изменении времени £ описывает фазовую траекторию изменения системы [2].

Фазовое пространство структуры данных (ФПСД) может быть задано с помощью фазовых ко-

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

Однако учет в ФПСД только качественных и количественных характеристик СД и не позволяет однозначно задать все возможные СД. Например, с помощью ФПСД невозможно объяснить явление изомерии.

Две структуры данных S1 и S2 называются изомерами = S2), если они содержат одинаковый состав

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

К тому же, СД целесообразно рассматривать не как динамические, а как эволюционные системы, поведение которых не может быть описано аналитически.

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

Построение ПСД данных будем осуществлять на основе общей теории систем Ю.А. Урманцева (ОТС-У) [3, 4].

Основными понятиями ОТС-У являются понятия объекта-системы и системы объектов одного и того же і-того рода.

Объект-система (0S) - это композиция или единство элементов т с М05 построенная по отношениям (взаимодействиям) г с R0S и ограничивающим их условиям или законам композиции 2 с Z0S. Тогда в общем виде 0S представляется тройкой:

0S = <т, г, 2>.

Система объектов одного и того же і рода

(К-система или RS) - это закономерное множество 0S одного и того же качества (рода і), означающая, что каждая 0S построена:

- из всех или части элементов т с Мі, выделенных из универсума и (М' с V) по основаниям а с А';

- в соответствии со всеми или частью отношений

г с Ri;

- в соответствии со всеми или частью законами композиции 2 с Zi.

Тогда R-система представляется в виде:

RSi = {05і} = {<т', И, 2і > | т с М', Г с Ri, 2і с Zi>},

где М1 = V ± А'; ± - операция выделения подмножества из множества.

Любой объект есть 0S и каждая 0S принадлежит хотя бы одной RS [3]. Поэтому М05 = и М', R0S = и Ri, Zos = иZi R-систем, которым принадлежит 0S.

Если 0S принадлежит одной RSi, строится на основе всех отношений К и удовлетворяет всем законам композиции Zi, то модель 0S будет иметь вид:

0S = <т, Кі, Zi>, а в случае известной RSi:

0S = <т>.

Если OS принадлежит нескольким RS, но существенно проявляет свойства только некоторой RSi, а принадлежность другим RS несущественно проявляется в OS (М05\ И' ^ 0, ROS\ Я ^ 0, Zos\ Zi ^ 0), то вследствие системного изоморфизма можно считать, что OS принадлежит только RSi и отклонения в OS от RSi составляют систему противоречий, которую будем называть системой исключений.

Таким образом, если 0S принадлежит RSi, то накопление исключений позволяет ей, при определенных условиях, перейти в RSi’, а если 0S равноправно принадлежит нескольким RS, то она сочетает в себе их свойства.

Теперь можно построить Я-систему на множестве всех RSi. Для этого будем учитывать, что все R$ базируются на:

- общем универсуме элементов и;

- множестве возможных отношений единства между элементами Я;

- множестве возможных ограничений (законов композиции) Z.

Так как все RSi строятся из универсума элементов и, отношений единства Я и законов композиции Д то все они имеют общую (универсальную) природу, а типы RSi проявляются при их взаимодействии и в структуре 0S. Поэтому можно определить отношение вхождения одной Я-системы в другую.

Будем говорить, что RSi полностью входит (включена) в и обозначать это как RSi с Я$, если И с И, Я с Я и % с Д т.е. для формирования Я9, включающей RSi, достаточно удалить из или ослабить некоторые ограничения. Отношение включения по своей природе является отношением иерархии между Я-системами.

RSi частично входит (частично включена) в Я$ и обозначается как Я$ с Я9, если И П И Ф 0, И\ И Ф 0, Я' П Я Ф 0, Я' \ Я Ф 0, П % Ф 0 и % \ % Ф 0, т.е. для формирования Я$, частично включающей ЯЭ-, необходимо выделить в 0Si е части подсистем, соответствующие объектам-системам 09 е Я$. Отношение частичного включения обладает свойством симметричности и, следовательно, отражает взаимосвязь Я-систем одного уровня.

Тогда на основе отношений полного и частичного вхождения можно определить на множестве всех единственную Я-систему с сетевой структурой в виде:

№ = и = {09} = {<т, г, 0 > | т с и, г с Я>}.

Отношение включения, отражая основные (наиболее устойчивые) взаимосвязи между Я-системами, позволяет формировать 09, принадлежащие только одной RSi, а отношение неполного включения дает возможность 09' е приобретать новые свойства путем

добавления новых первичных элементов, новых отношений между элементами и изменения законов композиции, что позволит соотнести 09' с 0$ е Я$. Если же в будет формироваться набор 09' со свойствами, выходящими за пределы RSi, и в RS не найдется Я^, 0$ которой соответствовали бы 05', то в RS должна

быть сформирована новая Я-система, позволяющая объединить 09' с новыми свойствами.

В соответствии с ОТС-У в 09 необходимо выделять отношения, формирующие подсистемы эволюционных и неэволюционных преобразований, отношений противоречия и непротиворечия, полимор-физации и изоморфизации, симметрии и асимметрии, эволюции (изменения) и сохранения, позволяющие относить 09 к различным Я-системам. Я-системы различных типов формируют в RS самостоятельные подсистемы на основе отношения включения.

Таким образом, все допустимые изменения и эволюция 09 всегда происходят в рамках некоторой Я-системы, даже если начальная 09' и конечная 0$ принадлежат разным Я-системам, что определяется их замкнутостью относительно единственной системы RS.

Основываясь на теоретических положениях и системном методе ОТС-У, разработаем модель ПСД.

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

Конструктивные элементы являются минимальными компонентами СД и включают: элементы данных, параметры, признаки и указатели.

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

Абстрактный тип данных (АТД) задает множество значений данных D и операций над ними О и не учитывает представление данных и реализацию операций в компьютере [5, 6]. Формально абстрактный тип данных задается в виде:

£ = ^ , О >

g g’ g

где ^ - абстрактный тип данных с именем g; Dg - множество значений типа ^ Оg - множество операций, выполняемых над значениями типа ^

В общем случае в АТД в качестве операндов операций могут выступать не только данные, определенные АТД, но и данные других типов: стандартных типов языка программирования или определенных в других АТД. Результат операции также может иметь тип, отличный от определенных в данной спецификации АТД.

На физическом уровне конструктивные элементы задаются с помощью конкретных (физических) элементов, для которых определен тип данных, реализуемый на компьютере (в языке программирования).

Будем называть К-системой 1-го уровня множество допустимых конструктивных элементов определенного типа, которые будем считать атомарными (неделимыми) на данном уровне:

091 = <т1, 0, 0> = <т1>,

RS1 = {OS1} = {<m‘> | m1 с M1} = {<m‘> | m1 e M1},

где A1 = g11 - основания выделения конструктивных элементов типа g11; m1 e M1; R1 = 0; Z = 0.

Примерами R-систем 1-го уровня являются множества элементов данных D, параметров L, признаков C и указателей U:

OS11 = <d>, RS11 = {<d> | d e D},

OS21 = <l>, RS,1 = {<l> | l e L},

OSg1 = <c>, RSg1 = {<c> | c e C},

OS41 = <u>, RS41 = {<u> | u e U}.

На физическом уровне OS1 и RS1 могут быть представлены в виде:

OS11 = <5>, RS11 = {<d> | d e DMtegJ и 5 = d, где 5 - значение переменной, D - множество значе-

r ! Integer

ний целого типа данных Integer.

Сильно связанные элементы группируются в узлы (блоки).

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

В системе объектов 2-го уровня можно выделить более мелкие подсистемы, например, системы объектов бинарных или тернарных узлов.

В общем случае узел СД может содержать произвольное количество конструктивных элементов.

Назовем К-системой 2-го уровня множество узлов, содержащее все возможные сочетания конструктивных элементов:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

0$ = <т2, г2, г2>,

R$ = {092} = {<т2, г2, г2> | т2 с И2, г2 с Я2, г2 с 7*},

где И2 = {0911, 09^, ..., 09^}; п - число конструктивных элементов в узле; 0$.1 - конструктивный элемент типа ^1; Л2 = g21, ..., gn1] - основания для выделения конструктивных элементов соответствующих типов; Я2 -отношение композиции (агрегации); 7 - ограничения, определяющие допустимое разнообразие объектов 0$ в системе объектов R$! (разрешения и запреты на сочетание элементов в узле, ограничения на минимальное и максимальное количество элементов в узле и др.).

В таблице 1 приведены возможные комбинации конструктивных элементов для построения узлов. Приведенные композиции содержат только неповторяющиеся типы конструктивных элементов в одном узле. Поскольку типов элементов СД всего 4 (элементы данных, параметры, признаки и указатели), то число таких композиций равно:

4

£С4 = 24 - 1 = 15.

В таблице 2 приведены возможные композиции узлов, содержащие различное количество элементов данных d и указателей и. Между элементами узла установлены связи, являющиеся фиксированными (позиционными) указателями.

Таблица 1

Таблица 2

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

Вектор фазовых координат, характеризующий состав конструктивных элементов узла, зададим в виде (х^ х, х, хи), где хй - число элементов данных, х1 -число параметров, хс - число признаков и хи - число указателей в узле. Так, состав узла односвязного списка может быть задан с помощью вектора (1, 0, 0, 1), а узла двусвязного списка - (1, 0, 0, 2).

Узел бинарного дерева содержит элемент данных и два указателя на узлы-последователи и может содержать указатель на предшествующий узел. Состав этого узла определяется вектором (1, 0, 0, 2) или (1, 0,

0, 3). Аналогично в узле т-арного дерева (например, В-дерева) может храниться не более т-1 элементов данных и не более т указателей, поэтому состав узла определяется вектором (т-1, 0, 0, т).

Узлы СД могут иметь равное количество конструктивных элементов, но при этом будут отличаться друг от друга их размещением (перестановками). Такие узлы называются изомерами. Например, изомерами являются: узлы d2, и1, и2> и и1, d2, и2>,

где d1, d2 - элементы данных, и1, и2 - указатели; узлы <d, и——, и——> и <d, и-1, и^> - где d - элемент данных, и——, и— -одноуровневые указатели на предшественника и последователя, и^ - иерархический указатель на потомка.

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

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

структуры, но с различным количеством элементов, и признаки, позволяющие строить гетерогенные СД из узлов различной структуры.

Структура данных - это система, строящаяся по определенным законам из конструктивных элементов, узлов и подструктур.

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

Если всей СД соответствует граф, то подструктурам будут соответствовать собственные подграфы. Вследствие определенной обособленности подструктура может рассматриваться как элемент сложной СД.

Будем называть К-системой 3-го уровня множество структур:

0S3 = <т3, г3, г3>,

= {0$3} = {<т3, г3, г3> | т3 с И3, г3 с Я3, г3 с 73},

где И3 = {0^, 0921, ..., 0Sn1, 0S12, 092, ..., 09 2, 0^, 0923, ..., 09^}; п, к, q - количество конструктивных элементов, узлов и подструктур в структуре; OSj1 - конструктивный элемент типа ^1; 0$2 - узел типа 4_2; 0$3 -подструктура типа ^3; Л3 = [^\ g21, ..., gn1, gl2, g22, ..., gk2, g13, g23, ..., gq3] - основания для выделения конструктивных элементов, узлов и подструктур соответствующих типов; Я3 - структурные отношения между элементами структуры; %3 - ограничения на структурные отношения.

Структурные отношения R3 задают устойчивые (логические) взаимосвязи между элементами (компонентами) СД. В качестве примера таких взаимосвязей могут выступать отношения непосредственного следования (направления переходов от одних элементов к

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

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

В СД, реализованных с помощью связных списков, структурные отношения реализуются указателями. В массивах реализация отношений основана на преобразовании индекса (позиции) элемента в адрес физической памяти. Поэтому массивы предоставляют прямой доступ к элементам.

Законы композиции 73 - это ограничения на структурные отношения. Математически эти ограничения можно выразить с помощью предикатов. Например, условие сбалансированности АВЛ-дерева требует, чтобы для каждого узла высота его правого поддерева отличалась от высоты левого не более чем на единицу.

В бинарном дереве поиска значение ключа в любом узле должно быть больше либо равно значениям ключей во всех узлах левого поддерева этого узла и меньше либо равно значениям ключей во всех узлах правого поддерева этого узла:

х < к < у,

где к - значение ключа произвольного узла К; х - значение ключа любого узла левого поддерева узла К; у -значение ключа любого узла правого поддерева узла К.

В т-арном дереве поиска должно выполняться условие:

^ < к < s< < ... < к . < s ,

0 0 1 т-1 т)

где к0, ..., кт1 - значения ключей узла К, s0, ..., sm - максимальные значения ключей соответствующих поддеревьев узла К.

В СД также могут накладываться ограничения на количество элементов, тип и число связей между ними, уникальность (наличие или отсутствие дубликатов) элементов и др.

Операции, выполняемые над СД, должны сохранять структурные отношения в рамках законов композиции. Удовлетворение этих ограничений осуществляется с помощью специальных методов. Например, после вставки (удаления) нового элемента в сбалансированное дерево выполняется процедура балансировки, реализуемая посредством вращений.

Внутри системы объектов 3-го уровня могут выделяться подсистемы, формирующие отдельные виды, рода, классы, типы и др. Например, среди логических СД можно выделить следующие классы: множества (множества, мультимножества), последовательности (списки, списки с пропусками, циклические списки, очереди, стеки, деки), деревья (бинарные, тернарные, т-арные, произвольной арности), сети, графы.

СД также свойственно явление изомерии. Структуры-изомеры отличаются связностью элементов (топологией графа связей). Изомерами являются, например, различные классы бинарных деревьев, отличающиеся условием сбалансированности: АВЛ-деревья, красно-черные деревья, деревья Фибоначчи. Структуры-изомеры могут относиться к разным типам СД, например, двусвязные списки и бинарные деревья, узлы которых содержат элемент данных и два указателя.

Явление изомеризации СД объясняется тем, что количество конструктивных элементов и других инвариантов (количество смежных элементов, число компонентов связности и т.д.) не определяют граф связей СД с точностью до изоморфизма.

Ниже приведены графы, соответствующие различным вариантам построения бинарного дерева:

а)

б)

в)

г).

Графы не изоморфны друг другу, поскольку в общем случае не существует биекции, сохраняющей смежность вершин. Однако между вершинами графов можно установить взаимно однозначное соответствие. Поэтому каждый из графов может быть преобразован в другой с помощью некоторого набора операций перестановки. При этом топологическими свойствами (инвариантами) приведенных графов являются число вершин (7) и ребер (6), максимальная валентность вершин (2), число компонентов связности (1) и др.

Таким образом, представленные СД являются изомерами. Однако они будут обладать различными особенностями обработки данных. Например, известно, что высота сбалансированного бинарного дерева ограничена значением 2^2п, где п - количество элементов в дереве. Сбалансированные деревья ориентированы на равновероятный доступ к элементам: время доступа к данным и сложность их обработки пропорциональны 0(^2п).

Несбалансированные деревья имеют большее число иерархических уровней, чем сбалансированные. Однако они могут быть организованы с учетом интенсивности (частоты) использования данных: наиболее часто используемые данные будут располагаться на верхних уровнях иерархии, а редко используемые - на нижних.

Основываясь на рассмотренных теоретических обоснованиях и организации СД сформулируем формальное определение поля структур данных.

Пространство всех потенциально возможных СД с заданными на нем бесконечными множествами конструктивных элементов, структурных отношений между конструктивными элементами и законов ком-

позиции, структурно совпадающее с RS, будем называть полем структур данных.

СД, создаваемые и используемые в программах, являются функциональными системами [7], т.е. целостными объектами, способными самостоятельно функционировать в некоторой среде. Реально существующие СД в процессе своего существования претерпевают различные изменения, что позволяет сопоставлять их состояниям точки ПСД.

Основываясь на вышеизложенном, можно показать соответствие и полноту преобразований СД в ПСД преобразованиям объектов-систем, определенным в ОТС-У.

Теорема. Возможны лишь 4 основных и 11 производных способов преобразования СД.

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

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

Использование в СД параметров соответствует количественным преобразованиям системы в ОТС-У, т.к. позволяет зафиксировать максимальный размер элемента, максимальное количество элементов в узлах и другие количественные ограничения на значения элементов данных и отношения между ними.

Наличие признаков в СД соответствует качественному преобразованию системы в ОТС-У, т.к. позволяет зафиксировать различные особенно-

сти отдельных элементов данных, узлов, подструктур и СД в целом, или информировать одни элементы о свойствах других элементов.

Использование указателей соответствует относительному преобразованию системы в ОТС-У, т.к. изменяет способ доступа между элементами СД, выделяя отдельные элементы или группы элементов с определенными свойствами.

Изменения СД с использованием различных комбинаций форм представления данных, параметров, признаков и указателей соответствуют производным преобразованиям системы в ОТС-У.

Теорема доказана.

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

СПИСОК ЛИТЕРАТУРЫ

1. Дрождин В.В., Володин А.М. Синергетический подход к организации структур данных // Программные продукты и системы. 2010. № 1. С. 29-34.

2. Словарь по кибернетике / Под редакцией В.С. Михале-вича. Киев: Гл. ред. УСЭ им. М.П. Бажана, 1989. 751 с.

3. Система. Симметрия. Гармония / Под ред. В.С. Тюх-тина и Ю.А. Урманцева. М.: Мысль, 1988. 315 с.

4. Урманцев Ю.А. Эволюционика, или общая теория развития систем природы, общества и мышления. М.: Книжный дом «ЛИБРОКОМ», 2009. 240 с.

5. Седжвик Р. Фундаментальные алгоритмы на С++: анализ, структуры данных, сортировка, поиск. Киев: ДиаСофт, 2001. 688 с.

6. Нагао М., Катаяма Т., Уэмура С. Структуры и базы данных. М. Мир, 1986. 197 с.

7. Абдеев Р.Ф. Философия информационной цивилизации. М.: ВЛАДОС, 1994. 336 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.