Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Α15.5 · Πολυπλοκότητα: γινόμενο περιττών πολλαπλασίων του 7

Διάλεξη 15, διαφάνεια 13 · Δυσκολία ★☆☆ · short-answer · Κεφάλαια: 15, 7

Θέλω να βρω το γινόμενο όλων των περιττών από το 1 μέχρι το N που διαιρούνται με το

  1. Πώς;

Ένα for loop με μια μεταβλητή που αυξάνεται και έλεγχο για mod 7 = 0:

for(product = 1, i = 1; i < N ; i += 2) {
  if ( i % 7 == 0 )
    product *= i;
}

Τι χρονική και τι χωρική πολυπλοκότητα έχει ο βρόχος ως προς το N;

Υπόδειξη

Μετρήστε πόσες φορές εκτελείται το σώμα του βρόχου συναρτήσει του N, και θυμηθείτε τι κάνει ο συμβολισμός \(O\) στους σταθερούς παράγοντες. Για τον χώρο, ρωτήστε αν κάποια δομή μεγαλώνει με το N. Ελέγξτε επίσης αν ο βρόχος εξετάζει το ίδιο το N.

Αριθμός στον οδηγό: Α15.5 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: slides-lec15-complexity-odd-multiples-of-7 · Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec15-complexity-odd-multiples-of-7.html · Markdown (GitHub)