21 Ιανουαρίου 2018

Παράλληλη ταξινόμηση 2 λιστών με τον αλγόριθμο ευθείας ανταλλαγής (bubble sort)

Στην περίπτωση που έχουμε 2 λίστες που συσχετίζονται, μπορούμε με την εφαρμογή του αλγόριθμου ταξινόμησης ευθείας ανταλλαγής να τις ταξινομήσουμε ταυτόχρονα.

Έστω 2 λίστες που συσχετίζονται:


x1=[65, 90, 85, 92, 78, 80]

x2=['A', 'B', 'C', 'D', 'E', 'F']

Π.χ. αν είναι βαθμολογίες, ο 'A' έχει βαθμολογία 65, ο 'B' έχει βαθμολογία 90, ο 'C' 85 κ.ο.κ.

Παρουσιάζονται δυο υλοποιήσεις του αλγόριθμου. 
Στην πρώτη, η λίστα με τις βαθμολογίες ταξινομείται σε αύξουσα σειρά (65,78,80,85,90,92) και παράλληλα η λίστα των ονομάτων. 
Στη δεύτερη, η λίστα με τις βαθμολογίες ταξινομείται σε φθίνουσα σειρά (92,90,85,80,78,65) και παράλληλα η λίστα των ονομάτων. 
Παρατήρηση:
Όταν ταξινομούμε σε φθίνουσα σειρά η γραμμή:
if L[j]<L[j-1]:
 γίνεται:
if L[j]>L[j-1]: