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

Α15.1 · Πολυπλοκότητα της atoi

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

Θέλω μια συνάρτηση atoi που να παίρνει ένα πίνακα χαρακτήρων (μόνο ψηφία) και να επιστρέφει έναν ακέραιο. Πώς;

int atoi(char digits[]) {
  int result = 0;
  for(int i = 0; digits[i]; i++) {
    result = 10 * result + digits[i] - '0';
  }
  return result;
}

Τι χρονική και τι χωρική πολυπλοκότητα έχει η συνάρτηση;

Υπόδειξη

Ορίστε πρώτα τι είναι το μέγεθος \(N\) της εισόδου εδώ (τι ακριβώς διατρέχει ο βρόχος;). Μετά μετρήστε τις επαναλήψεις και τις μεταβλητές που χρειάζονται.

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