Δημοσιεύτηκε: 05 Απρ 2012, 00:57
stamatiou έγραψε:Πρώτα έχω υλοποιήσει τον πιο απλό αλγόριθμο: http://ideone.com/AlvqT. Να κάνω όλα τα πιθανά αθροίσματα και να κρατάω το μικρότερο. Από αύριο επανέρχομαι με ένα πιο γρήγορο
Πολύ ωραία. Μπορείς να δοκιμάσεις το πρόγραμμα αυτό και με μεγάλα αρχεία εισόδου, για να δεις πως ανταποκρίνεται.
Βλέποντας τον κώδικα, αυτό το for(for()) εκτελείτε γύρω στις n * n φορές. Δηλαδή, αν είχες 1000 στοιχεία στο αρχείο εισόδου, θα έτρεχε ο κώδικας μέσα στο for(for()) 1.000.000 φορές. Για 1.000.000, ο επεξεργαστής μπορεί να τις κάνει αρκετά γρήγορα. Θέλει βελτίωση όταν πας στο 1 εκ. αριθμούς, οπότε είναι 1.000.000 * 1.000.000 = 1.000.000.000.000 = 1τρις.
Αν θες να συζητήσεις και για καλύτερους αλγόριθμους, μπορείς να πεις εδώ.