Δημοσιεύτηκε: 27 Ιουν 2011, 15:35
από migf1
Επειδή python δεν γνωρίζω, έχω μια απορία: υπάρχει κάποιος ιδιαίτερος λόγος που το sum υπολογίζεται σε ξεχωριστό loop και όχι μαζί με τα min και max στο αρχικό loop? Αυτή η υλοποίηση κάνει τον διπλάσιο χρόνο να εκτελεστεί!

Επίσης, υποθέτω πως η len( nums ) είναι κάποια συνάρτηση που επιστρέφει το πλήθος των στοιχείων του πίνακα nums. Αν η python δεν έχει κάποιο μηχανισμό να υπολογίζει δυναμικά το πλήθος των στοιχείων την 1η φορά που τον διατρέχουμε κι ενδεχομένως να το κρατάει σε κάποια εσωτερική μεταβλητή που διαβάζει κατόπιν η len() (ή έστω κάποιον εσωτερικό μηχανισμό που προ-υπολογίζει και αποηθηκεύει το πλήθος των πινάκων κατά τον ορισμό του) τότε το κάλεσμα της συνάρτησης len στην παραπάνω υλοποίηση είναι επιπρόσθετη επιβάρυνση σε ταχύτητα.

Θα μπορούσε κι αυτό να υπολογίζεται δυναμικά με μια έξτρα μεταβλητή μέσα στο αρχικό loop, μαζί με όλα τα υπόλοιπα. Έτσι ο κώδικας θα διέτρεχε τον πίνακα 1 μόνο φορά, αντί για 3 που τον διατρέχει τώρα.