Ταξινόμηση. 1. Ταξινόμηση με Μέτρημα 2. Ταξινόμηση με βάση τη Ρίζα. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Σχετικά έγγραφα
Ταξινόμηση. 1. Ταξινόμηση του Shell. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Δομές Δεδομένων και Αλγόριθμοι

Εργαστήριο 7: Ο αλγόριθμος ταξινόμησης Radix Sort

Σχεδίαση και Ανάλυση Αλγορίθμων

1. Η χειρότερη περίπτωση είναι όταν γίνου 10 επαναλήψεις, δηλαδή για n = 0.

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

Αλγόριθμοι Ταξινόμησης Μέρος 4

Αριθμητικά Συστήματα

Ταξινόμηση. 1. Ταξινόμηση με Εισαγωγή 2. Ταξινόμηση με Επιλογή. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Κεφάλαιο 5. Ανάλυση αλγορίθμων

Αλγόριθμοι και Πολυπλοκότητα Φώτης Ε. Ψωμόπουλος, Περικλής Α. Μήτκας

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΠΛΗΡΟΦΟΡΙΚΗ I. 4 η ΔΙΑΛΕΞΗ Αριθμητικά Συστήματα

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Quicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι

Αλγόριθμοι Ταξινόμησης Μέρος 2

Αλγόριθµοι και Πολυπλοκότητα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΘΕΜΑ 1 ο. Στήλη Β Προτάσεις. β. Ο βρόχος επανάληψης τερµατίζεται, όταν η συνθήκη είναι αληθής. όταν η συνθήκη είναι ψευδής.

Ταξινόμηση κάδου και ταξινόμηση Ρίζας Bucket-Sort και Radix-Sort

1η Σειρά Γραπτών Ασκήσεων

Γ ΤΑΞΗ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ÑÏÌÂÏÓ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Ταξινόμηση. Σαλτογιάννη Αθανασία

Εισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Αλγόριθμοι Χαμηλού Επιπέδου

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Στήλη Β Προτάσεις. 1. Όσο συνθήκη επανάλαβε εντολές Τέλος_επανάληψης 2. Αρχή_επανάληψης εντολές Μέχρις_ότου συνθήκη

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Αλγόριθμοι Ταξινόμησης Μέρος 1

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ - ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;

ΘΕΜΑ Α. Μονάδες 10 Α2.

Στήλη Β Προτάσεις α. Ο βρόχος επανάληψης τερµατίζεται, όταν η συνθήκη είναι αληθής β. Ο βρόχος επανάληψης

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version

5.1. Προσδοκώμενα αποτελέσματα

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

ΔΙΑΓΩΝΙΣΜΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 2008

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

Δυναμικός Προγραμματισμός

Διαδικασιακός Προγραμματισμός

Εισαγωγή στην Επιστήμη των Υπολογιστών

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

Αλγόριθμοι Ταξινόμησης

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

Προγραμματισμός Η/Υ (ΤΛ2007 )

Αλγόριθμοι και πολυπλοκότητα Bucket-Sort και Radix-Sort

10-δικό δικό

Ταξινόμηση. 1. Στατιστικά Διάταξης 2. Στατιστικά σε Μέσο Γραμμικό Χρόνο. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Ταξινόμηση. 1. Γρήγορη ταξινόμηση 2. Ταξινόμηση με Συγχώνευση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Ουρά Προτεραιότητας: Heap

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ

Αλγόριθµοι και Πολυπλοκότητα

Δυαδικό Σύστημα Αρίθμησης

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΑΑΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΑΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ)

Σύστημα αρίθμησης. Τρόπος αναπαράστασης αριθμών Κάθε σύστημα αρίθμησης έχει μία βάση R

Τρίτη, 1 Ιουνίου 2004 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

ΘΕΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Κεφάλαιο 1. Συστήματα αρίθμησης και αναπαράστασης

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΚΕΦΑΛΑΙΟ ΟΙ ΥΠΟΛΟΓΙΣΤΕΣ ΑΠΟ ΤΗΝ ΑΡΧΑΙΟΤΗΤΑ ΜΕΧΡΙ ΣΗΜΕΡΑ Ιστορική αναδρομή Υπολογιστικές μηχανές

Δομές Δεδομένων & Αλγόριθμοι

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Επαναληπτικές Διαδικασίες

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Κεφάλαιο 13 Αντισταθμιστική Ανάλυση

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) 2004

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Προγραµµατιστικές Τεχνικές

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8

I. ΑΛΓΟΡΙΘΜΟΣ II. ΠΡΑΞΕΙΣ - ΣΥΝΑΡΤΗΣΕΙΣ III. ΕΠΑΝΑΛΗΨΕΙΣ. 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι:

Δομές Δεδομένων & Αλγόριθμοι

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 7 η. Βασίλης Στεφανής

Εισαγωγή στην επιστήμη των υπολογιστών. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ και Μετατροπές Αριθμών

Transcript:

Ταξινόμηση 1. Ταξινόμηση με Μέτρημα 2. Ταξινόμηση με βάση τη Ρίζα Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Ταξινόμηση με Μέτρημα Ας υποθέσουμε ότι δίνεται ένας πίνακας Α με n στοιχεία, που λαμβάνουν τιμές από 1 μέχρι k, όπου k < n. Θα εκτελέσουμε μια ταξινόμηση με τη βοήθεια ενός βοηθητικού πίνακα C μεγέθους k, ενώ το αποτέλεσμα θα αποθηκευθεί στον πίνακα Β.

Ταξινόμηση με Μέτρημα Αλγόριθμος countsort 1. for i 1 to k do C[i] 0; 2. for i 1 to n do C[A[i]] C[A[i]]+1; // το C[i] περιέχει τώρα το πλήθος των στοιχείων που είναι ίσα με i 3. for i 2 to k do C[i] C[i]+C[i-1] // το C[i] περιέχει τώρα το πλήθος των στοιχείων που είναι μικρότερα ή ίσα με i 4. for i n downto 1 do 5. Β[C[Α[i]]] Α[i]; 6. C[Α[i]] C[Α[i]] -1 Με την εντολή 2 καταμετρώνται οι εμφανίσεις της κάθε τιμής (από τις k) και τοποθετούνται (το πλήθος των εμφανίσεων) σε αντίστοιχες θέσεις του πίνακα C. Με την εντολή 3 σαρώνεται ο πίνακας C και προκύπτει η νέα μορφή του C, όπου κάθε θέση προκύπτει ως το άθροισμα των τιμών των δύο προηγούμενων θέσεων. Με το βρόχο της εντολής 4, στον πίνακα Β τοποθετείται η ζητούμενη ταξινομημένη ακολουθία και τερματίζει ο αλγόριθμος. 3

Με την εντολή 2 καταμετρώνται οι εμφανίσεις της κάθε τιμής (από τις k) και τοποθετούνται σε αντίστοιχες θέσεις του πίνακα C. Με την εντολή 3 σαρώνεται ο πίνακας C και προκύπτει η νέα μορφή του C, όπου κάθε θέση προκύπτει ως το άθροισμα των τιμών των δύο προηγούμενων θέσεων. Με το βρόχο της εντολής 4, στον πίνακα Β τοποθετείται η ζητούμενη ταξινομημένη ακολουθία και τερματίζει ο αλγόριθμος. 4

Ο αλγόριθμος αποτελείται από τέσσερις διαδοχικούς βρόχους. Εξ αυτών οι δύο εκτελούν n επαναλήψεις, ενώ άλλοι δύο εκτελούν k επαναλήψεις. Οι τέσσερεις βρόγχοι για τις γραμμές 1, 2, 3, 4-6 απαιτούν χρόνο Θ(k), Θ(n), Θ(k), Θ(n). Ευνόητο είναι ότι η πολυπλοκότητα του αλγορίθμου Θ(n + k). Με την παραδοχή ότι k < n έπεται ότι η πολυπλοκότητα είναι Θ(n). Επιτύχαμε δηλαδή ένα γραμμικό αλγόριθμο ταξινόμησης; Η ερώτηση είναι παγίδα γιατί (α) ο αλγόριθμος δεν στηρίζεται στις συγκρίσεις, και (β) αν k > > n, τότε προφανώς δεν ισχύει το τελικό συμπέρασμα. Αλγόριθμος countsort 1. for i 1 to k do C[i] 0; 2. for i 1 to n do C[A[i]] C[A[i]]+1; // το C[i] περιέχει τώρα το πλήθος των στοιχείων που είναι ίσα με i 3. for i 2 to k do C[i] C[i]+C[i-1] // το C[i] περιέχει τώρα το πλήθος των στοιχείων που είναι μικρότερα ή ίσα με i 4. for i n downto 1 do 5. Β[C[Α[i]]] Α[i]; 6. C[Α[i]] C[Α[i]] -1 5

Η ταξινόμηση με μέτρημα καταρρίπτει το κάτω φράγμα Ω(nlοgn) (που αποδείξαμε στην ενότητα «Ορια αλγορίθμων ταξινόμησης) καθώς δεν ανήκει στην κατηγορία των αλγορίθμων ταξινόμησης με συγκρίσεις. Η ταξινόμηση με μέτρημα δεν κάνει καμία σύγκριση μεταξύ των στοιχείων εισόδου. Το κάτω φράγμα Ω(nlοgn) όσον αφορά την ταξινόμηση παύει να ισχύει όταν ξεφεύγουμε από το μοντέλο της συγκριτικής ταξινόμησης. Μια σημαντική ιδιότητα της ταξινόμησης με μέτρημα είναι η ευστάθειά της, τα στοιχεία με την ίδια τιμή εμφανίζονται στον πίνακα εξόδου με την ίδια σχετική διάταξη όπως και στον πίνακα εισόδου. Δηλαδή οι «ισοπαλίες» μεταξύ των αριθμών αίρονται με βάση τον κανόνα ότι όποιος αριθμός εμφανίζεται πρώτος στον πίνακα εισόδου εμφανίζεται και πρώτος στον πίνακα εξόδου. Η ιδιότητα της ευστάθειας είναι σημαντική όταν το ταξινομούμενο στοιχείο φέρει παρελκόμενα δεδομένα. 6

Τώρα ας προσέξουμε τον επόμενο κώδικα. Οι πρώτες δύο εντολές είναι πανομοιότυπες με τις πρώτες δύο εντολές της διαδικασίας countsort αλλά στη συνέχεια υπάρχει διαφορά. Πιο συγκεκριμένα, δεν υπάρχει ο βοηθητικός πίνακας Β, και επίσης παρατηρούμε ένα διπλό βρόχο στις εντολές 4-6. Αλγόριθμος countsort2 1. for i 1 to k do C[i] 0 2. for i 1 to n do C[A[i]] C[Α[i]] +1; 3. i 0; 4. for j 1 to k do 5. for m C[j] down to 1 do 6. i i+1 ; Α[i] j Αλγόριθμος countsort 1. for i 1 to k do C[i] 0; 2. for i 1 to n do C[A[i]] C[A[i]]+1; 3. for i 2 to k do C[i] C[i]+C[i-1] 4. for i n downto 1 do 5. Β[C[Α[i]]] Α[i]; 6. C[Α[i]] C[Α[i]] -1 7

Πρόταση. Η πολυπλοκότητα της countsort2 είναι Θ(n + k) στη χειρότερη περίπτωση. Απόδειξη. Σύμφωνα, λοιπόν, με μία πρώτη προσέγγιση, με βάση τα όρια των βρόχων for μπορούμε να φθάσουμε στο συμπέρασμα ότι η πολυπλοκότητα είναι O(kn), επειδή n είναι η τιμή του C[i] στην εντολή 5 στη χειρότερη περίπτωση. Ωστόσο, η ανάλυση αυτή δεν είναι σφικτή. Ο εξωτερικός βρόχος for της εντολής 4 είναι συγκεκριμένος, δηλαδή έχουμε k επαναλήψεις. Η εντολή 6 θα εκτελεσθεί ακριβώς n φορές και όχι kn. Ας θεωρήσουμε την j-οστή επανάληψη του εξωτερικού βρόχου. Ο έλεγχος του εσωτερικού βρόχου for θα εκτελεσθεί C[j] +1 φορές. Επομένως, ο συνολικός αριθμός ελέγχων στο σημείο αυτό είναι: k ( C[ ] i 1) = C[ ] i + 1 = n + k i= 1 i= 1 i= 1 k k + 1. for i 1 to k do C[i] 0 2. for i 1 to n do C[A[i]] C[Α[i]] +1; 3. i 0; 4. for j 1 to k do 5. for m C[j] down to 1 do 6. i i+1 ; Α[i] j 8

Ταξινόμηση με Βάση τη Ρίζα Η ταξινόμηση με βάση τη ρίζα (radix sort) είναι μία γενίκευση της ταξινόμησης με μέτρημα. Εστω ότι δίνονται προς ταξινόμηση ένας πίνακας με n ακεραίους μεγέθους d ψηφίων. Εκτελούμε μία ταξινόμηση με μέτρημα ως προς το τελευταίο, δηλαδή το λιγότερο σημαντικό ψηφίο (least significant digit). Έτσι προκύπτει μια νέα μορφή του πίνακα, που και πάλι ταξινομούμε με μέτρημα αλλά αυτή τη φορά ως προς το δεύτερο ψηφίο από το τέλος. Η διαδικασία αυτή συνεχίζεται και τελειώνει όταν ο προκύπτων πίνακας ταξινομείται ως προς το πρώτο, δηλαδή το περισσότερο σημαντικό ψηφίο (most significant digit). 9

Στην ταξινόμηση με βάση τη ρίζα δεν υπάρχει περιορισμός ως προς το εύρος τιμών των κλειδιών, όπως υπάρχει στην ταξινόμηση με μέτρημα (η γνωστή παράμετρος k). Όμως όταν λαμβάνεται σε κάθε κλήση το αντίστοιχο ψηφίο, τότε εκεί προφανώς τα ψηφία λαμβάνουν τιμές εντός του διαστήματος 1-9, και έτσι συνιστάται η χρήση της ταξινόμησης με μέτρημα. Η μέθοδος θα μπορούσε να εφαρμοστεί και σε συμβολοσειρές, όπου κάθε χαρακτήρας θα λάμβανε τιμές στο διάστημα a-z ή α-ω (δηλαδή, 26 ή 24 διαφορετικές τιμές αντίστοιχα). Από το χρησιμοποιούμενο, λοιπόν, αριθμητικό σύστημα (δηλαδή το δεκαδικό, δυαδικό κλπ. σε περίπτωση αριθμών ή το διάστημα 1-24/26 σε περίπτωση χαρακτήρων) προκύπτει η ονομασία της μεθόδου (radix) 10

Αλγόριθμος radixsort 1. for i 1 to d do 2. countsort(d) Αν καλέσουμε την countsort της εντολής 2 με όρισμα d = 1 (θεωρούμε ότι η αρίθμηση των ψηφίων αρχίζει από το λιγότερο σημαντικό), τότε θα προκύπτει η δεύτερη μορφή του πίνακα, ενώ με τη δεύτερη κλήση της countsort και όρισμα d = 2 θα προκύψει η τελική μορφή του πίνακα. Ανάλυση πολυπλοκότητας. Εφ' όσον η ταξινόμηση με μέτρημα έχει γραμμική πολυπλοκότητα Θ (n+k), έπεται ότι η πολυπλοκότητα της ταξινόμηση με βάση τη ρίζα είναι Θ (dn+dk). Θεωρώντας το d ως σταθερά προκύπτει και πάλι γραμμική πολυπλοκότητα. 11