Πολλές φορές πολλοί από εμάς καταφεύγουμε κατευθείαν στη συγγραφή κώδικα ώστε να υλοποιήσουμε μια λύση ενός προβλήματος. Όμως η λύση είναι ανεξάρτητη από τη γλώσσα προγραμματισμού που θα χρησιμοποιηθεί (C, C++, Python,...). Αυτό διότι νοητά έχουμε σκεφθεί τα βήματα που θα ακολουθήσουμε για το σκοπό αυτό.
Τι πετυχαίνουμε όμως κάνοντας το παραπάνω, να γράψουμε αυτά τα νοητά βήματα δηλαδή τον αλγόριθμο; Η απάντηση είναι πως δίνουμε την δυνατότητα σε οποιονδήποτε γνωρίζει μια γλώσσα προγραμματισμού να υλοποιήσει τον αλγόριθμο. Μιας και μιλάμε λοιπόν για ανοικτό λογισμικό γιατί να μη μιλήσουμε και για ανοικτή σκέψη από την οποία προέρχεται το λογισμικό; Για παράδειγμα, έχω φτιάξει ένα παιχνίδι που λέγεται π.χ Α. Το έχω υλοποιήσει σε γλώσσα C και τρέχει από το τερματικό. Δε γνωρίζω όμως την π.χ PyGTK. Παραθέτοντας τον αλγόριθμο του παιχνιδιού δίνεται το δικαίωμα και η ευκαιρία να παίξουμε το παιχνίδι και από γραφικό περιβάλλον, εάν κάποιος θέλει να τον υλοποιήσει . Επιπλέον μπορούμε να διορθώσουμε ευκολότερα μια λάθος σκέψη ή να προσθέσουμε κάτι χωρίς να αλλάζουμε μεταβλητές και ορισμούς όπως θα έπρεπε να κάνουμε αν υλοποιούσαμε κατευθείαν σε γλώσσα όπως τη C.
Ο αλγόριθμος μπορεί να είναι είτε σε ψευδοκώδικα είτε σε διάγραμμα ροής.
Συνοψίζοντας λοιπόν, σε αυτό το νήμα θα δημοσιεύουμε-αναλύουμε αλγόριθμους που είτε μας έχουν εντυπωσιάσει, όπως π.χ έκανε ένα μέλος σε αυτό το νήμα, είτε τους έχουμε δημιουργήσει εμείς. Αν είναι η τελική τους μορφή θα συγκεντρώνονται στην αρχική δημοσίευση, αυτήν δηλαδή, του νήματος για καλύτερο ευρετήριο.
ΕΥΡΕΤΗΡΙΟ:
- Μέγιστος Κοινός Διαιρέτης - Αλγόριθμος του ΕυκλείδηSpoiler: show
- Σειριακή Αναζήτηση σε ΠίνακαSpoiler: show
- Δευτεροβάθμια εξίσωσηSpoiler: show