Αλγόριθμοι στην πράξη
Ας δούμε αλγορίθμους σε γνωστά προβλήματα: το πέρασμα ποταμού, τη συμπίεση δεδομένων και την κρυπτογράφηση.
Ο βαρκάρης πρέπει να περάσει απέναντι έναν λύκο, ένα πρόβατο και ένα λάχανο. Η βάρκα χωράει μόνο έναν μαζί του. Ο λύκος τρώει το πρόβατο, το πρόβατο τρώει το λάχανο, αν μείνουν μόνα. Βάλε τα βήματα στη σωστή σειρά.
- 1Περνάω το πρόβατο απέναντι
- 2Περνάω τον λύκο απέναντι
- 3Περνάω το λάχανο απέναντι
- 4Γυρίζω μόνος πίσω
- 5Γυρίζω πίσω φέρνοντας το πρόβατο
- 6Γυρίζω μόνος πίσω (ξανά)
- 7Περνάω το πρόβατο απέναντι
💡 Ξεκίνα με αυτό που «τρώγεται» από όλα — το πρόβατο.
Στη συμπίεση RLE (Run-Length Encoding) αντικαθιστούμε επαναλήψεις με «πλήθος+σύμβολο». Πώς κωδικοποιείται το ΑΑΑΑΑ (5 φορές το Α);
💡 Μετράμε πόσες φορές επαναλαμβάνεται και το γράφουμε μπροστά.
Η συμπίεση δεδομένων μειώνει τον χώρο που χρειάζεται ένα αρχείο, εκμεταλλευόμενη π.χ. τις επαναλήψεις.
Στην κρυπτογράφηση Καίσαρα με ολίσθηση 3, το Α γίνεται Δ. Με την ίδια ολίσθηση, τι γίνεται το Β;
💡 Μέτρα 3 γράμματα μπροστά: Β → Γ → Δ → Ε.
Ένας αλγόριθμος «Έξοδος από λαβύρινθο» που λέει «σε κάθε διασταύρωση στρίβε πάντα δεξιά» είναι…