Циклические методы индексной сортировки элементов массивов данных

УДК 519.6

Кадиев И.П., Кадиев П.А.

ЦИКЛИЧЕСКИЕ МЕТОДЫ ИНДЕКСНОЙ СОРТИРОВКИ ЭЛЕМЕНТОВ МАССИВОВ ДАННЫХ

Kadiev I.P., Kadiev P.A.

CYCLICAL METHODS OF SORTING THE INDEX ELEMENTS DATASETS

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

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

In work cyclic methods of index sorting of data files, at the heart of which shift of elements for the purpose of receiving the configurations possessing certain properties are considered.

Key words: data files, indexes, sorting, permutation.

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

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

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

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

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

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

- циклические сдвиги: по строкам, по столбцам, в последовательности строк - столбцы и столбцы - строки;

- перестановки строк;

- перестановки столбцов;

- комбинированные перестановки.

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

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

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

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

Анализ индексов элементов массивов, полученных при циклических 2-х этапных сортировках «строка - столбец» или «столбец - строка» позволяет выявить закономерности в изменениях индексов их элементов.

Так, при циклических группировках, с последовательностью сдвигов «строка - столбец», индексы элемента ау в строках, независимо от его местоположения, меняются слева на право следующим образом: первый индекс элемента, следующего за данным в строке увеличивается всегда на 1, т.е. он

равен (! +1), а второй увеличивается на 2, т.е. он равен ( j+2).

Индексы элементов, расположенных над и под данным элементом aij , меняются по правилу: оба индекса элемента расположенного над ним уменьшаются на 1 и равны ( i - 1) и ( j - 1), у элемента расположенного в столбце под ним индексы увеличиваются на 1 и равны ( i+1) и ( j+1).

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

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

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

Ниже, в качестве примера, приведен массив Мц, образованный циклическими сдвигами в последовательности «строка - столбец» исходного массива М9х9 с элементами ау, и массив, полученный последующими перестановками строк в Мц, с расположением их по номерам в порядке 1-4-3-6-9-5-8-2 - Мс.

аца2заэ5а47а59аб2а74а8ба98 аца2заз5 а47а59 а62 а7 4 а 8 6 а 9 8

а22аз4а4ба58аб1атза85а97а19 а44а56а68 а71а8за95 а17а29аз2

азза45а57аб9а72а84а9ба18а21 а77а89а92 а14а26аз8 а41а5за65

а44а5баб8а71а8за95а17а29аз2 азза45а57 а69а72а84 а 96а18а21

М ц=а55аб7а79а82а9за15а27аз9а4з Мс = абба78а8 а9за15а2 аз9а42а54

абба78а81а9за15а27аз9а42а54 а99а12а24 аз6а48а51 а6за75а87

а77а89а92ама2баз8а41а5заб5 а88а91а1за25аз7а49а52аб4а7б а99а12а24азба48а51абза75а87 а55а67а79 а22аз4а46 а88а91а1з а82а9за15 а58а61а7з а25аз7а49 а27аз9а42 а85а97а19 а52а64а76

Для массива Мц характерны указанные выше свойства: в каждой строке

81

и каждом столбце располагаются по одному элементу из каждой строки и каждого столбца исходного массива. На это свойство указывает то, что оба индекса элементов в каждой строке и каждом столбце принимают значения от 1 до п. Алгоритмы перестановок, позволяющие получить массивы с этими свойствами, были предложены в [2].

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

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

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

Число возможных конфигураций, обладающих рассмотренными свойствами внутренней структуризации в виде сортировки элементов на кхк квадратов, общее число которых равно п, определяется числом возможных перестановок их элементов с сохранением основных свойств конфигурации. Число перестановок строк внутри каждой из групп квадратов размерности кхк равно к!, общее число внутригрупповых перестановок будет определяться числом (к!)п/к . Таким же будет число перестановок групп по вертикальным и по горизонтальным группам квадратов. Общее число перестановок будет определяться числом (к!)(п/к ) (п/к ) , и оно равно общему числу вариантов построения массивов, с указанными выше свойствами. Каждой конфигурации при этом будет соответствовать свой алгоритм перестановки элементов матрицы. Для рассмотренного примера это число равно (3!)6=53236.

Остается открытым вопрос: для всех ли « п» могут быть построены эти конфигурации? Ответ на этот вопрос может быть легко сформулирован, если учесть, что числа к и п должны быть кратными числами и должно выполняться условие: п = к х к = к2 и к = Уп .

Таким образом, можно утверждать, что предложенные в работе конфигурации с группировкой элементов в виде квадратов, существуют только для образований матричного типа размерности пхп, в которых выполняются условия (1), для чисел п, образующих ряд 4, 9,16, 25, 36, 49,... , из которых корень квадратный - целое число.

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

82

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

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

В данной статье предложены:

- классификация методов индексной сортировки элементов массивов данных и дана характеристика методов и алгоритмы их реализации;

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

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

Библиографический список:

1. Тараканов В.Е. Комбинаторные задачи и (0,1)-матрицы. М.; Наука, 1985, с.193

2. Кадиев И.П., Кадиев П.А. Об одном классе комбинаторных конфигураций. Вестник ДГТУ, Технические науки, №31. 2013, стр.45-49

3. Массивы данных /Электронный ресурс. http://www.cyberforum.ru/