Professional Documents
Culture Documents
KZAL2
KZAL2
18.5.2007
Obsah
Analza efektivity algoritm
Asymptotick sloitost, znaen a zkladn
tdy sloitosti
Vizualizace algoritmu
Tdc algoritmy
Pstup hrub sly
Rozdl a panuj
=
=
4
T(n)
Cop C(n)
n2
Nen nutn znt hodnotu Cop
d rstu
Analza efektivity ignoruje multiplikativn
konstanty a zabv dovm odhadem
rstu
Pro klst draz na d rstu pi velikm
rozsahu vstupnch hodnot?
=> bh algoritmu pi malm rozsahu
vstupu pli neodliuje efektivn algoritmy
od mn efektivnch
log2n
3.3
n
10
n*log2n
3.3*10
n2
n3
102
103
103
1.3*1030 9.3*10157
102 6.6
102 6.6*102
104
106
103 10
103 104
106
109
104 13
104 1.3*105
108
1012
105 17
105 1.7*106
1010 1015
106 20
106 2*107
1012 1018
2n
n!
3.6*106
tyikrt
osmkrt
Nejhor ppad
(sekvenn vyhledvn)
V posloupnosti nen nalezen prvek, jeho
hodnota by se rovnala hodnot kle
=> nejvt poet porovnn s klem
Cworst(n) = n
Nejhor ppad
Nejhor ppad vstupu velikosti n: vstup
velikosti n, pro kter algoritmus b
nejpomaleji ze vech monch vstup
Analza nejhorho ppadu poskytuje
velmi dleitou informaci o efektivit
algoritmu ohranienm jeho vpoetnho
asu seshora
vpoetn as nepekro Cworst(n)
operace:
A[i]>max
porovnn
max A[i]
piazen
Kter je zkladn: porovnn je vykonno
v kadm opakovn cyklu poet je
roven rozsahu vstupu n nen teba
rozliovat nejhor, nejlep, prmrn
ppad
Vizualizace algoritmu
Vyuit grafickch prvk (body, ry atd.) k
reprezentaci njakch zajmavch
udlost vzniklch v dob bhu algoritmu
Dv monosti:
a) statick vizualizace algoritmu
(nap. srie snmk prbhu algoritmu)
b) dynamick vizualizace (animace)
(pehlednj, ale nronj volba)
Tdn
Motivace
Tdn proces peuspodn prvk
urit mnoiny reprezentovan
posloupnost
Historie
Tdc problm
Je dan mnoina A = {a1, a2,....an}.
Je poteba najt permutaci tchto n prvk,
kter zobrazuje danou posloupnost do
neklesajc posloupnosti prvk.
Kl prvek cel mnoiny U (univerzum), ze
kter vybrme prvky
Zznam informace vzan na kl
Pklad
Funkce kter nate jednotliv znaky z
njakho souboru a vype je setdn do
jinho souboru. Vytvome pole uritho
potu prvk a piadme do nj jednotliv
znaky. Nakonec do vstupnho souboru
seazen znaky.
S E AD I TZ NAK Y
vsledek
AAD E I K N S TYZ
Tdn vbrem
Najdeme minimum z prvnch N sel a dme ho
na prvn msto, najdeme minimum ze zbylch
N-1 sel a dme ho na druh msto, atd.
| 89
17
17
17
17
17
17
45 68 90 29 34 17
| 45 68 90 29 34 89
29 | 68 90 45 34 89
29 34 | 90 45 68 89
29 34 45 | 90 68 89
29 34 45 68 | 90 89
29 34 45 68 89 | 90
Tdn vbrem
Algoritmus:
// Vstup: Pole A[0..n-1]
// Vstup: Pole A[0..n-1] seazench prvk
for i 0 to n-2 do
min i
for j i +1 to n-1 do
if A[j] < A[min] min j
proho A[i] a A[min]
nejpouvanjch metod
Srovnn dvojice sousednch prvk, pokud
nejsou v poadovanm poad vmna
Prvn prchod: probubln nejvtho
prvku na posledn msto
Dal prchod: ukonen o jedno msto
dve, druh nejvt prvek probubl na
pedposledn msto atd.
Rozdl a panuj
Pravdpodobn nejlep znm technika
nvrhu algoritmu
Algoritmus pracuje nsledovn:
1) Instance problmu je rozdlena na
nkolik mench instanc
2) Dl problmy jsou vyeeny nezvisle
na sob
3) Pokud je teba, een dlch problm
jsou kombinovny k vslednmu een
Rozdl a panuj
Hod se na okruh loh, kdy je mon
rozdlen na men nezvisl podlohy
stejnho charakteru
Cel strategie m rekurzivn charakter, lze
ale naprogramovat i bez pouit rekurze,
pokud je mechanismus rekurze nahrazen
v programu vlastnm zsobnkem pro
odkldn informac o podlohch
8 3 2 9 7 1 5 4
8 3 2 9
8 3
7 1 5 4
2 9
3 8
7 1
2 9
5 4
1 7
2 3 8 9
4 5
1 4 5 7
1 2 3 4 5 7 8 9
I:=0
I:=I+1
PI I
i>3
1
2
3
4