ALGORYTMY I STRUKTURY DANYCH
-
Upload
amena-wright -
Category
Documents
-
view
39 -
download
1
description
Transcript of ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
WYKAD 02 Wyszukiwanie
Grayna MirkowskaPJWSTK, 2003/2004
G. Mirkowska, ASD_02 Wyszukiwanie
Plan wykadu
Wyszukiwanie w dowolnym cigu Algorytm naiwnyAnaliza kosztu
redniegoWyszukiwanie w cigu uporzdkowanymAlgorytm
sekwencyjnyAnaliza kosztu redniegoAlgorytm ze skokamialgorytm
binarnych poszukiwaProblem optymalnoci
G. Mirkowska, ASD_02 Wyszukiwanie
Wyszukiwanie w cigu nieuporzdkowanym
Problem Niech E bdzie dan przestrzeni, a X jej skoczonym
podzbiorem. Zbada, czy dany element x przestrzeni E naley do
wybranego podzbioru X.
Metoda rozwizania polega na porwnywaniu kolejnych elementw cigu,
poczynajc od pierwszego, z elementem x. Jeli badany element jest
rwny x, to koczymy postpowanie; jeli nie, to rozwaamy nastpny
element cigu.
Specyfikacja wp ={(ei ) cig n elementw przestrzeni E , n 1} wk ={
wynik ( i n) ei = x}
Zakadamy, e elementy cigu s przechowywane w pewnej tablicy e[1],
e[2],...,e[n].
G. Mirkowska, ASD_02 Wyszukiwanie
Diagram przepywu
pocztek
koniec
i n and not wynik
x= e[i]
wynik := true
wynik := false; i := 1;
i := i+1;
x {e[1],...,e[i-1]}, wynik=false , i=1
x {e[1],...,e[i-1]}, in+1,wynik=false, in
x=e[i], in wynik=true
x {e[1],...,e[i-1]}, in, x e[i]
x {e[1],...,e[i-1]}, in+1, wynik=false
Tak
Nie
G. Mirkowska, ASD_02 Wyszukiwanie
Algorytm
Wersja 1{ i :=1; wynik := false; while ( i n and not wynik) { if
x=e[i] then wynik := true else i := i+1 fi; }}
wynik= true, i n , e[i]=x lub wynik=false, i=n+1, x
{e[1],...,e[i-1]}
wynik = true wttw dla pewnego i n , e[i]=x
Wersja 2{ e[n+1]:= x; i:=1; while (e[i] x ) { i := i+1; } wynik :=
(i n );}
G. Mirkowska, ASD_02 Wyszukiwanie
Analiza kosztu
Operacja dominujca = porwnywanie elementw
W najlepszym razie algorytm wykona 1 porwnanie. W najgorszym razie
n- porwna.
Koszt redni A(n)=S d Dn p(d) * t(d)
Prawdopodo-biestwo wystpienia danych d
Koszt realizacji algorytmu dla danych d
Niech p(xX)= p i zamy, e jest jednakowo prawdopodobne, e x znajduje
si na 1szym, 2gim czy i-tym miejscu.
Wtedy p(x=e[i]) = p/n.
Zatem A(n) =1* p/n+ 2*p/n +...+n*p/n +n*(1-p) = n -
(n-1)*p/2.
A koszt pamiciowy?
G. Mirkowska, ASD_02 Wyszukiwanie
Wyszukiwanie w cigu uporzdkowanym
Problem Dany jest cig rosncy e[1],..,e[n] oraz element x pewnej
przestrzeni liniowo uporzdkowanej . Chcemy ustali przedzia e[i],
e[i+1], w ktrym ewentualnie mieci si x.
Specyfikacja : wp= {(i