Δημοσιεύτηκε: 05 Απρ 2012, 00:57
από simosx
stamatiou έγραψε:Πρώτα έχω υλοποιήσει τον πιο απλό αλγόριθμο: http://ideone.com/AlvqT. Να κάνω όλα τα πιθανά αθροίσματα και να κρατάω το μικρότερο. Από αύριο επανέρχομαι με ένα πιο γρήγορο :D


Πολύ ωραία. Μπορείς να δοκιμάσεις το πρόγραμμα αυτό και με μεγάλα αρχεία εισόδου, για να δεις πως ανταποκρίνεται.
Βλέποντας τον κώδικα, αυτό το 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τρις.

Αν θες να συζητήσεις και για καλύτερους αλγόριθμους, μπορείς να πεις εδώ.