Previous Page  9 / 14 Next Page
Information
Show Menu
Previous Page 9 / 14 Next Page
Page Background

Алгоритм кодирования бинарного дерева с минимальной избыточностью

ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение. 2017. № 3

41

В случае функции

decode

основные вычисления вне рекурсивных вызовов

выполняются при расчете формулы (2). На каждом этапе суммирования вычис-

ления произведения

1

,

i N i

C C

− −

что имеет суммарную сложность

( )

.

O N

С учетом

допущения о том, что поиск останавливается после

N

итераций, функция

( )

f n

пропорциональна

2

.

n

Для заданных условий выполняются следующие условия:

( )

2

2

;

2

n

T n T n

 

=

+

 

 

( )

( )

Ω ,

c

f n n

=

2;

c

=

log ,

b

c

a

>

2;

a b

= =

( )

n af

kf n

b

 

 

 

для

0, 5.

k

=

Эти условия соответствуют третьей форме основной теоремы о рекуррентных

соотношениях, при которой время работы функции

decode

имеет асимптотиче-

скую оценку

( )

( )

(

)

( )

2

Θ

Θ .

T n

f n

n

=

=

Для функции

encode

при тех же допущениях можно применить рассужде-

ния, аналогичные рассуждениям, использованным для функции

decode

, и

оценка времени работы алгоритма также равна

( )

2

Θ .

n

Результаты.

Примеры использования разработанного метода для перечис-

ления всех структур бинарных деревьев с тремя и четырьмя узлами приведены

на рис. 5 и рис. 6. Это перечисление было проведено программно, пример реа-

лизации алгоритма на языке

Python

можно найти в работе [10]. Для визуализа-

ции деревьев были использованы язык разметки

dot

[11] и система

Graphviz

.

Каждое показанное на рисунках бинарное дерево было построено на основании

индекса

I

и числа узлов

.

N

Рис. 5.

Бинарные деревья, построенные на основании индекса

ܫ

и числа узлов

N

= 3

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

а

I

= 0 (000

b

);

б

I

= 1 (001

b

);

в

I

= 2 (010

b

);

г

I

= 3 (011

b

);

д

I

= 4 (100

b

)

Сравнение размеров битовых последовательностей при кодировании алгорит-

мом, требующим ровно

2

N

бит

( )

1

,

L

и кодировании разработанным алгоритмом

( )

2

,

L

а также относительные избыточности кода для существующего

( )

1

R

и