Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ §3.7 ΤΑΞΙΝΟΜΗΣΗ."— Μεταγράφημα παρουσίασης:

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

2 ΕΙΣΑΓΩΓΗ Η ενότητα αυτή, αναφέρεται στην έννοια της ταξινόμησης και την χρησιμότητας της και μελετά τον αλγόριθμο ταξινόμησης ευθείας ανταλλαγής – φυσαλίδας, για τα περιεχόμενα ενός μονοδιάστατου πίνακα. 2

3 ΣΤΟΧΟΙ Κατανόηση της έννοια της ταξινόμησης και ο σκοπός της.της έννοια της ταξινόμησης και ο σκοπός της Κατανόηση της μεθόδου της ταξινόμησης φυσαλίδας.της μεθόδου της ταξινόμησης φυσαλίδας Τα διαφορετικά βήματα της μεθόδου.βήματα της μεθόδου Εφαρμογή του αλγορίθμου για την ταξινόμηση των στοιχείων ενός μονοδιάστατου πίνακα και εκτέλεση, του χρησιμοποιώντας τον Διερμηνευτή της Ψευδογλώσσας.Εφαρμογή του αλγορίθμου Η ύπαρξη και άλλων μεθόδων ταξινόμησης και τα κριτήρια επιλογής του καλύτερου αλγορίθμου.ύπαρξη και άλλων μεθόδων ταξινόμησης 3

4 ΤΑΞΙΝΟΜΗΣΗ Ταξινόμηση (sorting) καλείται η διαδικασία κατά την οποία οι κόμβοι μιας δομής διατάσσονται κατά αύξουσα ή φθίνουσα σειρά. Σκοπός της ταξινόμησης είναι να κάνουμε πιο αποτελεσματική (εύκολη και γρήγορη) αναζήτηση. 4

5 ΧΡΗΣΙΜΟΤΗΤΑ ΤΗΣ ΤΑΞΙΝΟΜΗΣΗΣ Αποδεικνύεται στην πράξη σε αναρίθμητες περιπτώσεις αναζήτησης αριθμητικών ή αλφαβητικών δεδομένων όπως σε: ▫Συστήματα βιβλιοθήκης ▫Λεξικά ▫Τηλεφωνικούς καταλόγους ▫Σε μια εφαρμογή e-banking ▫Γενικά όπου γίνεται αναζήτηση αποθηκευμένων αντικειμένων. 5

6 Η ΤΑΞΙΝΟΜΗΣΗ ΤΗΣ ΦΥΣΑΛΙΔΑΣ Η μέθοδος της ταξινόμησης ευθείας ανταλλαγής ή ταξινόμησης φυσαλίδας συνίσταται στην επαναληπτική σύγκριση διαδοχικών στοιχείων ενός μονοδιάστατου πίνακα ανά δύο (γειτονικών στοιχείων) μεταξύ τους και στην αντιμετάθεση των τιμών τους – αν χρειάζεται, προκειμένου: ▫η "ελαφρύτερη" τιμή να ανέβει προς τα επάνω – αν πρόκειται για αύξουσα ταξινόμηση, ▫η "βαρύτερη" τιμή να ανέβει προς τα επάνω – αν πρόκειται για φθίνουσα ταξινόμηση. 6

7 ΓΙΑΤΙ ΤΑΞΙΝΟΜΗΣΗ ΦΥΣΑΛΙΔΑΣ; Από την τελευταία θέση του πίνακα, αν η τιμή κάποιου κελιού είναι μικρότερη από αυτή του επόμενου κελιού, τότε αντιμεταθέτουμε τις τιμές τους. Έτσι, αν υπάρχει κάποιος μικρός αριθμός σε "χαμηλή" θέση στον πίνακα διαδοχικά "ανεβαίνει" σε "υψηλότερες" θέσεις όπως μια φυσαλίδα στo υγρό. 7

8 ΥΛΟΠΟΙΗΣΗ ΑΛΓΟΡΙΘΜΟΥ 8

9 ΑΛΓΟΡΙΘΜΟΣ ΤΑΞΙΝΟΜΗΣΗΣ ΦΥΣΑΛΙΔΑΣ Αλγόριθμος Φυσαλίδα Δεδομένα // n, table // Για i από 2 μέχρι n Για j από n μέχρι i με_βήμα –1 Αν table[j - 1] > table[j] τότε ! αύξουσα ταξινόμηση temp ← table[j - 1] table[j - 1] ← table[j] table[j] ← temp Τέλος_αν Τέλος_επανάληψης Τέλος_επανάληψης Αποτελέσματα // table // Τέλος Φυσαλίδα 9

10 ΔΙΝΕΤΑΙ Ο ΠΙΝΑΚΑΣ: [ ] Αλγόριθμος Φυσαλίδα Δεδομένα // n, table // Για i από 2 μέχρι n Για j από n μέχρι i με_βήμα –1 Αν table[j - 1] > table[j] τότε ! αύξουσα ταξινόμηση temp ← table[j - 1] table[j - 1] ← table[j] table[j] ← temp Τέλος_αν Τέλος_επανάληψης Τέλος_επανάληψης Αποτελέσματα // table // Τέλος Φυσαλίδα Κάνοντας τις κατάλληλες μετατροπές στον παραπάνω αλγόριθμο, για τα στοιχεία του μονοδιάστατου πίνακα που δίνονται, τον εκτελούμε στον Διερμηνευτή της ψευδογλώσσας. 10 n=5 Βοηθητική μεταβλητή

11 Η βοηθητική μεταβλητή temp temp

12 ΕΦΑΡΜΟΓΗ ΑΛΓΟΡΙΘΜΟΥ (1) Μη ταξινομημένος πίνακας 8>24=ψευδής, δεν γίνεται αντιμετάθεση 41>8=αληθής, γίνεται αντιμετάθεση 4>8=ψευδής, δεν γίνεται αντιμετάθεση 13>4=αληθής, γίνεται αντιμετάθεση j =5 j =4 j =3 j =2

13 ΕΦΑΡΜΟΓΗ ΑΛΓΟΡΙΘΜΟΥ (2) >24=αληθής, γίνεται αντιμετάθεση 8>24=ψευδής, δεν γίνεται αντιμετάθεση 13>8=αληθής, γίνεται αντιμετάθεση Ταξινομημένος πίνακας j =5 j =4 j = >41=ψευδής, δεν γίνεται αντιμετάθεση 13>24=ψευδής, δεν γίνεται αντιμετάθεση j =5 j =

14 ΠΛΕΟΝΕΚΤΗΜΑΤΑ – ΜΕΙΟΝΕΚΤΗΜΑΤΑ Οι δυνατότητες βελτίωσής του και παραλλαγής, με αποτέλεσμα να κρίνεται ως αλγόριθμος που προσφέρει σημαντικά μαθησιακά οφέλη. Ο πιο απλός και ταυτόχρονα ο πιο αργός αλγόριθμος ταξινόμησης. Εφαρμόζεται σε μικρού μεγέθους πίνακες. 14

15 ΑΛΛΟΙ ΜΕΘΟΔΟΙ ΤΑΞΙΝΟΜΗΣΗΣ Έχουν εκπονηθεί πάρα πολλοί αλγόριθμοι ταξινόμησης. Εκτός από την ταξινόμηση ευθείας ανταλλαγής / φυσαλίδας είναι: ▫Ταξινόμηση με επιλογή.Ταξινόμηση με επιλογή ▫Ταξινόμηση με παρεμβολή.Ταξινόμηση με παρεμβολή ▫Ο αλγόριθμος γρήγορης ταξινόμησης (quicksort) είναι ο πιο γρήγορος αλγόριθμος ταξινόμησης. 15

16 Γρήγορη Ταξινόμηση vs Ταξινόμηση φυσαλίδας vs 16

17 ΕΠΙΛΟΓΗ ΑΛΓΟΡΙΘΜΟΥ Η επιλογή του καλύτερου αλγορίθμου ταξινόμησης εξαρτάται κυρίως από το πλήθος των στοιχείων του πίνακα και την αρχική τους διάταξη, αν δηλαδή ο πίνακας είναι τελείως αταξινόμητος ή μερικώς ταξινομημένος. Τα δεδομένα του πίνακα μπορεί να είναι αριθμητικά ή αλφαριθμητικά. Η μέθοδος ΔΕΝ ΑΛΛΑΖΕΙ! 17

18 ΣΥΓΚΡΙΣΗ ΑΛΓΟΡΙΘΜΩΝ ΤΑΞΙΝΟΜΗΣΗΣ 18

19 ΣΥΜΠΕΡΑΣΜΑΤΑ Ο αλγόριθμος ταξινόμησης φυσαλίδας, αποτελεί έναν αλγόριθμο που διδάσκεται διαχρονικά στην εκπαίδευση. Παρότι θεωρείται απαρχαιωμένος, ο αλγόριθμος επιδέχεται παραλλαγές και βελτιώσεις, με αποτέλεσμα η διδασκαλία του να προσφέρει μαθησιακά οφέλη. Επιπλέον, η αξιοποίηση ψηφιακών εργαλείων στο πλαίσιο διδασκαλίας του, φαίνεται να έχει πρόσθετη διδακτική αξία στα ζητήματα της εικονικής εκτέλεσής του, της υλοποίησης παραλλαγών και τροποποιήσεων ώστε να ταξινομείται μέρος του πίνακα. 19


Κατέβασμα ppt "ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ §3.7 ΤΑΞΙΝΟΜΗΣΗ."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google