
Πίστωση εικόνας: vgajic/E+/GettyImages
Η επινόηση νέων αλγορίθμων μπορεί να φαίνεται τρομακτική στους νέους προγραμματιστές, αλλά είναι μια δεξιότητα που μπορεί να εξασκηθεί όπως κάθε άλλη. Ξεκινήστε αναζητώντας ένα βιβλίο με προβλήματα αλγορίθμων για αρχάριους ή παρακολουθώντας ένα διαδικτυακό ή εκτός σύνδεσης μάθημα επιστήμης υπολογιστών. Εξασκηθείτε στον έλεγχο των βασικών στοιχείων του σχεδιασμού αλγορίθμων, συμπεριλαμβανομένης της εκτίμησης της πολυπλοκότητας και του χρόνου εκτέλεσης, του ελέγχου για περιπτώσεις ακμών που θα μπορούσαν να προκαλέσουν προβλήματα σε έναν αλγόριθμο υπολογιστή και να σπάσουν τα προβλήματα σε μικρότερα εξαρτήματα.
Τι είναι ο αλγόριθμος υπολογιστή
Ένας αλγόριθμος είναι μια διαδικασία που ακολουθεί ένας υπολογιστής ή ένας άνθρωπος για να λύσει ένα πρόβλημα. Το Long Division είναι ένα δείγμα αλγόριθμου που πολλοί άνθρωποι μαθαίνουν να κάνουν στο σχολείο. Ο Ευκλείδειος αλγόριθμος, που χρησιμοποιείται για την εύρεση του μεγαλύτερου κοινού διαιρέτη δύο αριθμών, είναι ένα άλλο κοινό παράδειγμα.
Το βίντεο της ημέρας
Ένας αλγόριθμος υπολογιστή είναι τελικά γραμμένος σε μια γλώσσα προγραμματισμού που μπορεί να καταλάβει ο υπολογιστής, αλλά όταν ο αλγόριθμος εκτελείται που αναπτύχθηκε, προγραμματιστές και επιστήμονες υπολογιστών το γράφουν συχνά πρώτα ανεπίσημα ως πρόζα και μετά πιο επίσημα σε μια γενική μορφή που ονομάζεται ψευδοκώδικας.
Ο ψευδοκώδικας μοιάζει με γλώσσα προγραμματισμού, αλλά επειδή έχει σχεδιαστεί για να διαβάζεται από ανθρώπους και όχι από υπολογιστές, δεν έχει αυστηρούς συντακτικούς κανόνες.
Παραδείγματα απλών αλγορίθμων για αρχάριους
Διάσημα παραδείγματα αλγορίθμων διδάσκονται συχνά σε αρχάριους επιστήμονες υπολογιστών και προγραμματιστές. Μερικά παραδείγματα είναι ο Αλγόριθμος του Dijkstra, ο οποίος χρησιμοποιείται στη θεωρία γραφημάτων για την εύρεση της συντομότερης διαδρομής μεταξύ δύο σημείων. Ταξινόμηση συγχώνευσης, η οποία χρησιμοποιείται για την ταξινόμηση λιστών δεδομένων. και τον αλγόριθμο RSA που χρησιμοποιείται για την κρυπτογράφηση δεδομένων. Πολλά από αυτά είναι διαθέσιμα στο διαδίκτυο σε δωρεάν σχολικά βιβλία, βίντεο και υλικό μαθημάτων.
Ο διαδικτυακός ιστότοπος εκμάθησης Khan Academy έχει πολλά παραδείγματα αλγορίθμων με τους οποίους μπορούν να πειραματιστούν οι αρχάριοι. Μεγάλα πανεπιστήμια όπως το Χάρβαρντ, το Στάνφορντ και το Τεχνολογικό Ινστιτούτο της Μασαχουσέτης κάνουν προγράμματα σπουδών υλικά και βίντεο μαθημάτων με κοινούς αλγόριθμους διαθέσιμα στο διαδίκτυο για εισαγωγική επιστήμη των υπολογιστών τάξεις.
Υπάρχουν επίσης ιστότοποι με προβλήματα διαγωνισμών προγραμματισμού και εξηγήσεις για τον τρόπο επίλυσής τους, που μπορούν να βοηθήσουν άτομα που ενδιαφέρονται να αναπτύξουν τις δεξιότητές τους.
Θεωρήσεις αλγορίθμου
Όταν σχεδιάζετε έναν νέο αλγόριθμο, θέλετε να βεβαιωθείτε ότι λειτουργεί σε όλες τις περιπτώσεις που πιστεύετε ότι θα έπρεπε και να προσπαθήσετε να καταλάβετε πόσο αποτελεσματικός είναι. Συνήθως, οι προγραμματιστές χωρίζουν τον αλγόριθμο σε διακριτά μέρη, ώστε να μπορούν να σκεφτούν πώς λειτουργεί κάθε μέρος και πόσο χρόνο χρειάζεται. Αυτό ονομάζεται αρθρωτός σχεδιασμός.
Είναι καλή ιδέα να δοκιμάσετε μόνοι σας έναν αλγόριθμο με στυλό και χαρτί σε μερικές απλές θήκες πριν αρχίσετε να γράφετε κώδικα. Όταν σκέφτεστε την αποτελεσματικότητα, σκεφτείτε τη μέση περίπτωση, τις κοινές καταστάσεις που είναι πιθανό να συναντήσει ο αλγόριθμός σας και το χρόνο εκτέλεσης στη χειρότερη περίπτωση. Ο χρόνος εκτέλεσης στη χειρότερη περίπτωση αντιπροσωπεύεται συχνά με αυτό που ονομάζεται Big-O Notation.