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]:

Επαναληπτικές ασκήσεις σε Συμβολοσειρές και Λίστες (strings and lists)

Φύλλο επανάληψης στις συμβολοσειρές (strings) και στις λίστες (lists)


Το φύλλο σε pdf


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

Ταξινόμηση ευθείας ανταλλαγής (bubble sort)

Δημιουργία συνάρτησης που υλοποιεί τον αλγόριθμο ευθείας ανταλλαγής (bubble sort). Στο κυρίως πρόγραμμα γεμίζουμε μια λίστα με αριθμούς χωρίς ταξινόμηση. Καλούμε τη συνάρτηση ταξινόμησης και εμφανίζεται η λίστα αταξινόμητη και ταξινομημένη.




Ταξινομηση bubble sort

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

Δυαδική αναζήτηση αριθμών και δυαδική αναζήτηση αριθμού σε ταξινομημένη λίστα σε python

Δυαδική αναζήτηση αριθμού (του χρήστη) σε εύρος αριθμών (1-1000) σε python. Ο αλγόριθμος ρωτάει αν ο αριθμός που αναζητούμε είναι μεγαλύτερος ή μικρότερος από αυτόν που προτείνει ο αλγόριθμος.




Δυαδική αναζήτηση αριθμού από 1 - 1000


Δυαδική αναζήτηση αριθμού σε ταξινομημένη λίστα (αύξουσα ταξινόμηση) σε python. Ο αλγόριθμος υλοποιείται με τη χρήση συνάρτησης που δέχεται ως ορίσματα τη λίστα και το αριθμό που αναζητούμε.  Ο αλγόριθμος συγκρίνει αν ο αριθμός που αναζητούμε είναι μεγαλύτερος ή μικρότερος από αυτόν που προτείνει ο αλγόριθμος.


Αλγόριθμος δυαδικής αναζήτησης σε ταξινομημένη λίστα