Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Data_Structure / лекц04.ppt
Скачиваний:
44
Добавлен:
03.03.2016
Размер:
97.79 Кб
Скачать

Локальные переменные алгоритма сортировки:

h – шаг слияния,

i1, i2 –индексы начала сливаемых групп.

11

h:=1; while h<n Begin

i:=1;

while i+2*h<n begin

sl (T, i, h, i+h,h); i:=i+2*h;

end;

if (i+2*h>n) and (i+h<n) sl (T, i, h, i+h,n-(i+h));

h:=h*2;

End;

Алгоритмы поиска в таблицах

13

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

14

Для упорядоченных таблиц- метод дихотомического

(бинарного, двоичного,

логарифмического)

поиска

15

Например, ищем 32:

 

 

 

 

 

 

 

 

 

 

 

Ng=1 (нижняя граница)

 

 

 

Vg=14 (верхняя граница)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

5

7

8

11

15

17

19

22

23

27

29

32

35

 

i=7 (середина)

17<32, ng:=i+1

 

 

2

5

7

8

11

15

17

19

22

23

27

29

32

35

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=11 27<32, ng:=i+1

2

5

7

8

11

15

17

19

22

23

27

29

32

35

i=12

32=32

Алгоритм дихотомического поиска

Параметры:

T- таблица,

N – количество записей в таблице, key – ключ искомой записи,

K – результат поиска (номер найденной

записи).

17

Локальные переменные:

Ng – нижняя граница поиска, Vg – верхняя граница поиска, I – номер текущей записи,

fl: boolean – признак успешного поиска.

18

Ng:=1;

Vg:=n;

fl:=false;

k:=0;

while (ng<=vg) and not fl do begin

I:=(ng+vg) div 2;

If key<T[i].kl then

vg:=i-1

else if key>T[i].kl

then ng:=i+1

else

 

begin

 

fl:=true;

k:=i

end End {while}

Соседние файлы в папке Data_Structure