Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Зубов В.С. Математическое обеспечение цифровых вычислительных машин и систем учеб. пособие

.pdf
Скачиваний:
4
Добавлен:
23.10.2023
Размер:
4.93 Mб
Скачать

-п о ■

используются лишь левые адреса до выявления пустого адреса;

ki=APrf]i

М k &

then

Bep in

Л\2-.A0[k} .= J

\ J * = k \

 

t £ A L lJli

0

th en ’ B e g in

к := A L fjh

$Q to

e/7<^

пере­

хода по цепочке левых;

М3\A L [i] \ - j

;

com m en t предыдущий

оператор включает очередной элемент в

односвязный

список,

а последующий фиксирует этот факт;

 

 

tr u e ;

9 °

to Ml

e n d перехода к

зайоминанлю места вынужденного

перехода

в цепочке по правому адресу, следующие 2 оператора реали­

зуют возврат по цепочке к первому попавшемуся элементу,

ещё не учтённому в

односвязном

 

списке;

Ш \ Ji~ A 0 jj]\

 

/£ BQ] the/,'

poto М4;

i£ AO[J,J Ф o then ро % №

e n d IZM4 при возврате

к фиксатору

 

 

 

 

 

 

 

2 .

Процедура простейших алгоритмов упорядочения

 

 

 

(в дополнение к § 2 гл. П)

 

 

 

 

 

 

a) p ro c e d u re

вставка ( Л )

записей:(-Z ) -.onauZ. ; integerп:

Begin

in te g e r

L

 

r e n t z ;

com m ent внешний цикл -

по включаемым записям,

вложенный цикл -

поиск места

вклю­

чения записи;

/ о г

/:=

2

ste p

I

u n tii

do

B ep in

 

-fo r j

;= i - 1

ste p

- I

u n tie

l

d o

i f z d l^ z itlth en

gotolk,

M: Z := Z C iJi

 

 

 

 

s te p

 

- I

u n tiB j

+ I

do

 

Z [к + I j:= 2 fk j ;

com m ent предшествующий

оператор осущест­

вляет'перемещение на одну позицию всех больших записей, а

последующий -

размещает новую запись на освобождённую тем

самым позицию,^ fj +l] := 7

e n d

включения очередной записи

e n d вставки

 

 

 

 

 

б) p ro c e d u re

пузырёк ( / ? )

записей: (Z ) ;

a r r a p Z ;

in te g e r п ;

co m m e n t

П -

асло записей;

 

B eg in in te g e r

L . J i

r e a d

z ; co m m e n t

во внешнем

цикле изменяется верхняя граница зоны, где устраняются ин­

версии, ибо за один её просмотр экстремальная

запись з о н ы

занимает заведомо окончательное положение;

 

f o e j := n ste p - I u n t ie 2 <fo B egin 7 \=ZCG\

com m ent

данный оператор и оператор с меткой М снимают копию запи­ си на случай, если её позицию займёт следующая запись

(случай их инверсии), идущий за комментарием оператор смещает все последовательно расположенные записи, инверс-

- / / / -

ные о копируемо’*, которую он помещает после них;

/0 7 Л = 2 s te p I и п Ш J do i£ z [ i] = s 7 /h en z /i-/k =Z fk

e£se

Begin

 

:= Z ;

M: Z : = Z [ i ]

e n d перехода к новой

 

"всплывающей"

записи; 2 [jj:~ Z ;

com m ent установка на

 

окончательное

место

экстремальной

записи;

e n d просмотра

 

зоны

e n d

пуэырька

 

 

 

 

 

 

 

 

 

 

3 .

 

Оператора оптимального

объединения внутренне

упо­

рядоченных сегментов (а )

и разделения на взаимно упорядо­

ченные

сегменты (б )(в дополнение к

§ 3 гл.П )

 

 

 

а)

ргосес/ап е

m ezp e (Z3)

число:in ?)

записей b : ( z 2 )

число:(/*?)

записей в : ( 2 У ) : in te p e z т ,

П ; a z z a j/Zf.Z2,Z3}

com m en t 2 3 - результирующий сегмент;

 

 

 

 

B egin

in te o e z

i tp

 

 

 

i ;

J o i^ k \= i

s t e p

i

u n t i t n V m d o в е р in

I / i> n / h en n o to d :

 

 

a / J > m

‘th en

p o to M : com m ent эти условные операторы

 

необходимы для обхода следующего оператора сопоставления

 

записей, если

один из

сегментов 21 t2 2 исчерпался;

 

 

i £ z i [ i ] < Z 2 [ p J th en

м '.Begin

Z 3 [k ]\= z -i[i] ; /: =

£+ le n d

выталкивания магазина Z i

e £ se

d :

Bep/n

Z 3 [t]\=

Z2fy'J\

 

 

^ n d выталкивания магазина Z 2 e n d включения оче­

редной'записи

в магазин 2 3 e n d т е ? р е

 

 

 

 

 

б) p z o c e d u z e so z /d iB B a id (Z )

нижняя грань; (<7) верх­

няя грань:{ & ) ; L n /e o e z

а . в :

a z z a t/Z

; с о т т е л / Z

-

разделяемый сегмент записей;

 

 

 

 

 

 

Bepin _ infeyeг

 

 

rent г: zW j^/W ; i^ Z fih

Шпл£2ф < 7 /hen Ведеп zftj:*ztf]\ oo£o Ж end:

com m en t предыдущий оператор включает запись из "верхнего^

магазинав

"нижний", если она инверсна с опорной 1 ;

М 2

: / : = / -

1 ; $ °

У

^he/г

M I

e£se М 5 ;

М3:

if_ Zfij>Z then

Be#in Z [j]\-Z C H :

g o to

М2 e n d :

com m ent предыдущий оператор включает запись из ’кяжяего"

магазина в "верхний" и переходит к рассмотрению записи в ' верхушке "верхнего” магазина;

М4 : L := i + I ; i£ 1 < J Ш п р о / о М3 ; M 5 :Z ^ 7 := 7 ; com m ent предыдущий оператор по окончании разделения раз­ мещает опорную запись между магазинами 2 [ i ] и 2 {J]‘t e n d раз­ деления, граница разделения фиксируется I , подробно® из­ ложение алгоритма см, в [Q j

 

 

 

 

- т -

 

 

 

4 .

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

 

 

(в дополнение к § 4 гл П)

 

 

 

а) Упорядочение неповторяющихся кодов через отображе­

ние на двоичный вектор В.

(ft) записей: (Z. ) разрядность

procedure

S it so rt

их ключей: (A ’ ) ;

integer arrapZ',integernfo Sepln Boolean

cnraigBBPtkbintepeZi ,J - ; fo r / : = I step 1 u n til

2f кdo

-false j

comment

элементы вектора В со значением

tr u e

будут

соответствовать

значениям,

вотретивишмся в Z. ;

jo 7 I ;= I

stepi

until /7

do_

true ;

comment

выполнена регистрация всех

значений ключей в Z

; J

г= I ;

for L

. 1

step

I

u n til 2rk do j£_ BiOthen

Sepin'

2 ф х ~

L\ j

 

I

d ftd этим

оператором по вектору В в цик­

ле выполняется''воспроизведение кодов Z

, но уже в упорядочен­

ном описке

типа

A e n d S i t SO T'S

 

 

 

б ) Упорядочение записей(в списке типа А) через отобра­ жение шс значений на вектор'счётчиков S .

p ro c e d u re

c o u n te rso rt

(П ) записей: ( Z ) разрядность

их ключей:( к ) ;

in te g e r

n . h i

I n te g e r

a r r a y

Z

;

com m ent значение

ключа

 

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

счётчика в векторе S ;

 

 

 

 

 

 

 

 

B enin

 

I n t e g e r

i , J j

in t e g e r

a r r a y

[ u z f k } ,

B o o le a n

 

a r ? a g

C l-.dh

fo r i ?=/

ste p

I u n t i l 2 tk cb_

Sfi]i=

Qi

to r

i:= i

s te p i

u n t i l a

do

8

t r u e

:

com m ent эти

оператора

приводят к исходному Виду вектор S

и в е к то р ^ ,

в котором будет

регистрироваться факт

окончате­

льного установления записи на позицию списка типа А;

 

fo r / ; = I

s te p i

u n t i l п do s r e f i j j i = . $ [ z [ i jj + i ;

com m ent этот

 

оператор

подсчитал чиоло

повторений каждого

значения ключа; J '.=pl+l; fo r

/•= 2fk ste p - I

u n t i l

I d o

Begin

S fiJ\= J : _ 7

- S / / 7

e n d замены элемента счётчика

номе­

ром начальной позиции для размещения в списке типа А запи­ сей с соответствующим значением ключа; следующий оператор

расстанавливает заш ои;

fo r С := I

s te p

I O n t il П

d o

i f BLil then fo ? J := S [ Z £ i j]

i&fo'lej t /

d p

B eg in

re ali ;

7 := ZC J]', Z lj}.= Z [i]\Z [H

:= 7 ;

com m ent

эти

3 оператора

осуществили обмен местами L

и у -й

записей,

следующий опе­

ратор регистрирует факт

окончательного положения записи на

 

 

- / t s -

 

 

 

J -M мес-те; B f jh * ja t s e

; щ ф

. l

x * S £ * & J J f u

°еп с / увеличения номера

позиции для

очередной записи с та­

ким же

значением ключа

e n d c o u n i e i s o i 'k

5.

Процедура дихотомического поиска в списке типа А

 

по совпадению,интервалу и близости

В числе параметров процедуры -

поисковые о б р а з ы /^ и

po2t

которые для поиска по

интервалу

соответствуют наибо­

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

Разновидностям поиска присвоены следующие значения факти­

ческого

параметра, ооответствуицего формальному параметру :

1

-

поиск по совпадению (вариант I :

отыокиваютоя вое

записи,

удовлетворяющие условию поиска)

или интервалу;

2

-

поиок по оовпаденшо (вариант 2 , достаточно найти .

одну

такую запись);

 

3

-

поиок по близости "сверху^

 

4

-

поиок по близости "снизу";

 

5 -

поиск по близости модулей поискового образа и клю­

чей записей.

Если иокомнх записей нет в маосиве', в теле процедуре

приобретает значение f a & e

параметр В .

В теле процеду­

ры все разновидности имеют

общее начало -

отыокание верхней

границы к ( запись о номером

к

минимальна из записей, нахо­

дящихся в'отношении строгого порядка о поисковым о<?разом/^б, Специфическим продолжениям поиска соответствуют учаотки,

начала которых помечены метками MI + М5.

Для разновидности I определяется нижняя граница

 

результатом поиска

являются все записи о

номером С ,

для ко­

торого справедливо

k>L>J- , если к

=

1 , искомых запи­

сей нет. Для разновидности 2 проверяется,

не соответствует

ли верхней границе- I -я запись списка

и соответствует

ли по­

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

p ro c e d u re

 

sea'zch

(/V )

наибольший ключ записи: (poj.)

наименьший ключ:{poi) массив записей:( Z )

их число:(/Z )

искомая верхняя граница:(А ')

ншшяя гр а н и ц а :^ )

результативность поиска: ( б ) ; u ite p e г

N .p o i poZ .n. k . j ;

a x i a y

z :

B ooiecm

В :

>

 

 

 

 

Begin

cnBepez

 

 

sm'fc/r /?.= mi,M2,M3,M4,M5;

/?

:= tzz/e

;

i ;

ki=rt+ I;

 

 

 

fo x

i-.= (J+ k)*2

whiBel<k'c/o

( / Z[i]^poiihenj •,=[+!

eBse k\=L

* go to

ftf/vh

 

white

m<J afo

MI:

m:=

0;

joi L\- {flhj)+2 +1

i f po2*s Z [i] then'

J

: =

i - i

eBse m\= i ;

/£.к-J

= I ihen_B>'.= daBse

;

 

 

M7;

М2: i £ _ /=

I

then B:= daBse eBse ifz[k-1] jpoliheg

В := faBse -. goto

M6;

 

 

 

 

 

 

М3: _г^£

 

 

В :=

BoBse

;

 

 

M7;

M4: ££. / - = /

-then &:=

,-MBse

 

g o t o

M6;

M5: 7 /

aBs (

p o i-zrk l) >aBs iDQl-7/к-П )

-then

М б :

k\= к- I ;

 

 

 

 

 

 

 

 

M7:

g/yy/ search

 

 

 

 

 

 

 

 

 

- I I S -

 

 

Л И Т Е Р А Т У Р А

 

1.

Шрейдер Ю.А., Равенство, сходство, порядок,

М ., "Нау­

 

ка", 1971,

 

2.

Хопгуд Ф ., Метода компиляции, лер. с англ.,

"Мир",

 

1972.

 

3.

Лалернов А .А ., Поднмов В .Я ., Упорядочение информация

в цифровых системах., М ., "Наука", 1973,

4.Зубов В.С. О сравнительных характеристиках древовидных методов внутреннего упорядочения. Сб,докладов научно-

технической конференции по итогам научно-исследователь­

ских работ, МЭИ, М.,

1970.

5. Гаврилова Т.Л. О структурном

анализе вьетнамского тек­

ста и одном способе записей

его результатов , "Пробле­

мы кибернетики", вып.13,

М,,

1965. .

6 . Тимофеев Б .Б ., Литзинов В .А ., Способ повышения произво­

 

дительности алгоритмов внешней сортировки, использующих

 

методы-разделения, "Кибернетика", ft I , 1969.

7.

Селетков С .Н ., Волков Б .Г ., Хранение и поиск данных в

*

ЭВМ, М., "Советское радио", 1971.

8 .

Лавров С .С ,, Автоматическая обработка данных,хранение

 

информации в памяти ЭВМ, М ., "Наука", 1971.

9.Глушков В .М ., Гладун В .Л ., Лозинский Л .С ., Логребияс-

кий С .Б ., Обработка информационных массивов в автома­ тизированных системах управления, Киев, "Паукова дум­ ка ", 1970.

Ю.Ледли Р .С ., Программирование и использование цифровых вычислительных машин, пер. с англ., "Мир", 1966. ‘

-

1 1 6 -

11. Алферова З .В ., Волович М .А., Сортировка информации с помощью электронных вычислительных машин, М ,, "Ста­ тистика", 1965.

12. Китов А .И ., Программирование информационно-логических задач, М ., "Советское радио", 1970.

13. Зубов В .С ., К вопросу о классификации методов внутрен­ ней сортировки, сб."Цифровая вычислительная техника и программирование" , вып.4, М., "Советское радио",

1968, 51-63.

n ? -

 

 

 

О Г Л А В Л Е Н И Е

 

 

Grp.

 

 

 

ВВЕДЕНИЕ

 

 

 

§1. Некоторые черты развития математического обеспечения

 

современных ЭВМ............................................

 

..... .

3

§2. Классификация средств общего математического обеспе­

 

чения ..................................................................

 

 

§3. Построение настоящего учебного пособия

.

. . .

11

РАЗДЕЛ I. СТРУКТУРЫ ДАННЫХ, СРЕДСТВА

 

ИХ ОРГАНИЗАЦИИ И ИСПОЛЬЗОВАНИЯ В

 

ЭВМ

 

ГЛАВА I. СТРУКТУРЫ ДАННЫХ

 

 

 

§1. Упорядоченность множества объектов ......................

 

 

/2

§2. Принципы построения последовательности объектов . . /5

§3. Абстрактные структуры данных ......................

 

.

1

7

§4. Структура оперативной памяти ЭВМ; её надстройка . .

 

21

§5. Примеры отображения некоторых абстрактных структур

 

 

в памяти ЭВМ .

,

.................................................. 26

§6. Примеры операторов изменения средств выражения неко­

 

 

торых простейших абстрактных структур данных

. ,

,

 

31

Ш ВА П. УПОРЯДОЧЕНИЕ ДАННЫХ

 

 

 

 

§1. Задача упорядочения данных в памяти ЭВМ

. .

.

.

37

©

 

 

 

 

 

§2. Метод упорядочения, базирующийся на непосредственное

 

 

использование отношения порядка .

 

 

 

 

§3. Оптимизация

процесса сопоставительного метода

 

 

 

упорядочения данных

 

 

 

43

§4. Метод упорядочения, базирующийся на отображение мно­

 

 

жества записей ва вектор памяти ................................

 

 

 

56

§5. Сравнение отобразительного и сопоставительного мето­

 

 

дов упорядочения . .. . . .

 

 

 

 

§6. Ассоциативные алгоритмы ..........................упорядочения

 

 

 

72

§7. Классификация алгоритмов упорядочения данных . . .

 

76

I

118 -

 

 

 

 

 

 

 

 

 

 

 

 

 

Стр

ГЛАВА I I I .

ИНФОРМАЦИОННЫЙ ПОИСК.

 

 

 

 

 

 

§1. Понятие информационного поиска и его связь с понятия­

 

ми упорядочения и о®ртировки

...................................

 

 

 

........

 

.

.52

§2. Классификация условийинформационного

поиска . .

ф

§3. Классификация фундаментальных средств информационного

 

поиска .

.

.

.

.

.

.

.

.

.

.

.

.

90

§4. Поиск в структурах,представленныхспискомтипа А .

 

96

§5. Использование при поиске средств адресного программи­

 

рования ..........................................................................................................

 

 

 

 

 

 

 

 

 

 

 

 

ЮЗ

ПРИЛОЖЕНИЕ .

 

 

 

 

 

 

 

 

 

 

 

 

108.

ЛИТЕРАТУРА...................................................................................................

 

 

 

 

 

 

 

 

 

 

 

 

115,

Д -5 2 1 5 9 1 7 / 1 - 1 9 7 4 Г . Объем 7,5 п .л . Зак.351. Тир. 500. Цена 21 коп.

Типография МЭИ .

Соседние файлы в папке книги из ГПНТБ