Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
PublisertJakob Davidsen Endret for 9 år siden
1
INF 295 Algoritmer og datastrukturer Forelesning 5 Algoritmeanalyse Hans Fr. Nordhaug (Ola Bø)
2
Kjøretidskalkulasjoner Regler 1. For- løkker: kjøretid er kjøretid for setningene i for- løkker ganger antall iterasjoner 2. Nestede løkker: Analyser innenfra og ut 3. Påfølgende setninger - legg sammen - den største teller 4. Test: testen pluss den største greina 5. Hvis algoritmen jobber ved halvering av problemet vil den typisk være logaritmisk.
3
Typiske vekstrater FunksjonNavn cKonstant log NLogaritmisk log 2 NLog-kvadratisk NLineær N log N N2N2 Kvadratisk N3N3 Kubisk 2 N, N!Eksponensiell
4
Eksempel - Øvelse Max subsequence problemet -2 3 -4 7 1 -1 3 -8 Skal finne undersekvensen som gir størst sum Svaret her er 7+1-1+3=10 Se utdelt fil MaxSumTest Analyser algoritmene på tidsforbruk finn f, slik at T(N)=O(f(N)) Hvilken algoritme er best? Forklar hvordan algoritmene virker
6
Konklusjoner Samme problem kan løses med flere algoritmer Algoritmeanalyse hjelper oss å finne den beste algoritmen å forbedre algoritmer Store forbedringer er mulige med omtanke
7
gcd
8
Pow
9
Sjekk av analysen Test ved koding og prøvekjøring med tidtaking Upålitelig ved lave N Vanskelig å skille NlogN fra N Hvis analysen ikke stemmer Kan være et overestimat Kan være at gjennomsnittskjøretid er vesentlig bedre enn worst case Dessverre er analysen for gjennomsnittlig kjøretid ofte komplisert.
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.