Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ΠΛΗ30.ΚΑΡΤΑ - ΑΝΑΛΥΣΗ ΔΙΑΔΙΚΑΣΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ

12,259 views

Published on

Μαθηματικό Υπόβαθρο
Χρονική Πολυπλοκότητα Επαναληπτικού Κώδικα
Υπολοηισμός Ασυμπτωτικής Εκτίμησης (Υπολογισμός Θ)

Published in: Education

ΠΛΗ30.ΚΑΡΤΑ - ΑΝΑΛΥΣΗ ΔΙΑΔΙΚΑΣΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ

  1. 1. ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝΜΑΘΗΜΑΤΙΚΟ ΥΠΟΒΑΘΡΟ Ιδιότητες Δυνάμεων Λογάριθμοι με βάση το b Λογάριθμοι με βάση το 2 Ιδιότητες Αθροισμάτων 1, 2 1 2 1/α, 1/ ∙ ∙ 1 2 1 6 "# "# " " $ $ % $ 1 $ 1 " ∙ "% " / " & & & & ' ( ) ' 1 ( ) , ': ,- .. " ∙ " ∙ " " / " " & 0 ∙ & 0 ∙ log & 0 ∙ Α Β & 6 & 7 & / .8 9:;<& 0 29:;& 0 1 ( ) 7 $ 6 1 (= ( ) > > > >2
  2. 2. ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝΧΡΟΝΙΚΗ ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΕΠΑΝΑΛΗΠΤΙΚΟΥ ΚΩΔΙΚΑ ΧΡΟΝΙΚΗ ΠΟΛΥΠΛΟΚΟΤΗΤΑ ενός αλγορίθμου είναι μια συνάρτηση που υπολογίζει πόσες πράξεις (καταχωρήσεις, συγκρίσεις και αριθμητικές πράξεις) γίνονται ως συνάρτηση του πλήθους των δεδομένων της εισόδου. • Χειρότερη Περίπτωση: Πόσες πράξεις κάνει το πολύ ο αλγόριθμος (συμβολισμός Ο(.) ) • Μέση Περίπτωση: Πιθανοτική Ανάλυση της Συνάρτησης Πολυπλοκότητας • Βέλτιστη Περίπτωση: Πόσες Πράξεις κάνει το λιγότερο ο αλγόριθμος (συμβολισμός Ω(.) ) ΚΩΔΙΚΑΣ .... Α Β Γ .... ΑΠΛΟ FOR for (i=A to B) ... K πράξεις ... end for ΔΙΠΛΟ FOR for (i=Α to Β) for (j=C to D) ... Εδώ γίνονται K πράξεις end for end for ΠΟΛΥΠΛΟΚΟΤΗΤΑ: Α Β Γ ΠΟΛΥΠΛΟΚΟΤΗΤΑ: @ A ( ) ΠΟΛΥΠΛΟΚΟΤΗΤΑ: @ A B C D ( ) ΠΑΡΑ∆ΕΙΓΜΑ: ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΕΠΙΛΟΓΗ procedure SelectionSort(A) for i=1 to n pos=i for j=i+1 to n if (A[j]<A[pos]) pos=j end if end for temp=A[i]; A[i]=A[pos]; A[pos]=temp end for end procedure @ ∑ 1 ∑ 2C % 3 ∑ 4 2 ∑ 1C % ∑ 4 2 $ 1 1 ∑ 4 2 $ ∑ 4 2 $ 2 ∑ 4 ∑ 2 $ ∑ 2 4∑ 1 2 ∑ 1 $ 2 ∑ 4 2 $ 2 % 3 Άρα η πολυπλοκότητα είναι: @ 3
  3. 3. ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝΥΠΟΛΟΓΙΣΜΟΣ ΑΣΥΜΠΤΩΤΙΚΗΣ ΕΚΤΙΜΗΣΗΣ ( Υπολογισμός Θ ) Υπολογισµός του Θ(.) µιας συνάρτησης πολυπλοκότητας Για να εξάγουµε το Θ(.) µιας συνάρτησης πολυπλοκότητας, θα πρέπει να κάνουµε τις όποιες επιµεριστικές ιδιότητες έτσι ώστε να έχουµε «καθαρά» αθροίσµατα. Κάνουµε και τυχόν εύκολες πράξεις (ρίζες=>δυνάµεις, απλοποίηση λογαρίθµων κ.λπ.) Έπειτα επιλέγουµε τον µέγιστο από τους όρους του αθροίσµατος, και τον εισάγουµε στο Θ(.) Προσοχή ότι απαλείφονται οι σταθερές που είναι πολλαπλασιασµένες µε τους όρους του αθροίσµατος. ΠΑΡΑΔΕΙΓΜΑΤΑ: )()1()( 22 nnnnnn Θ=+=+=Τ )( 6 1 6 3 6 2 6 )12)(( 6 )12)(1( )( 323 2 nnnn nnnnnn n Θ=++= ++ = ++ =Τ . Στοιχειώδης Ιεραρχία Συναρτήσεων πολυπλοκότητας:

×