SlideShare a Scribd company logo
1 of 10
Download to read offline
Αλγόριθµοι & Πολυπλοκότητα

    1ο Σύνολο Ασκήσεων




Γιαννούσης Κωνσταντίνος (ΑΜ 1115201000225)
   Τµήµα Πληροφορικής & Τηλεπικοινωνιών
Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών




  copyright © 2011 by Constantine Yannoussis
1
Ποια είναι η ελάχιστη τιµή του n για την οποία ένας αλγόριθµος µε χρόνο
εκτέλεσης 100n2 εκτελείται γρηγορότερα από έναν αλγόριθµο µε χρόνο εκτέ-
λεσης 2n στην ίδια µηχανή ;



    Αυτό που Ϲητάµε ουσιαστικά είναι για ποια ελάχιστη τιµή του n ισχύει η
ανισότητα 100n2 < 2n .
    Για να µπορέσουµε να ϐρούµε την ελάχιστη τιµή του n δουλεύουµε παίρ-
νοντας την ισότητα 100n2 = 2n . Θέλουµε δηλαδή αρχικά να ϐρούµε για ποια
τιµή οι δύο χρόνοι εκτέλεσης είναι ίσοι.
    Θεωρούµε λοιπόν τη συνάρτηση f (n) = 100n2 − 2n . Από την λύση της
εξίσωσης f (n) = 0 ϐρίσκουµε τις ϱίζες δηλαδή τις τιµές όπου οι δυο χρόνοι
είναι ίσοι. Κατόπιν ϑα ελέγξουµε τις πλησιέστερες ακέραιες τιµές στις ϱίζες
για να ϐρούµε αυτές που να ικανοποιούν τη Ϲητούµενη ανίσωση.
    ΄Ετσι, µετά από υπολογισµούς καταλήγουµε σε τρεις ϱίζες της εξίσωσης
100n2 − 2n :
                              n1 0.103658
                              n2 −0.096704
                              n3  14.3247
    ΄Οπως ϕαίνεται, µεταξύ των ϱιζών n1 και n2 υπάρχει µοναδικός ακέραιος
το 0 ο οποίος όµως δεν ανήκει στην f (n). Επίσης, για αρνητικές τιµές του
n γίνεται άµεσα αντιληπτό πως δεν ικανοποιείται η Ϲητούµενη ανίσωση. ΄Ε-
τσι καταφεύγουµε στην τρίτη ϱίζα, την n3 , και ελέγχουµε τις ακέραιες τιµές
εκατέρωθεν της ϱίζας αυτής, δηλαδή, τις τιµές n = 14 και n = 15:

    • Για n = 14 έχουµε :
      100 · 142 = 19600
      214 = 16384
      ∆ηλαδή, 100n2 > 2n .

    • Για n = 15 έχουµε :
      100 · 152 = 22500
      215 = 32768
      ∆ηλαδή, ισχύει η Ϲητούµενη ανίσωση 100n2 < 2n .

   Αν συνεχίζαµε τον έλεγχο και για πιο µεγάλες τιµές του n ϑα παρατηρού-
σαµε ότι ϑα εξακολουθούσε να ισχύει η ανίσωση.
   Συνεπώς, στο πρόβληµά µας, η µικρότερη ακέραια τιµή του n για την
οποία ισχύει ότι ο χρόνος εκτέλεσης 100n2 εκτελείται γρηγορότερα από το
χρόνο εκτέλεσης 2n στην ίδια µηχανή, είναι η n = 15.




                                    1
2
Για κάθε συνάρτηση f (n) και χρόνο t στον παρακάτω πίνακα, ϐρείτε το µέ-
γιστο µέγεθος n του στιγµιοτύπου ενός προβλήµατος που µπορεί να λυθεί σε
χρόνο t, υποθέτοντας ότι ο αλγόριθµος που λύνει το πρόβληµα απαιτεί f (n)
microseconds.

 f (n)t    1 δευτερόλεπτο            1 λεπτό               1 ώρα

                       6                     7                    9
 log n             210                 26·10                23.6·10
 n                 106                6 · 107              3.6 · 109
 nlogn           62746.1           2.80142 · 106
                                     √                   6.0482 · 107
 n2                103                 60 · 103             6 · 104
 2n              log 106            log(6 · 107 )       log(3.6 · 109 )

3
΄Εστω f, f1 , f2 , g, g1 , g2 , h ϑετικές συναρτήσεις. Αποφασίστε αν οι παρακάτω
προτάσεις είναι αληθείς ή ψευδείς. ∆ικαιολογήστε τις απαντήσεις σας.

    1. f (n) = Ω(g(n)) ⇒ g(n) = O(f (n))
       Από τον ορισµό του Ω(g(n)) ισχύει ότι f (n) = Ω(g(n)) αν υπάρχουν
       ϑετικές σταθερές c και k τέτοιες ώστε |f (n)| ≥ c|g(n)| για κάθε n > k .
       Οπότε αφού c > 0 τότε ϑα ισχύει και 1 |f (n)| ≥ |g(n)| για κάθε n > k .
                                           c
       Συνεπώς, αν ϑέσουµε c = 1 τότε ϑα ισχύει |g(n)| ≤ c |f (n)| για κάθε
                                 c
       n > k.
       ∆ηλαδή, σύµφωνα µε τον ορισµό του Big − O notation πρόταση f (n) =
       Ω(g(n)) ⇒ g(n) = O(f (n)) είναι αληθής.

    2. n! = Θ(n log n)
       ΄Εστω ότι ισχύει n! = Θ(n log n). Εποµένως, n! = O(n log n), ΄Εστω
       συνάρτηση g(n) = 2n . Αποδεικνύεται ότι g(n) = O(n!)
       ( 2n = 2 · 2 · . . . 2 ≤ 2 · 3 · . . . n = n!)
                  n times
       οπότε κατ΄ επέκταση ϑα ισχύει και 2n = O(n log n). Κάτι τέτοιο όµως
       είναι άτοπο, εποµένως η αρχική πρόταση δεν ισχύει.

    3. f (n) = ω(g(n)) ⇒ f (n) = Ω(g(n))
       Από τον ορισµό του ω(g(n)) ισχύει ότι f (n) = ω(g(n)) αν υπάρχουν
       ϑετικές σταθερές c και k τέτοιες ώστε |f (n)| > c|g(n)| για κάθε n > k .
       Αφού λοιπόν έχουµε από τα δεδοµένα ότι αυτό ισχύει, δηλαδή ότι |f (n)| >
       c|g(n)| ϑα ισχύει και ότι για c , k ϑετικές σταθερές έχουµε |f (n)| ≥
       c |g(n)| για κάθε n > k . Θα έχουµε δηλαδή ότι ισχύει f (n) = Ω(g(n)).

                                                 2
4. Αν f (n) = O(g(n)) και f (n) = Ω(h(n)) ⇒ g(n) = Θ(h(n))
  Από τον ορισµό του Big-O notation έχουµε ότι f (n) = O(g(n)) ισχύει
  όταν υπάρχουν ϑετικές σταθερές c και k τέτοιες ώστε |f (n)| ≤ c|g(n)|
  για κάθε n > k .
  Επίσης από τον ορισµό του Big-Ω notation έχουµε ότι f (n) = Ω(h(n))
  ισχύει όταν υπάρχουν ϑετικές σταθερές c και k τέτοιες ώστε |f (n)| ≥
  c |h(n)| για κάθε n > k .
  Για να ισχύει λοιπόν το g(n) = Θ(h(n)), ϑα πρέπει να δείξουµε ότι
  ισχύει g(n) = O(h(n)) και ταυτόχρονα g(n) = Ω(h(n)).
  Από τα δεδοµένα έχουµε ότι f (n) = O(g(n)), δηλαδή ότι και g(n) =
  Ω(f (n)) (ϐλέπε απόδειξη 1 ίδιας άσκησης). Επίσης από τα δεδοµένα
  έχουµε f (n) = Ω(h(n)). ΄Ετσι ϑα υπάρχουν c και k ϑετικά τέτοια
  ώστε να ισχύει και |g(n)| ≥ c|f (n)| ≥ c |h(n)| ⇒ |g(n)| ≥ c |h(n)|,
  δηλαδή, g(n) = Ω(h(n)).
  ΄Οµως ϕαίνεται ότι το αντίθετο δεν ισχύει, δηλαδή, δεν ισχύει ότι g(n) =
  O(h(n)). Θα προσπαθήσουµε να δείξουµε ότι δεν ισχύει µε ένα αντιπα-
  ϱάδειγµα.
  ΄Εστω, οι συναρτήσεις h(n) = log n, f (n) = n και g(n) = n log n.
  Εύκολα αποδεικνύουµε ότι οι συναρτήσεις είναι της µορφής που Ϲητάµε,
  δηλαδή ισχύει f (n) = Ω(h(n)) και f (n) = O(g(n)) που είναι και η
  αρχική συνθήκη και συνεπώς ισχύει και το συµπέρασµα ότι g(n) =
  Ω(h(n)) που δείξαµε πιο πάνω.
  ΄Εστω ότι ισχύει η συνθήκη ότι g(n) = O(h(n)), ότι δηλαδή, n log n =
  O(log n). Υπάρχουν λοιπόν ϑετικά l και m τέτοια ώστε |n log n| ≤
  l| log n| για κάθε n > m. ΄Οταν n ≤ l η σχέση αυτή ϕαίνεται να ι-
  σχύει, αφού µιλάµε για ϑετικές ποσότητες. ΄Οταν όµως το n αυξάνει ενώ
  το l είναι µια σταθερή ποσότητα και κάποια στιγµή ϑα είναι n > l, οπότε
  η ανισότητα |n log n| ≤ l| log n| δεν ϑα ισχύει. ΄Ετσι µπορούµε να πούµε
  ότι τελικά η ανισότητα |n log n| ≤ l| log n| δεν ισχύει για κάθε n > k , και
  εποµένως δεν ισχύει η αρχική συνθήκη.
  Συνεπώς, η πρόταση δεν είναι αληθής.

5. 4n2 + 5n − 9 = Ω(10n2 )
  Από τη ϑεωρία γνωρίζουµε ότι µια πολυωνυµική συνάρτηση έχει τάξη
  (Θ) τον όρο µε το µεγαλύτερο εκθέτη.
  Συνεπώς, η τάξη της f (n) = 4n2 + 5n − 9 = Θ(n2 ). Αυτό σηµαίνει
  επίσης ότι, f (n) = Ω(n2 ).
  Κατά τον ίδιο τρόπο g(n) = 10n2 = Θ(n2 ) και εποµένως g(n) = Ω(n2 ).
  Οπότε η πρόταση ισχύει.



                                    3
6. log(n!) = Θ(n log n)
   Στο πρώτο ϐήµα της απόδειξης, ϑα δείξουµε ότι ισχύει log(n!) = O(n log n).

                 n! = 1 · 2 . . . n − 1 · n ≤ n · n . . . n ⇒ n! ≤ nn

   Εποµένως
                           log n! ≤ log nn ⇒ log n! ≤ n log n
   ΄Ετσι υπάρχουν ϑετικές ποσότητες c, k τέτοιες ώστε | log n!| ≤ c|n log n|,
   για κάθε n ≥ k , δηλαδή, ισχύει ότι log(n!) = O(n log n).
   Αφού αποδείξαµε το πρώτο µέρος, αποµένει να δείξουµε ότι ισχύει και
   log(n!) = Ω(n log n).
   ΄Ετσι,
                     n n            n              n n     nn2
                n! ≥    · ( + 1) · ( + 2) · . . . ( + ) ≥      ⇒
                     2 2            2              2  2    2
                               nn2              n    n
                          n! ≥     ⇒ log n! ≥ log ⇒
                               2                2    2
                            n                   1        1
                     n! ≥ (log n − log 2) = n log n − n
                            2                   2        2
   Εποµένως υπάρχουν ϑετικές ποσότητες c , k τέτοιες ώστε | log n!| ≥
   c|n log n|, για κάθε n ≥ k , δηλαδή, ισχύει ότι log(n!) = Ω(n log n).
   Συνεπώς η πρόταση είναι αληθής.

7. f (n) + g(n) = Θ(min(g(n), f (n)))
   Γνωρίζουµε ότι ισχύει το f (n) = Θ(f (n)) και g(n) = Θ(g(n)). Επίσης
   ισχύει ότι f (n) + g(n) = Ω(min(g(n), f (n))). Συνεπώς για να ισχύει η
   πρόταση ϑα πρέπει να ισχύει ότι f (n) + g(n) = O(min(g(n), f (n))).
   ΄Εστω ότι f (n) + g(n) = O(min(g(n), f (n))) ισχύει. Οπότε έστω οι
   συναρτήσεις f (n) = n και g(n) = 2n . Συνεπώς min(f (n), g(n)) =
   f (n) = n. ΄Αρα από την αρχική υπόθεση ϑα είναι n + 2n = O(n). Κάτι
   τέτοιο δεν ισχύει οπότε και η πρόταση f (n)+g(n) = O(min(g(n), f (n)))
   δεν ισχύει.
   Συνεπώς, και η αρχική πρόταση δεν ισχύει.
            √          √
8. n + 2 n = Ω(n n)
   Από το ϑεώρηµα ισχύει ότι f (n) + g(n) = Ω(min(g(n), f (n))). Επίσης,
                            √                             √
   αν f (n) = n και g(n) = 2 n, τότε, min(f (n), g(n)) = 2 n = g(n), για
   κάθε n > 4.
                                                  √
   Οπότε αρκεί να δείξουµε ότι η g(n) = Ω(n n). ΄Εστω ότι ισχύει g(n) =
      √
   Ω(n n). ∆ηλαδή υπάρχουν ϑετικές ποσότητες c, k τέτοιες ώστε |g(n)| ≥
      √
   c|n n|, για κάθε n > k . ΄Εχουµε δηλαδή,
                                   √       √        √
                       |g(n)| ≥ c|n n| ⇒ |2 n| ≥ c|n n| ⇒

                                        4
√    c √       √         √
                              | n| ≥ |n n| ⇒ | n| ≥ c |n n|
                                    2
        Κάτι τέτοιο είναι άτοπο για ϑετικές ποσότητες οπότε ισχύει η πρόταση
                    √
        g(n) = Ω(n n) και συνεπώς ισχύει η αρχική πρόταση.

    9. Αν f (n) = O(g(n)) και g(n) = Ω(f (n)) ⇒ f (n) = Θ(g(n))
        Για να ισχύει η πρόταση αυτή ϑα έπρεπε να ισχύει f (n) = O(g(n)) και
        g(n) = O(f (n)). ΄Οµως επειδή δεν γνωρίζουµε αν g(n) = O(f (n)),
        αλλά µόνο ότι g(n) = Ω(f (n)) τότε η πρόταση δεν ισχύει.
        Αν η πρόταση µας έλεγε ότι ισχύει f (n) = O(g(n)) και g(n) = Θ(f (n))
        τότε η πρόταση ϑα ήταν αληθής.


4
Χωρίστε τη λίστα των συναρτήσεων σε κλάσεις, τέτοιες ώστε οι f (n) και g(n)
να ανήκουν στην ίδια κλάση αν και µόνο αν f (n) = Θ(g(n)). Στη συνέχεια
επιλέξτε έναν εκπρόσωπο από κάθε κλάση και κατατάξτε τους κατά αύξουσα
σειρά πολυπλοκότητας

          n                 n2 −n               n
    •             = ... =     2     οπότε            = Θ(n2 )
          2                                     2

    • n log n = Θ(n log n)
          n   1
    •     k=1 k    = log n + c = Θ(log n)

    • 8n2 = Θ(n2 )
            √                               1
    • log       log n = log(log n)1/2 =     2   log log n = Θ(log log n)

    • n! = Θ(n!)

    • log log n = Θ(log log n)

    • nlog n = Θ(nlog n )

    • log n! = Θ(n log n)
                                2
    • 4log n = 22 log n = 2log n = n2 = Θ(n2 )

          n        n
    •     k=0           = 2n = Θ(2n )
                   k
          2
    • 2log n = 2log n log n = nlog n = Θ(nlog n )

    • 10100 = Θ(10100 )

    • 2n = Θ(2n )


                                                 5
• log n = Θ(log n)
       √                             1/2         √      √
    • ( 2)log n = 21/2 log n = 2log n    = n1/2 = n = Θ( n)

    • (n − 1)! = Θ((n − 1)!)

    • log nn = n log n = Θ(n log n)

    • 5800 = Θ(5800 )
        √            √
    • 5 n = Θ( n)

    Οπότε κατηγοριοποιώντας έχουµε :

         n
    •             = 8n2 = 4log n = Θ(n2 )
         2

    • n log n = log n! = log nn = Θ(n log n)
            √
    • log       log n = log log n = Θ(log log n)
                   2
    • nlog n = 2log n = Θ(nlog n )
        √                √        √
    • ( 2)log n = 5 n = Θ( n)

         n         n
    •    k=0             = 2n = Θ(2n )
                   k

    • 5800 = 10100 = Θ(1)

    • (n − 1)! = Θ((n − 1)!)

    • n! = Θ(n!)
                     n   1
    • log n =        k=1 k   = Θ(log n)

   Αν επιλέξουµε έναν αντιπρόσωπο από κάθε κλάση µπορούµε να ταξινοµή-
σουµε τις κλάσεις ως εξής :


                               √
    10100 , log log n, log n, 5 n, n log n, 8n2 , nlog n , 2n , (n − 1)!, n!


5
Για κάθε Ϲεύγος εκφράσεων (A, B) του παρακάτω πίνακα αποφασίστε αν το
Α είναι Ο, ο, Ω, ω ή Θ του Β. Υποθέστε ότι οι k ≥ 1,          > 0 και c > 1
είναι σταθερές. Απαντήστε σηµειώνοντας ένα `ναι΄ ή ένα `όχι΄ σε κάθε ϑέση του
πίνακα.



                                            6
Α         Β        Ο         ο       Ω     ω       Θ

     a.   logk n      n        ναι       ναι
     b.     nk        cn       ναι       ναι
     c.     2n      2n/2                         ναι   ναι
     d.    nlog c   clog n     ναι               ναι         ναι

                         A
Παίρνουµε το όριο limn→∞ B . ΄Ετσι έχουµε,

a.
                              logk n ∞      k logk−1 n ·           1
                                                                   n
                             lim    = ∞ lim                            =
                           n→∞ n        n→∞      n −1
                                  k logk−1 n               k!
                              lim            = . . . = lim k
                              n→∞      n              n→∞    n
     Οπότε,
                                                  k!       1
                                          lim          =     =0
                                         n→∞ k n           ∞

     Εποµένως, logk n = o(n ) ⇒ logk n = O(n ).

b.
                                      nk ∞          knk−1  ∞
                                   lim   = ∞ lim n        =∞
                               n→∞ cn        n→∞ c · ln c

                                               k!       1
                               . . . = lim            =   =0
                                       n→∞ cn · lnk c   ∞

     Εποµένως, nk = o(cn ) ⇒ nk = O(cn ).

c.
                         2n        2n/2+n/2       2n/2 2n/2
                     lim     = lim          = lim           =
                    n→∞ 2n/2  n→∞    2n/2    n→∞    2n/2
                                               lim 2n/2 = ∞
                                               n→∞

     Εποµένως, 2n = ω(2n/2 ) ⇒ 2n = Ω(2n/2 ).

d.
                                                    nlog c
                                                 lim
                                                n→∞ clog n

     ΄Οµως γνωρίζουµε ότι nlog c = clog n , συνεπώς

                                                   nlog c
                                               lim        =1
                                               n→∞ clog n

     Εποµένως, nlog c = Θ(clog n ).



                                                  7
6
       Ποια είναι η πολυπλοκότητα των παρακάτω τµηµάτων προγράµµατος ;

Αλγόριθµος 1
                                    n                 n                  n                n
                                    2        n2       4                  2       n2       4

                                                          Θ(1) = Θ(1)                             1
                                  i=1 j=1 k=1                           i=1 j=1 k=1

               οπότε,
                                                          n 2 n          n4
                                             Θ(1) ·         · n · = Θ(1)
                                                          4      2       8
               Εποµένως ο αλγόριθµος είναι τάξης Θ(n4 ).

Αλγόριθµος 2
                              n−1       2i        j                     n−1      2i           j
                                    (        (        Θ(1))) = Θ(1)          (        (           1))
                               i=1 j=1 k=1                              i=1 j=1 k=1

               ΄Ετσι υπολογίζουµε :
                        j       (1+1)j
                        k=1 1 =    2   =j
                        2i      (1+ni)ni        2 2
                        j=1 j =     2    = ni+n i
                                              2
                                                        2
                       n−1 ni+n2 i2
                       i=1      2     = i=1 ( ni + (ni) ) =
                                            n−1
                                                2     2
                       n−1 ni         n−1 (ni)2
                       i=1 ( 2 +      i=1     2 =
                    n    n−1       n2     n−1 2
                    2    i=1 i + 2        i=1 i =
                    n (1+(n−1))(n−1)         2
                    2         2         + n (n−1)((n−1)+1)(2(n−1)+1)
                                            2           6                             =
                    n (n2 −n)     n2 n(n−1)(2n−1)
                    2    2    + 2           6     =
                    n3 −n     n3 (n−1)(2n−1)
                      4    +         12

               Οπότε τελικά, ο αλγόριθµος προκύπτει ότι είναι τάξης Θ(n5 ).


       7
       Να υπολογίσετε τον χρόνο εκτέλεσης µέσης περίπτωσης του αλγορίθµου 3, δε-
       δοµένου ότι γνωρίζουµε πως το στοιχείο που ψάχνουµε (το k ) ϐρίσκεται στην
       τελευταία ϑέση µε πιθανότητα 1/4, στην προτελευταία ϑέση µε πιθανότητα
       1/4, ενώ η πιθανότητα να ϐρίσκεται σε οποιαδήποτε από τις υπόλοιπες n − 2
                              1
       ϑέσεις είναι ίση µε 4(n−2) , n ≥ 3.



           Αν ϑεωρήσουµε ως Dn το σύνολο των διαφορετικών εισόδων στο πρόβληµα
       και d ∈ D µια είσοδό του τότε :


                                                             8
• Πολυπλοκότητα στην ϐέλτιστη περίπτωση (Best Case Scenario):
         Cbcs (n) = min{κόστος(d), d ∈ Dn }
         Αν το k είναι το πρώτο στοιχείο της ακολουθίας, τότε ϑα κάνει 2 συγκρί-
         σεις (από τον έλεγχο της WHILE) και µια καταχώρηση (i = 0). Αν το
         k είναι το δεύτερο στοιχείο της ακολουθίας, τότε ϑα κάνει 4 συγκρίσεις
         και 2 καταχωρήσεις και γενικά αν είναι το i−οστό στοιχείο ϑα κάνει 2i
         συγκρίσεις και i καταχωρήσεις.

    • Πολυπλοκότητα στην χείριστη περίπτωση(Worst Case Scenario):
         Cwcs (n) = max{κόστος(d), d ∈ Dn }
         Στη χειρότερη περίπτωση που το k δεν ανήκει στην ακολουθία, τότε ο
         αλγόριθµος ϑα εκτελέσει 2n + 2 συγκρίσεις (στην τελευταία επανάληψη
         υποθέτουµε ότι ϑα κάνει και τις δύο συγκρίσεις) και n+1 καταχωρήσεις.
         Η πιθανότητα να µην ϐρίσκεται το k στην ακολουθία είναι

                                                     1     2    n−2
                p = 1 − p ⇒ p = 1 − ((n − 2)              + )=
                                                  4(n − 2) 4   4(n − 2)

    • Πολυπλοκότητα κατά µέσο όρο :
         Cµo (n) =   d∈Dn   p(d)κόστος(d)
         Η κατά µέσο όρο πολυπλοκότητα, είναι πόσες πράξεις κάνει (ή πόση
         µνήµη δεσµεύει) ο αλγόριθµος κατά µέσο όρο. ΄Ετσι µετράµε τις πράξεις
         (κόστος(d)) που κάνει ο αλγόριθµος για κάθε δυνατή είσοδο d ∈ Dn που
         δίνεται µε πιθανότητα p(d).

    ΄Ετσι έχουµε πολυπλοκότητα κατά µέσο όρο (για συγκρίσεις):

                                     1           1
                      Cµo (n) =            2+          4 + ...
                                  4(n − 2)    4(n − 2)
                      1          1      n−2
                     + 2(n − 1) + 2n +          2(n + 1)
                      4          4     4(n − 2)
΄Ετσι,
                                                n−2
                                       1                     6n − 1
                        Cµo (n) =                     2i +
                                    4(n − 2)                   4
                                                i=0




                                            9

More Related Content

What's hot

Η εξίσωση του κύματος στις η+1 διαστάσεις
Η εξίσωση του κύματος στις η+1 διαστάσειςΗ εξίσωση του κύματος στις η+1 διαστάσεις
Η εξίσωση του κύματος στις η+1 διαστάσεις
John Fiorentinos
 
ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 6.2
ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 6.2ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 6.2
ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 6.2
Dimitris Psounis
 
Ελατήριο με δύο μάζες
Ελατήριο με δύο μάζεςΕλατήριο με δύο μάζες
Ελατήριο με δύο μάζες
John Fiorentinos
 
Ελατήριο ανάμεσα σε δύο μάζες
Ελατήριο ανάμεσα σε δύο μάζεςΕλατήριο ανάμεσα σε δύο μάζες
Ελατήριο ανάμεσα σε δύο μάζες
John Fiorentinos
 

What's hot (20)

Η εξίσωση του κύματος στις η+1 διαστάσεις
Η εξίσωση του κύματος στις η+1 διαστάσειςΗ εξίσωση του κύματος στις η+1 διαστάσεις
Η εξίσωση του κύματος στις η+1 διαστάσεις
 
Rayleigh jeans
Rayleigh   jeansRayleigh   jeans
Rayleigh jeans
 
ΠΛΗ30 ΜΑΘΗΜΑ 6.2
ΠΛΗ30 ΜΑΘΗΜΑ 6.2ΠΛΗ30 ΜΑΘΗΜΑ 6.2
ΠΛΗ30 ΜΑΘΗΜΑ 6.2
 
Planck
PlanckPlanck
Planck
 
ΠΛΗ30 ΤΕΣΤ 9
ΠΛΗ30 ΤΕΣΤ 9ΠΛΗ30 ΤΕΣΤ 9
ΠΛΗ30 ΤΕΣΤ 9
 
ΠΛΗ30 ΜΑΘΗΜΑ 6.3
ΠΛΗ30 ΜΑΘΗΜΑ 6.3ΠΛΗ30 ΜΑΘΗΜΑ 6.3
ΠΛΗ30 ΜΑΘΗΜΑ 6.3
 
ΠΛΗ30 ΜΑΘΗΜΑ 2.1
ΠΛΗ30 ΜΑΘΗΜΑ 2.1ΠΛΗ30 ΜΑΘΗΜΑ 2.1
ΠΛΗ30 ΜΑΘΗΜΑ 2.1
 
ΠΛΗ30 ΜΑΘΗΜΑ 2.2
ΠΛΗ30 ΜΑΘΗΜΑ 2.2ΠΛΗ30 ΜΑΘΗΜΑ 2.2
ΠΛΗ30 ΜΑΘΗΜΑ 2.2
 
Lec3 number systems_number_theory
Lec3 number systems_number_theoryLec3 number systems_number_theory
Lec3 number systems_number_theory
 
ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 6.2
ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 6.2ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 6.2
ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 6.2
 
Aoristo olokliroma
Aoristo olokliromaAoristo olokliroma
Aoristo olokliroma
 
Protypo ladahl
Protypo  ladahlProtypo  ladahl
Protypo ladahl
 
ΠΛΗ30 ΤΕΣΤ 10
ΠΛΗ30 ΤΕΣΤ 10ΠΛΗ30 ΤΕΣΤ 10
ΠΛΗ30 ΤΕΣΤ 10
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.1
ΠΛΗ30 ΜΑΘΗΜΑ 1.1ΠΛΗ30 ΜΑΘΗΜΑ 1.1
ΠΛΗ30 ΜΑΘΗΜΑ 1.1
 
δύο μαθηματικά εκκρεμή με
δύο μαθηματικά εκκρεμή με  δύο μαθηματικά εκκρεμή με
δύο μαθηματικά εκκρεμή με
 
Ελατήριο με δύο μάζες
Ελατήριο με δύο μάζεςΕλατήριο με δύο μάζες
Ελατήριο με δύο μάζες
 
Ελατήριο ανάμεσα σε δύο μάζες
Ελατήριο ανάμεσα σε δύο μάζεςΕλατήριο ανάμεσα σε δύο μάζες
Ελατήριο ανάμεσα σε δύο μάζες
 
ΠΛΗ30 ΤΕΣΤ 4
ΠΛΗ30 ΤΕΣΤ 4ΠΛΗ30 ΤΕΣΤ 4
ΠΛΗ30 ΤΕΣΤ 4
 
Parousiasi d.ntrizou
Parousiasi d.ntrizouParousiasi d.ntrizou
Parousiasi d.ntrizou
 
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4
 

Viewers also liked

Bài tập về dãy số kaczor, mt nowak
Bài tập về dãy số   kaczor, mt nowakBài tập về dãy số   kaczor, mt nowak
Bài tập về dãy số kaczor, mt nowak
Thế Giới Tinh Hoa
 
Giải giúp nha cac p
Giải giúp nha cac pGiải giúp nha cac p
Giải giúp nha cac p
Hoang Tu Duong
 
παράγωγος 3
παράγωγος 3παράγωγος 3
παράγωγος 3
Kozalakis
 
672.представляющие системы теория и приложения
672.представляющие системы теория и приложения672.представляющие системы теория и приложения
672.представляющие системы теория и приложения
efwd2ws2qws2qsdw
 
Phong cách ngôn ngữ tiếng việt
Phong cách ngôn ngữ tiếng việtPhong cách ngôn ngữ tiếng việt
Phong cách ngôn ngữ tiếng việt
Học Huỳnh Bá
 
[Vnmath.com] bai giang-trong_tam_ve_ham_so_thay_dang_viet_hung
[Vnmath.com] bai giang-trong_tam_ve_ham_so_thay_dang_viet_hung[Vnmath.com] bai giang-trong_tam_ve_ham_so_thay_dang_viet_hung
[Vnmath.com] bai giang-trong_tam_ve_ham_so_thay_dang_viet_hung
Đức Mạnh Ngô
 
διακριτά μαθηματικά
διακριτά μαθηματικάδιακριτά μαθηματικά
διακριτά μαθηματικά
Christos Loizos
 
đề Cương ôn tập ngữ văn 12 học kì i năm học 2011 2012truonghocso.com
đề Cương ôn tập ngữ văn 12 học kì i năm học 2011 2012truonghocso.comđề Cương ôn tập ngữ văn 12 học kì i năm học 2011 2012truonghocso.com
đề Cương ôn tập ngữ văn 12 học kì i năm học 2011 2012truonghocso.com
Thế Giới Tinh Hoa
 
đề Cương ôn tập môn ngữ văn 11truonghocso.com
đề Cương ôn tập môn ngữ văn 11truonghocso.comđề Cương ôn tập môn ngữ văn 11truonghocso.com
đề Cương ôn tập môn ngữ văn 11truonghocso.com
Thế Giới Tinh Hoa
 
Hướng dẫn thực hiện chuẩn kiến thức, kĩ năng toán 10
Hướng dẫn thực hiện chuẩn kiến thức, kĩ năng toán 10Hướng dẫn thực hiện chuẩn kiến thức, kĩ năng toán 10
Hướng dẫn thực hiện chuẩn kiến thức, kĩ năng toán 10
Thế Giới Tinh Hoa
 

Viewers also liked (20)

Bài tập về dãy số kaczor, mt nowak
Bài tập về dãy số   kaczor, mt nowakBài tập về dãy số   kaczor, mt nowak
Bài tập về dãy số kaczor, mt nowak
 
μεθοδολογια συναρτησεων 2
μεθοδολογια συναρτησεων 2μεθοδολογια συναρτησεων 2
μεθοδολογια συναρτησεων 2
 
2 math mama_bkk
2 math mama_bkk2 math mama_bkk
2 math mama_bkk
 
Giải giúp nha cac p
Giải giúp nha cac pGiải giúp nha cac p
Giải giúp nha cac p
 
Math auth
Math authMath auth
Math auth
 
E3 f1 bộ binh
E3 f1 bộ binhE3 f1 bộ binh
E3 f1 bộ binh
 
Công trình
Công trìnhCông trình
Công trình
 
παράγωγος 3
παράγωγος 3παράγωγος 3
παράγωγος 3
 
672.представляющие системы теория и приложения
672.представляющие системы теория и приложения672.представляющие системы теория и приложения
672.представляющие системы теория и приложения
 
μαρία καραμεσίνη
μαρία καραμεσίνημαρία καραμεσίνη
μαρία καραμεσίνη
 
Day them toan 11
Day them toan 11Day them toan 11
Day them toan 11
 
Các bài toán tổ hợp 11
Các bài toán tổ hợp 11Các bài toán tổ hợp 11
Các bài toán tổ hợp 11
 
Phong cách ngôn ngữ tiếng việt
Phong cách ngôn ngữ tiếng việtPhong cách ngôn ngữ tiếng việt
Phong cách ngôn ngữ tiếng việt
 
[Vnmath.com] bai giang-trong_tam_ve_ham_so_thay_dang_viet_hung
[Vnmath.com] bai giang-trong_tam_ve_ham_so_thay_dang_viet_hung[Vnmath.com] bai giang-trong_tam_ve_ham_so_thay_dang_viet_hung
[Vnmath.com] bai giang-trong_tam_ve_ham_so_thay_dang_viet_hung
 
μαθηματικό τυπολόγιο
μαθηματικό τυπολόγιομαθηματικό τυπολόγιο
μαθηματικό τυπολόγιο
 
διακριτά μαθηματικά
διακριτά μαθηματικάδιακριτά μαθηματικά
διακριτά μαθηματικά
 
đề Cương ôn tập ngữ văn 12 học kì i năm học 2011 2012truonghocso.com
đề Cương ôn tập ngữ văn 12 học kì i năm học 2011 2012truonghocso.comđề Cương ôn tập ngữ văn 12 học kì i năm học 2011 2012truonghocso.com
đề Cương ôn tập ngữ văn 12 học kì i năm học 2011 2012truonghocso.com
 
Math prosanatolismou lyceum_b
Math prosanatolismou lyceum_bMath prosanatolismou lyceum_b
Math prosanatolismou lyceum_b
 
đề Cương ôn tập môn ngữ văn 11truonghocso.com
đề Cương ôn tập môn ngữ văn 11truonghocso.comđề Cương ôn tập môn ngữ văn 11truonghocso.com
đề Cương ôn tập môn ngữ văn 11truonghocso.com
 
Hướng dẫn thực hiện chuẩn kiến thức, kĩ năng toán 10
Hướng dẫn thực hiện chuẩn kiến thức, kĩ năng toán 10Hướng dẫn thực hiện chuẩn kiến thức, kĩ năng toán 10
Hướng dẫn thực hiện chuẩn kiến thức, kĩ năng toán 10
 

Similar to Algorithms - Exercise 1

ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
Dimitris Psounis
 
Mαθηματικά I
Mαθηματικά IMαθηματικά I
Mαθηματικά I
aris_ant
 
6 Ασκήσεις Αριθμητικής Ανάλυσης
6 Ασκήσεις Αριθμητικής Ανάλυσης6 Ασκήσεις Αριθμητικής Ανάλυσης
6 Ασκήσεις Αριθμητικής Ανάλυσης
Tasos Lazaridis
 
εφαρμοζομενα μαθηματικα σε ενα φυλλο χαρτι α4
εφαρμοζομενα μαθηματικα σε ενα φυλλο χαρτι α4εφαρμοζομενα μαθηματικα σε ενα φυλλο χαρτι α4
εφαρμοζομενα μαθηματικα σε ενα φυλλο χαρτι α4
Γιάννης Πλατάρος
 

Similar to Algorithms - Exercise 1 (20)

Οι λύσεις μου σε θέματα γνωστών συγγραφέων για το lisari
Οι λύσεις μου σε θέματα γνωστών συγγραφέων για το lisariΟι λύσεις μου σε θέματα γνωστών συγγραφέων για το lisari
Οι λύσεις μου σε θέματα γνωστών συγγραφέων για το lisari
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.3
ΠΛΗ30 ΜΑΘΗΜΑ 1.3ΠΛΗ30 ΜΑΘΗΜΑ 1.3
ΠΛΗ30 ΜΑΘΗΜΑ 1.3
 
Themata kai lyseis_mathimatikwn_epan_2021_l
Themata kai lyseis_mathimatikwn_epan_2021_lThemata kai lyseis_mathimatikwn_epan_2021_l
Themata kai lyseis_mathimatikwn_epan_2021_l
 
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
 
Mαθηματικά I
Mαθηματικά IMαθηματικά I
Mαθηματικά I
 
Πλήρεις σημειώσεις στον Ολοκληρωτικό λογισμό (2015 - 16)
Πλήρεις σημειώσεις στον Ολοκληρωτικό λογισμό (2015 - 16)Πλήρεις σημειώσεις στον Ολοκληρωτικό λογισμό (2015 - 16)
Πλήρεις σημειώσεις στον Ολοκληρωτικό λογισμό (2015 - 16)
 
28 9636diag paragogoi_mexri_rythmo(2015-16)
28 9636diag paragogoi_mexri_rythmo(2015-16)28 9636diag paragogoi_mexri_rythmo(2015-16)
28 9636diag paragogoi_mexri_rythmo(2015-16)
 
2015 τριγωνομετρια
2015 τριγωνομετρια2015 τριγωνομετρια
2015 τριγωνομετρια
 
2015 τριγωνομετρια
2015 τριγωνομετρια2015 τριγωνομετρια
2015 τριγωνομετρια
 
λύση ασκ. 21
λύση ασκ. 21λύση ασκ. 21
λύση ασκ. 21
 
ΠΛΗ30 Τυπολόγιο Ενότητας 1
ΠΛΗ30 Τυπολόγιο Ενότητας 1ΠΛΗ30 Τυπολόγιο Ενότητας 1
ΠΛΗ30 Τυπολόγιο Ενότητας 1
 
λυση ασκ 10
λυση ασκ 10λυση ασκ 10
λυση ασκ 10
 
31η αναρτηση
31η αναρτηση31η αναρτηση
31η αναρτηση
 
6 Ασκήσεις Αριθμητικής Ανάλυσης
6 Ασκήσεις Αριθμητικής Ανάλυσης6 Ασκήσεις Αριθμητικής Ανάλυσης
6 Ασκήσεις Αριθμητικής Ανάλυσης
 
Σημειώσεις στις Σειρές
Σημειώσεις στις ΣειρέςΣημειώσεις στις Σειρές
Σημειώσεις στις Σειρές
 
Math pros 2020_neo_them_lyseis_l
Math pros 2020_neo_them_lyseis_lMath pros 2020_neo_them_lyseis_l
Math pros 2020_neo_them_lyseis_l
 
απειροστικός ιιι (μερκουράκης)
απειροστικός ιιι (μερκουράκης)απειροστικός ιιι (μερκουράκης)
απειροστικός ιιι (μερκουράκης)
 
λυση ασκ. 14
λυση ασκ. 14λυση ασκ. 14
λυση ασκ. 14
 
εφαρμοζομενα μαθηματικα σε ενα φυλλο χαρτι α4
εφαρμοζομενα μαθηματικα σε ενα φυλλο χαρτι α4εφαρμοζομενα μαθηματικα σε ενα φυλλο χαρτι α4
εφαρμοζομενα μαθηματικα σε ενα φυλλο χαρτι α4
 
Προσομοιωτικό διαγώνισμα μέχρι το Διαφορικό Λογισμό από τη Βαρβάκειο Σχολή
Προσομοιωτικό διαγώνισμα μέχρι το Διαφορικό Λογισμό από τη Βαρβάκειο ΣχολήΠροσομοιωτικό διαγώνισμα μέχρι το Διαφορικό Λογισμό από τη Βαρβάκειο Σχολή
Προσομοιωτικό διαγώνισμα μέχρι το Διαφορικό Λογισμό από τη Βαρβάκειο Σχολή
 

Recently uploaded

εργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptxεργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptx
Effie Lampropoulou
 

Recently uploaded (20)

Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣΗ ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
 
Η απελευθέρωση της Θεσσαλονίκης από την Οθωμανική Αυτοκρατορία
Η απελευθέρωση της Θεσσαλονίκης από την Οθωμανική ΑυτοκρατορίαΗ απελευθέρωση της Θεσσαλονίκης από την Οθωμανική Αυτοκρατορία
Η απελευθέρωση της Θεσσαλονίκης από την Οθωμανική Αυτοκρατορία
 
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
 
Φλωρεντία, ΔΑΝΑΗ ΠΥΡΠΥΡΗ- ΜΑΡΙΑΝΕΛΑ ΣΤΡΟΓΓΥΛΟΥ
Φλωρεντία, ΔΑΝΑΗ ΠΥΡΠΥΡΗ- ΜΑΡΙΑΝΕΛΑ ΣΤΡΟΓΓΥΛΟΥΦλωρεντία, ΔΑΝΑΗ ΠΥΡΠΥΡΗ- ΜΑΡΙΑΝΕΛΑ ΣΤΡΟΓΓΥΛΟΥ
Φλωρεντία, ΔΑΝΑΗ ΠΥΡΠΥΡΗ- ΜΑΡΙΑΝΕΛΑ ΣΤΡΟΓΓΥΛΟΥ
 
ΔΙΑΣΗΜΕΣ ΒΥΖΑΝΤΙΝΕΣ ΠΡΙΓΚΙΠΙΣΣΕΣ,ΕΦΗ ΨΑΛΛΙΔΑ
ΔΙΑΣΗΜΕΣ ΒΥΖΑΝΤΙΝΕΣ ΠΡΙΓΚΙΠΙΣΣΕΣ,ΕΦΗ ΨΑΛΛΙΔΑΔΙΑΣΗΜΕΣ ΒΥΖΑΝΤΙΝΕΣ ΠΡΙΓΚΙΠΙΣΣΕΣ,ΕΦΗ ΨΑΛΛΙΔΑ
ΔΙΑΣΗΜΕΣ ΒΥΖΑΝΤΙΝΕΣ ΠΡΙΓΚΙΠΙΣΣΕΣ,ΕΦΗ ΨΑΛΛΙΔΑ
 
εργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptxεργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptx
 
Μάχη του Πουατιέ,ΧΡΥΣΑΝΘΟΣ ΚΑΙ ΧΡΥΣΑ ΟΠΡΙΝΕΣΚΟΥ
Μάχη του Πουατιέ,ΧΡΥΣΑΝΘΟΣ ΚΑΙ ΧΡΥΣΑ ΟΠΡΙΝΕΣΚΟΥΜάχη του Πουατιέ,ΧΡΥΣΑΝΘΟΣ ΚΑΙ ΧΡΥΣΑ ΟΠΡΙΝΕΣΚΟΥ
Μάχη του Πουατιέ,ΧΡΥΣΑΝΘΟΣ ΚΑΙ ΧΡΥΣΑ ΟΠΡΙΝΕΣΚΟΥ
 
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ, ΣΤΑΥΡΟΥΛΑ ΜΠΕΚΙΑΡΗ
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ,  ΣΤΑΥΡΟΥΛΑ  ΜΠΕΚΙΑΡΗΗ ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ,  ΣΤΑΥΡΟΥΛΑ  ΜΠΕΚΙΑΡΗ
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ, ΣΤΑΥΡΟΥΛΑ ΜΠΕΚΙΑΡΗ
 
ΗΡΑΚΛΕΙΟΣ, ΧΑΡΗΣ ΤΑΣΙΟΥΔΗΣ-ΓΙΩΡΓΟΣ ΤΖΑΝΗΣ
ΗΡΑΚΛΕΙΟΣ, ΧΑΡΗΣ ΤΑΣΙΟΥΔΗΣ-ΓΙΩΡΓΟΣ ΤΖΑΝΗΣΗΡΑΚΛΕΙΟΣ, ΧΑΡΗΣ ΤΑΣΙΟΥΔΗΣ-ΓΙΩΡΓΟΣ ΤΖΑΝΗΣ
ΗΡΑΚΛΕΙΟΣ, ΧΑΡΗΣ ΤΑΣΙΟΥΔΗΣ-ΓΙΩΡΓΟΣ ΤΖΑΝΗΣ
 
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
 
Ναυμαχία της Ναυαρίνου 20 Οκτωβρίου 1827
Ναυμαχία της Ναυαρίνου 20 Οκτωβρίου 1827Ναυμαχία της Ναυαρίνου 20 Οκτωβρίου 1827
Ναυμαχία της Ναυαρίνου 20 Οκτωβρίου 1827
 
Βενετία, μια πόλη πάνω στο νερό, Βασιλική Μπράβου - Αποστολία Μπάρδα
Βενετία, μια πόλη πάνω στο νερό, Βασιλική Μπράβου - Αποστολία ΜπάρδαΒενετία, μια πόλη πάνω στο νερό, Βασιλική Μπράβου - Αποστολία Μπάρδα
Βενετία, μια πόλη πάνω στο νερό, Βασιλική Μπράβου - Αποστολία Μπάρδα
 
Ο εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
Ο εκχριστιανισμός των Σλάβων, Άγγελος ΔόσηςΟ εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
Ο εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
 
Σχέσεις στην εφηβεία_έρωτας
Σχέσεις                     στην εφηβεία_έρωταςΣχέσεις                     στην εφηβεία_έρωτας
Σχέσεις στην εφηβεία_έρωτας
 
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣΗ ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
 
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
 
ΑΝΑΓΕΝΝΗΣΗ, ΕΙΡΗΝΗ ΓΚΑΒΛΟΥ- ΜΑΙΡΗ ΔΗΜΑΚΟΠΟΥΛΟΥ
ΑΝΑΓΕΝΝΗΣΗ, ΕΙΡΗΝΗ ΓΚΑΒΛΟΥ- ΜΑΙΡΗ ΔΗΜΑΚΟΠΟΥΛΟΥ ΑΝΑΓΕΝΝΗΣΗ, ΕΙΡΗΝΗ ΓΚΑΒΛΟΥ- ΜΑΙΡΗ ΔΗΜΑΚΟΠΟΥΛΟΥ
ΑΝΑΓΕΝΝΗΣΗ, ΕΙΡΗΝΗ ΓΚΑΒΛΟΥ- ΜΑΙΡΗ ΔΗΜΑΚΟΠΟΥΛΟΥ
 
ΠΟΤΕ ΑΝΑΚΑΛΥΦΘΗΚΕ Η ΑΜΕΡΙΚΗ,ΦΙΛΩΝ-ΦΡΑΓΚΟΥ
ΠΟΤΕ ΑΝΑΚΑΛΥΦΘΗΚΕ Η ΑΜΕΡΙΚΗ,ΦΙΛΩΝ-ΦΡΑΓΚΟΥΠΟΤΕ ΑΝΑΚΑΛΥΦΘΗΚΕ Η ΑΜΕΡΙΚΗ,ΦΙΛΩΝ-ΦΡΑΓΚΟΥ
ΠΟΤΕ ΑΝΑΚΑΛΥΦΘΗΚΕ Η ΑΜΕΡΙΚΗ,ΦΙΛΩΝ-ΦΡΑΓΚΟΥ
 
Safe Cycling - Εργασία για την ασφαλή ποδηλασία 2ο Γυμνάσιο Αλεξανδρούπολης
Safe Cycling - Εργασία για την ασφαλή ποδηλασία 2ο Γυμνάσιο ΑλεξανδρούποληςSafe Cycling - Εργασία για την ασφαλή ποδηλασία 2ο Γυμνάσιο Αλεξανδρούπολης
Safe Cycling - Εργασία για την ασφαλή ποδηλασία 2ο Γυμνάσιο Αλεξανδρούπολης
 

Algorithms - Exercise 1

  • 1. Αλγόριθµοι & Πολυπλοκότητα 1ο Σύνολο Ασκήσεων Γιαννούσης Κωνσταντίνος (ΑΜ 1115201000225) Τµήµα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών copyright © 2011 by Constantine Yannoussis
  • 2. 1 Ποια είναι η ελάχιστη τιµή του n για την οποία ένας αλγόριθµος µε χρόνο εκτέλεσης 100n2 εκτελείται γρηγορότερα από έναν αλγόριθµο µε χρόνο εκτέ- λεσης 2n στην ίδια µηχανή ; Αυτό που Ϲητάµε ουσιαστικά είναι για ποια ελάχιστη τιµή του n ισχύει η ανισότητα 100n2 < 2n . Για να µπορέσουµε να ϐρούµε την ελάχιστη τιµή του n δουλεύουµε παίρ- νοντας την ισότητα 100n2 = 2n . Θέλουµε δηλαδή αρχικά να ϐρούµε για ποια τιµή οι δύο χρόνοι εκτέλεσης είναι ίσοι. Θεωρούµε λοιπόν τη συνάρτηση f (n) = 100n2 − 2n . Από την λύση της εξίσωσης f (n) = 0 ϐρίσκουµε τις ϱίζες δηλαδή τις τιµές όπου οι δυο χρόνοι είναι ίσοι. Κατόπιν ϑα ελέγξουµε τις πλησιέστερες ακέραιες τιµές στις ϱίζες για να ϐρούµε αυτές που να ικανοποιούν τη Ϲητούµενη ανίσωση. ΄Ετσι, µετά από υπολογισµούς καταλήγουµε σε τρεις ϱίζες της εξίσωσης 100n2 − 2n : n1 0.103658 n2 −0.096704 n3 14.3247 ΄Οπως ϕαίνεται, µεταξύ των ϱιζών n1 και n2 υπάρχει µοναδικός ακέραιος το 0 ο οποίος όµως δεν ανήκει στην f (n). Επίσης, για αρνητικές τιµές του n γίνεται άµεσα αντιληπτό πως δεν ικανοποιείται η Ϲητούµενη ανίσωση. ΄Ε- τσι καταφεύγουµε στην τρίτη ϱίζα, την n3 , και ελέγχουµε τις ακέραιες τιµές εκατέρωθεν της ϱίζας αυτής, δηλαδή, τις τιµές n = 14 και n = 15: • Για n = 14 έχουµε : 100 · 142 = 19600 214 = 16384 ∆ηλαδή, 100n2 > 2n . • Για n = 15 έχουµε : 100 · 152 = 22500 215 = 32768 ∆ηλαδή, ισχύει η Ϲητούµενη ανίσωση 100n2 < 2n . Αν συνεχίζαµε τον έλεγχο και για πιο µεγάλες τιµές του n ϑα παρατηρού- σαµε ότι ϑα εξακολουθούσε να ισχύει η ανίσωση. Συνεπώς, στο πρόβληµά µας, η µικρότερη ακέραια τιµή του n για την οποία ισχύει ότι ο χρόνος εκτέλεσης 100n2 εκτελείται γρηγορότερα από το χρόνο εκτέλεσης 2n στην ίδια µηχανή, είναι η n = 15. 1
  • 3. 2 Για κάθε συνάρτηση f (n) και χρόνο t στον παρακάτω πίνακα, ϐρείτε το µέ- γιστο µέγεθος n του στιγµιοτύπου ενός προβλήµατος που µπορεί να λυθεί σε χρόνο t, υποθέτοντας ότι ο αλγόριθµος που λύνει το πρόβληµα απαιτεί f (n) microseconds. f (n)t 1 δευτερόλεπτο 1 λεπτό 1 ώρα 6 7 9 log n 210 26·10 23.6·10 n 106 6 · 107 3.6 · 109 nlogn 62746.1 2.80142 · 106 √ 6.0482 · 107 n2 103 60 · 103 6 · 104 2n log 106 log(6 · 107 ) log(3.6 · 109 ) 3 ΄Εστω f, f1 , f2 , g, g1 , g2 , h ϑετικές συναρτήσεις. Αποφασίστε αν οι παρακάτω προτάσεις είναι αληθείς ή ψευδείς. ∆ικαιολογήστε τις απαντήσεις σας. 1. f (n) = Ω(g(n)) ⇒ g(n) = O(f (n)) Από τον ορισµό του Ω(g(n)) ισχύει ότι f (n) = Ω(g(n)) αν υπάρχουν ϑετικές σταθερές c και k τέτοιες ώστε |f (n)| ≥ c|g(n)| για κάθε n > k . Οπότε αφού c > 0 τότε ϑα ισχύει και 1 |f (n)| ≥ |g(n)| για κάθε n > k . c Συνεπώς, αν ϑέσουµε c = 1 τότε ϑα ισχύει |g(n)| ≤ c |f (n)| για κάθε c n > k. ∆ηλαδή, σύµφωνα µε τον ορισµό του Big − O notation πρόταση f (n) = Ω(g(n)) ⇒ g(n) = O(f (n)) είναι αληθής. 2. n! = Θ(n log n) ΄Εστω ότι ισχύει n! = Θ(n log n). Εποµένως, n! = O(n log n), ΄Εστω συνάρτηση g(n) = 2n . Αποδεικνύεται ότι g(n) = O(n!) ( 2n = 2 · 2 · . . . 2 ≤ 2 · 3 · . . . n = n!) n times οπότε κατ΄ επέκταση ϑα ισχύει και 2n = O(n log n). Κάτι τέτοιο όµως είναι άτοπο, εποµένως η αρχική πρόταση δεν ισχύει. 3. f (n) = ω(g(n)) ⇒ f (n) = Ω(g(n)) Από τον ορισµό του ω(g(n)) ισχύει ότι f (n) = ω(g(n)) αν υπάρχουν ϑετικές σταθερές c και k τέτοιες ώστε |f (n)| > c|g(n)| για κάθε n > k . Αφού λοιπόν έχουµε από τα δεδοµένα ότι αυτό ισχύει, δηλαδή ότι |f (n)| > c|g(n)| ϑα ισχύει και ότι για c , k ϑετικές σταθερές έχουµε |f (n)| ≥ c |g(n)| για κάθε n > k . Θα έχουµε δηλαδή ότι ισχύει f (n) = Ω(g(n)). 2
  • 4. 4. Αν f (n) = O(g(n)) και f (n) = Ω(h(n)) ⇒ g(n) = Θ(h(n)) Από τον ορισµό του Big-O notation έχουµε ότι f (n) = O(g(n)) ισχύει όταν υπάρχουν ϑετικές σταθερές c και k τέτοιες ώστε |f (n)| ≤ c|g(n)| για κάθε n > k . Επίσης από τον ορισµό του Big-Ω notation έχουµε ότι f (n) = Ω(h(n)) ισχύει όταν υπάρχουν ϑετικές σταθερές c και k τέτοιες ώστε |f (n)| ≥ c |h(n)| για κάθε n > k . Για να ισχύει λοιπόν το g(n) = Θ(h(n)), ϑα πρέπει να δείξουµε ότι ισχύει g(n) = O(h(n)) και ταυτόχρονα g(n) = Ω(h(n)). Από τα δεδοµένα έχουµε ότι f (n) = O(g(n)), δηλαδή ότι και g(n) = Ω(f (n)) (ϐλέπε απόδειξη 1 ίδιας άσκησης). Επίσης από τα δεδοµένα έχουµε f (n) = Ω(h(n)). ΄Ετσι ϑα υπάρχουν c και k ϑετικά τέτοια ώστε να ισχύει και |g(n)| ≥ c|f (n)| ≥ c |h(n)| ⇒ |g(n)| ≥ c |h(n)|, δηλαδή, g(n) = Ω(h(n)). ΄Οµως ϕαίνεται ότι το αντίθετο δεν ισχύει, δηλαδή, δεν ισχύει ότι g(n) = O(h(n)). Θα προσπαθήσουµε να δείξουµε ότι δεν ισχύει µε ένα αντιπα- ϱάδειγµα. ΄Εστω, οι συναρτήσεις h(n) = log n, f (n) = n και g(n) = n log n. Εύκολα αποδεικνύουµε ότι οι συναρτήσεις είναι της µορφής που Ϲητάµε, δηλαδή ισχύει f (n) = Ω(h(n)) και f (n) = O(g(n)) που είναι και η αρχική συνθήκη και συνεπώς ισχύει και το συµπέρασµα ότι g(n) = Ω(h(n)) που δείξαµε πιο πάνω. ΄Εστω ότι ισχύει η συνθήκη ότι g(n) = O(h(n)), ότι δηλαδή, n log n = O(log n). Υπάρχουν λοιπόν ϑετικά l και m τέτοια ώστε |n log n| ≤ l| log n| για κάθε n > m. ΄Οταν n ≤ l η σχέση αυτή ϕαίνεται να ι- σχύει, αφού µιλάµε για ϑετικές ποσότητες. ΄Οταν όµως το n αυξάνει ενώ το l είναι µια σταθερή ποσότητα και κάποια στιγµή ϑα είναι n > l, οπότε η ανισότητα |n log n| ≤ l| log n| δεν ϑα ισχύει. ΄Ετσι µπορούµε να πούµε ότι τελικά η ανισότητα |n log n| ≤ l| log n| δεν ισχύει για κάθε n > k , και εποµένως δεν ισχύει η αρχική συνθήκη. Συνεπώς, η πρόταση δεν είναι αληθής. 5. 4n2 + 5n − 9 = Ω(10n2 ) Από τη ϑεωρία γνωρίζουµε ότι µια πολυωνυµική συνάρτηση έχει τάξη (Θ) τον όρο µε το µεγαλύτερο εκθέτη. Συνεπώς, η τάξη της f (n) = 4n2 + 5n − 9 = Θ(n2 ). Αυτό σηµαίνει επίσης ότι, f (n) = Ω(n2 ). Κατά τον ίδιο τρόπο g(n) = 10n2 = Θ(n2 ) και εποµένως g(n) = Ω(n2 ). Οπότε η πρόταση ισχύει. 3
  • 5. 6. log(n!) = Θ(n log n) Στο πρώτο ϐήµα της απόδειξης, ϑα δείξουµε ότι ισχύει log(n!) = O(n log n). n! = 1 · 2 . . . n − 1 · n ≤ n · n . . . n ⇒ n! ≤ nn Εποµένως log n! ≤ log nn ⇒ log n! ≤ n log n ΄Ετσι υπάρχουν ϑετικές ποσότητες c, k τέτοιες ώστε | log n!| ≤ c|n log n|, για κάθε n ≥ k , δηλαδή, ισχύει ότι log(n!) = O(n log n). Αφού αποδείξαµε το πρώτο µέρος, αποµένει να δείξουµε ότι ισχύει και log(n!) = Ω(n log n). ΄Ετσι, n n n n n nn2 n! ≥ · ( + 1) · ( + 2) · . . . ( + ) ≥ ⇒ 2 2 2 2 2 2 nn2 n n n! ≥ ⇒ log n! ≥ log ⇒ 2 2 2 n 1 1 n! ≥ (log n − log 2) = n log n − n 2 2 2 Εποµένως υπάρχουν ϑετικές ποσότητες c , k τέτοιες ώστε | log n!| ≥ c|n log n|, για κάθε n ≥ k , δηλαδή, ισχύει ότι log(n!) = Ω(n log n). Συνεπώς η πρόταση είναι αληθής. 7. f (n) + g(n) = Θ(min(g(n), f (n))) Γνωρίζουµε ότι ισχύει το f (n) = Θ(f (n)) και g(n) = Θ(g(n)). Επίσης ισχύει ότι f (n) + g(n) = Ω(min(g(n), f (n))). Συνεπώς για να ισχύει η πρόταση ϑα πρέπει να ισχύει ότι f (n) + g(n) = O(min(g(n), f (n))). ΄Εστω ότι f (n) + g(n) = O(min(g(n), f (n))) ισχύει. Οπότε έστω οι συναρτήσεις f (n) = n και g(n) = 2n . Συνεπώς min(f (n), g(n)) = f (n) = n. ΄Αρα από την αρχική υπόθεση ϑα είναι n + 2n = O(n). Κάτι τέτοιο δεν ισχύει οπότε και η πρόταση f (n)+g(n) = O(min(g(n), f (n))) δεν ισχύει. Συνεπώς, και η αρχική πρόταση δεν ισχύει. √ √ 8. n + 2 n = Ω(n n) Από το ϑεώρηµα ισχύει ότι f (n) + g(n) = Ω(min(g(n), f (n))). Επίσης, √ √ αν f (n) = n και g(n) = 2 n, τότε, min(f (n), g(n)) = 2 n = g(n), για κάθε n > 4. √ Οπότε αρκεί να δείξουµε ότι η g(n) = Ω(n n). ΄Εστω ότι ισχύει g(n) = √ Ω(n n). ∆ηλαδή υπάρχουν ϑετικές ποσότητες c, k τέτοιες ώστε |g(n)| ≥ √ c|n n|, για κάθε n > k . ΄Εχουµε δηλαδή, √ √ √ |g(n)| ≥ c|n n| ⇒ |2 n| ≥ c|n n| ⇒ 4
  • 6. c √ √ √ | n| ≥ |n n| ⇒ | n| ≥ c |n n| 2 Κάτι τέτοιο είναι άτοπο για ϑετικές ποσότητες οπότε ισχύει η πρόταση √ g(n) = Ω(n n) και συνεπώς ισχύει η αρχική πρόταση. 9. Αν f (n) = O(g(n)) και g(n) = Ω(f (n)) ⇒ f (n) = Θ(g(n)) Για να ισχύει η πρόταση αυτή ϑα έπρεπε να ισχύει f (n) = O(g(n)) και g(n) = O(f (n)). ΄Οµως επειδή δεν γνωρίζουµε αν g(n) = O(f (n)), αλλά µόνο ότι g(n) = Ω(f (n)) τότε η πρόταση δεν ισχύει. Αν η πρόταση µας έλεγε ότι ισχύει f (n) = O(g(n)) και g(n) = Θ(f (n)) τότε η πρόταση ϑα ήταν αληθής. 4 Χωρίστε τη λίστα των συναρτήσεων σε κλάσεις, τέτοιες ώστε οι f (n) και g(n) να ανήκουν στην ίδια κλάση αν και µόνο αν f (n) = Θ(g(n)). Στη συνέχεια επιλέξτε έναν εκπρόσωπο από κάθε κλάση και κατατάξτε τους κατά αύξουσα σειρά πολυπλοκότητας n n2 −n n • = ... = 2 οπότε = Θ(n2 ) 2 2 • n log n = Θ(n log n) n 1 • k=1 k = log n + c = Θ(log n) • 8n2 = Θ(n2 ) √ 1 • log log n = log(log n)1/2 = 2 log log n = Θ(log log n) • n! = Θ(n!) • log log n = Θ(log log n) • nlog n = Θ(nlog n ) • log n! = Θ(n log n) 2 • 4log n = 22 log n = 2log n = n2 = Θ(n2 ) n n • k=0 = 2n = Θ(2n ) k 2 • 2log n = 2log n log n = nlog n = Θ(nlog n ) • 10100 = Θ(10100 ) • 2n = Θ(2n ) 5
  • 7. • log n = Θ(log n) √ 1/2 √ √ • ( 2)log n = 21/2 log n = 2log n = n1/2 = n = Θ( n) • (n − 1)! = Θ((n − 1)!) • log nn = n log n = Θ(n log n) • 5800 = Θ(5800 ) √ √ • 5 n = Θ( n) Οπότε κατηγοριοποιώντας έχουµε : n • = 8n2 = 4log n = Θ(n2 ) 2 • n log n = log n! = log nn = Θ(n log n) √ • log log n = log log n = Θ(log log n) 2 • nlog n = 2log n = Θ(nlog n ) √ √ √ • ( 2)log n = 5 n = Θ( n) n n • k=0 = 2n = Θ(2n ) k • 5800 = 10100 = Θ(1) • (n − 1)! = Θ((n − 1)!) • n! = Θ(n!) n 1 • log n = k=1 k = Θ(log n) Αν επιλέξουµε έναν αντιπρόσωπο από κάθε κλάση µπορούµε να ταξινοµή- σουµε τις κλάσεις ως εξής : √ 10100 , log log n, log n, 5 n, n log n, 8n2 , nlog n , 2n , (n − 1)!, n! 5 Για κάθε Ϲεύγος εκφράσεων (A, B) του παρακάτω πίνακα αποφασίστε αν το Α είναι Ο, ο, Ω, ω ή Θ του Β. Υποθέστε ότι οι k ≥ 1, > 0 και c > 1 είναι σταθερές. Απαντήστε σηµειώνοντας ένα `ναι΄ ή ένα `όχι΄ σε κάθε ϑέση του πίνακα. 6
  • 8. Α Β Ο ο Ω ω Θ a. logk n n ναι ναι b. nk cn ναι ναι c. 2n 2n/2 ναι ναι d. nlog c clog n ναι ναι ναι A Παίρνουµε το όριο limn→∞ B . ΄Ετσι έχουµε, a. logk n ∞ k logk−1 n · 1 n lim = ∞ lim = n→∞ n n→∞ n −1 k logk−1 n k! lim = . . . = lim k n→∞ n n→∞ n Οπότε, k! 1 lim = =0 n→∞ k n ∞ Εποµένως, logk n = o(n ) ⇒ logk n = O(n ). b. nk ∞ knk−1 ∞ lim = ∞ lim n =∞ n→∞ cn n→∞ c · ln c k! 1 . . . = lim = =0 n→∞ cn · lnk c ∞ Εποµένως, nk = o(cn ) ⇒ nk = O(cn ). c. 2n 2n/2+n/2 2n/2 2n/2 lim = lim = lim = n→∞ 2n/2 n→∞ 2n/2 n→∞ 2n/2 lim 2n/2 = ∞ n→∞ Εποµένως, 2n = ω(2n/2 ) ⇒ 2n = Ω(2n/2 ). d. nlog c lim n→∞ clog n ΄Οµως γνωρίζουµε ότι nlog c = clog n , συνεπώς nlog c lim =1 n→∞ clog n Εποµένως, nlog c = Θ(clog n ). 7
  • 9. 6 Ποια είναι η πολυπλοκότητα των παρακάτω τµηµάτων προγράµµατος ; Αλγόριθµος 1 n n n n 2 n2 4 2 n2 4 Θ(1) = Θ(1) 1 i=1 j=1 k=1 i=1 j=1 k=1 οπότε, n 2 n n4 Θ(1) · · n · = Θ(1) 4 2 8 Εποµένως ο αλγόριθµος είναι τάξης Θ(n4 ). Αλγόριθµος 2 n−1 2i j n−1 2i j ( ( Θ(1))) = Θ(1) ( ( 1)) i=1 j=1 k=1 i=1 j=1 k=1 ΄Ετσι υπολογίζουµε : j (1+1)j k=1 1 = 2 =j 2i (1+ni)ni 2 2 j=1 j = 2 = ni+n i 2 2 n−1 ni+n2 i2 i=1 2 = i=1 ( ni + (ni) ) = n−1 2 2 n−1 ni n−1 (ni)2 i=1 ( 2 + i=1 2 = n n−1 n2 n−1 2 2 i=1 i + 2 i=1 i = n (1+(n−1))(n−1) 2 2 2 + n (n−1)((n−1)+1)(2(n−1)+1) 2 6 = n (n2 −n) n2 n(n−1)(2n−1) 2 2 + 2 6 = n3 −n n3 (n−1)(2n−1) 4 + 12 Οπότε τελικά, ο αλγόριθµος προκύπτει ότι είναι τάξης Θ(n5 ). 7 Να υπολογίσετε τον χρόνο εκτέλεσης µέσης περίπτωσης του αλγορίθµου 3, δε- δοµένου ότι γνωρίζουµε πως το στοιχείο που ψάχνουµε (το k ) ϐρίσκεται στην τελευταία ϑέση µε πιθανότητα 1/4, στην προτελευταία ϑέση µε πιθανότητα 1/4, ενώ η πιθανότητα να ϐρίσκεται σε οποιαδήποτε από τις υπόλοιπες n − 2 1 ϑέσεις είναι ίση µε 4(n−2) , n ≥ 3. Αν ϑεωρήσουµε ως Dn το σύνολο των διαφορετικών εισόδων στο πρόβληµα και d ∈ D µια είσοδό του τότε : 8
  • 10. • Πολυπλοκότητα στην ϐέλτιστη περίπτωση (Best Case Scenario): Cbcs (n) = min{κόστος(d), d ∈ Dn } Αν το k είναι το πρώτο στοιχείο της ακολουθίας, τότε ϑα κάνει 2 συγκρί- σεις (από τον έλεγχο της WHILE) και µια καταχώρηση (i = 0). Αν το k είναι το δεύτερο στοιχείο της ακολουθίας, τότε ϑα κάνει 4 συγκρίσεις και 2 καταχωρήσεις και γενικά αν είναι το i−οστό στοιχείο ϑα κάνει 2i συγκρίσεις και i καταχωρήσεις. • Πολυπλοκότητα στην χείριστη περίπτωση(Worst Case Scenario): Cwcs (n) = max{κόστος(d), d ∈ Dn } Στη χειρότερη περίπτωση που το k δεν ανήκει στην ακολουθία, τότε ο αλγόριθµος ϑα εκτελέσει 2n + 2 συγκρίσεις (στην τελευταία επανάληψη υποθέτουµε ότι ϑα κάνει και τις δύο συγκρίσεις) και n+1 καταχωρήσεις. Η πιθανότητα να µην ϐρίσκεται το k στην ακολουθία είναι 1 2 n−2 p = 1 − p ⇒ p = 1 − ((n − 2) + )= 4(n − 2) 4 4(n − 2) • Πολυπλοκότητα κατά µέσο όρο : Cµo (n) = d∈Dn p(d)κόστος(d) Η κατά µέσο όρο πολυπλοκότητα, είναι πόσες πράξεις κάνει (ή πόση µνήµη δεσµεύει) ο αλγόριθµος κατά µέσο όρο. ΄Ετσι µετράµε τις πράξεις (κόστος(d)) που κάνει ο αλγόριθµος για κάθε δυνατή είσοδο d ∈ Dn που δίνεται µε πιθανότητα p(d). ΄Ετσι έχουµε πολυπλοκότητα κατά µέσο όρο (για συγκρίσεις): 1 1 Cµo (n) = 2+ 4 + ... 4(n − 2) 4(n − 2) 1 1 n−2 + 2(n − 1) + 2n + 2(n + 1) 4 4 4(n − 2) ΄Ετσι, n−2 1 6n − 1 Cµo (n) = 2i + 4(n − 2) 4 i=0 9