Комбинаторные алгоритмы для программистов

          

Различные способы представлений


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

Различные способы представлений

Рис. 2.1.

 

Последовательное распределение последовательности

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

Так,

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

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

Различные способы представлений
и адресом ячейки, в которой хранится
Различные способы представлений
:

Различные способы представлений

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

Например, чтобы представить массив размером

Различные способы представлений

Различные способы представлений

(2.4)

будем рассматривать его как последовательность

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

Различные способы представлений

ячейка для

Различные способы представлений
будет иметь следующий адрес:

Различные способы представлений

Это представление известно как построчная запись матрицы; постолбцовая запись получается, если (2.4) рассматривать как последовательность

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

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

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

Характеристические векторы. Важной разновидностью последовательного распределения является случай, когда такому представлению подвергается последовательность некоторой основной последовательности

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

Например, характеристический вектор начального сегмента последовательности (2.3)

Различные способы представлений

характеристический вектор для простых чисел:

Различные способы представлений

Здесь основной последовательностью является последовательность целых положительных чисел. В ЭВМ с 32-разрядными словами для запоминания простых чисел, меньших

Различные способы представлений
, потребуется
Различные способы представлений
слов. Замечая далее, что для
Различные способы представлений
число
Различные способы представлений
не простое, можно сэкономить половину этого поля, выписывая разряды только для чисел видов
Различные способы представлений
, и запоминая, что простое число 2 отсутствует. Таким образом, простые числа, меньшие чем
Различные способы представлений
, можно записать только 15625 словами. Поскольку число простых чисел, меньших
Различные способы представлений
, равно 78498, последовательное представление, описанное ранее, потребовало бы поля в пять раз меньшего размера.

Характеристические векторы полезны в ряде случаев. Их полезность вытекает из их компактности, существования простого фиксированного соотношения между

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

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

Различные способы представлений
. Кроме того, их трудно использовать, если не существует простого соотношения между
Различные способы представлений
и
Различные способы представлений
.Если такое соотношение сложное, то использование характеристических векторов может быть очень не экономичным в смысле времени обработки. Если последовательности недостаточно плотные, то значительным может оказаться объем памяти. В случае простых чисел между
Различные способы представлений
и
Различные способы представлений
имеется простое соотношение:
Различные способы представлений
(или
Различные способы представлений
, если использовать только нечетные числа). Теорема о простых числах утверждает, что число простых чисел, меньших
Различные способы представлений
, приблизительно равно
Различные способы представлений
; таким образом, простые числа относительно плотно распределены в множестве целых чисел.
Различные способы представлений


Содержание раздела