Ταξινόμηση με εισαγωγή
From Wikipedia, the free encyclopedia
Η ταξινόμηση με εισαγωγή είναι ένας απλός αλγόριθμος ταξινόμησης που δημιουργεί τον τελικό ταξινομημένο πίνακα (ή λίστα) αλλάζοντας ένα στοιχείο κάθε φορά. Είναι λιγότερο αποτελεσματική σε μεγάλες λίστες σε αντίθεση με άλλους αλγορίθμους όπως είναι η γρήγορη ταξινόμηση (quicksort), η ταξινόμηση με σωρό (heapsort), ή η ταξινόμηση με συγχώνευση (merge sort). Ωστόσο, η ταξινόμηση με εισαγωγή παρέχει πολλά πλεονεκτήματα:
- Είναι απλή στην εφαρμογή της.
- Αποτελεσματική για (πολύ) μικρά σύνολα δεδομένων.
- Αποδοτική για σύνολα δεδομένων που είναι ήδη ταξινομημένα με χρονική πολυπλοκότητα O(n + d), όπου d είναι ο αριθμός των αναστροφών.
- Πιο αποτελεσματική στην πράξη από άλλους απλούς τετραγωνικούς (όπως, O(n2)) αλγορίθμους όπως είναι η ταξινόμηση με επιλογή (selection sort) ή η ταξινόμηση φυσαλίδας (bubble sort), όπου στην καλύτερη περίπτωση (σχεδόν ταξινομημένα τα στοιχεία κατά την είσοδο) ο χρόνος εκτέλεσης είναι Ο(n).
- Ευσταθής, δηλαδή, δεν αλλάζει τη σχετική σειρά των στοιχείων που έχουν ίσα κλειδιά.
- Σε χώρο, καθώς απαιτεί μόνο σταθερό μέγεθος, δηλαδή Ο(1), επιπλέον μνήμης.
- Σε απευθείας σύνδεση, καθώς μπορεί να ταξινομήσει μια λίστα καθώς τη λαμβάνει.
![Thumb image](http://upload.wikimedia.org/wikipedia/commons/7/7e/Insertionsort-edited.png)
Όταν οι άνθρωποι ταξινομούν κάτι με μη αυτόματο τρόπο (χειροκίνητα), όπως είναι, για παράδειγμα, μία τράπουλα, οι περισσότεροι χρησιμοποιούν μία μέθοδο παρόμοια με αυτή της ταξινόμησης με εισαγωγή.[1]