📊 Ταξινόμηση (Sorting)
Τι είναι η Ταξινόμηση;
Η ταξινόμηση είναι η διαδικασία τοποθέτησης των στοιχείων μιας δομής σε αύξουσα ή φθίνουσα σειρά (ανάλογα με τη συνάρτηση διάταξης). Αυτή η διαδικασία είναι πολύ σημαντική γιατί διευκολύνει την αναζήτηση και την οργάνωση των στοιχείων σε πολλούς τομείς, όπως σε βάσεις δεδομένων, καταλόγους και συστήματα ταξινόμησης.
Χρήση Ταξινόμησης
📐 Ορισμός της Ταξινόμησης
Η ταξινόμηση συνίσταται στη μετάθεση (permutation) των στοιχείων ώστε να τακτοποιηθούν σε μία σειρά, π.χ.:
f(ak1) ≤ f(ak2) ≤ ... ≤ f(akn)
💡 Ταξινόμηση Ευθείας Ανταλλαγής (Bubble Sort)
Η ταξινόμηση ευθείας ανταλλαγής (γνωστή και ως bubble sort) είναι μια απλή μέθοδος ταξινόμησης. Λειτουργεί συγκρίνοντας γειτονικά στοιχεία και ανταλλάσσοντας τα, εάν είναι σε λάθος σειρά. Η διαδικασία επαναλαμβάνεται πολλές φορές, έως ότου τα στοιχεία ταξινομηθούν πλήρως.
- Κάθε πέρασμα στο πίνακα μετακινεί το μικρότερο στοιχείο στη σωστή του θέση, με τον τρόπο που οι φυσαλίδες ανεβαίνουν στην επιφάνεια του νερού 🤿.
👨💻 Αλγόριθμος Φυσαλίδας (Bubble Sort)
Ο παρακάτω αλγόριθμος υλοποιεί την ταξινόμηση φυσαλίδας:
Αλγόριθμος Φυσαλίδα
Δεδομένα // table, n //
Για i από 2 μέχρι n
Για j από n μέχρι i με_βήμα -1
Αν table[j-1] > table[j] τότε
αντιμετάθεσε table[j-1], table[j]
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Αποτελέσματα // table //
Τέλος Φυσαλίδα
🔄 Εντολή Αντιμετάθεσης
Η εντολή αντιμετάθεσε αλλάζει τη θέση δύο στοιχείων χρησιμοποιώντας μια βοηθητική μεταβλητή. Μπορεί να υλοποιηθεί ως εξής:
temp <- table[j-1]
table[j-1] <- table[j]
table[j] <- temp
🔑 Σημαντικοί Αλγόριθμοι Ταξινόμησης
Υπάρχουν πολλοί αλγόριθμοι ταξινόμησης, όπως:
- Ταξινόμηση με επιλογή
- Ταξινόμηση με παρεμβολή
- Γρήγορη ταξινόμηση (quicksort): Ο πιο γρήγορος αλγόριθμος.
- Ταξινόμηση φυσαλίδας: Ο πιο αργός και απλός αλγόριθμος.