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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
3.4 Στοίβα (stack) (μόνο θεωρία)
Advertisements

Παράδειγμα 1:Ταξινόμηση Φυσαλίδας
Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών και δικτύων Εργασία για το μάθημα: Διδακτική της πληροφορικής.
Παράδειγμα 1:Σειριακή αναζήτηση
Εισαγωγή στους Αλγόριθμους Ταξινόμησης
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Σπύρος Δουκάκης, Αθανάσιος Πέρδος, Νάγια Γιαννοπούλου
Αλεξιάδης Γεώργιος ΕΠΠΑΙΚ Σαπών
Ανακτηση Πληροφοριασ σε νεφη Υπολογιστων
ΔΙΔΑΚΤΙΚΕΣ ΔΥΣΚΟΛΙΕΣ ΣΤΟΥΣ ΠΙΝΑΚΕΣ ΠΕΚ ΠΕΙΡΑΙΑ Α΄φάση Επιμόρφωσης Εκπ/κών κλάδου ΠΕ19 Διδακτική της Πληροφορικής Ρόδος, Νοέμβρης 2007.
Εισαγωγή στην επιστήμη των υπολογιστών
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Αλγόριθμοι Ταξινόμησης
Εργασία Η υλοποίηση του αλγορίθμου συγχώνευσης θα πρέπει να χρησιμοποιεί την ιδέα των ροών (streams). Θα πρέπει να υπάρχουν δύο διαφορετικά είδη.
A΄ ΤΑΞΗ ΑΝΑΛΥΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΑΝΑ ΕΝΟΤΗΤΑ.
Ο ΕΠ Ολοκληρωμένο Ε κπαιδευτικό και Π ακέτο ΥΔΑ Π για την Υ ποστήριξη της Δ ιδασκαλίας Α λγοριθμικής & Προγραμματισμού ΔΕ στη Δευτεροβάθμια Εκπαίδευση.
Διαίρει-και-Βασίλευε
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Στοίβα, Ουρά.
Αλγόριθμοι συνέχεια 2.2.4, 2.2.5,
Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης
Αλγόριθμοι Ταξινόμησης
Εξόρυξη Δεδομένων και Αλγόριθμοι Μάθησης. K-means k-windows k-means: 2 φάσεις 1. Μια διαμέριση των στοιχείων σε k clusters 2. Η ποιότητα της διαμέρισης.
Κατανόηση (δεδομένα – ζητούμενα) Ανάλυση σε απλούστερα προβλήματα Επίλυση με οργανωμένα, απολύτως καθορισμένα, πεπερασμένα βήματα ΑΛΓΟΡΙΘΜΟΣ.
Σχεδίαση Εκπαιδευτικού Λογισμικού Σχέδιο Μαθήματος – Ανάπτυξη Εφαρμογών Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης Ιωάννης Βλαχόπουλος – Μ1249 Αικατερίνη Δρόσου.
AlphaSort: A Cache-Sensitive Parallel External Sort Chris Nyberg, Tom Barclay, Zarka Cvetanovic, Jim Gray and David Lomet.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
Επανάληψη.
ΟΙ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ ΜΙΑ ΠΡΩΤΗ ΘΕΩΡΗΣΗ ΣΑΡΑΝΤΟΣ ΨΥΧΑΡΗΣ
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Το Scratch και ο σχεδιασμός γεωμετρικών σχημάτων
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον:  Τεχνικές Διδασκαλίας.
Ταξινόμηση - Sorting.
ΚΑΤΑΝΟΩ ΤΙΣ ΜΕΤΑΒΛΗΤΕΣ ΜΕ ΤΗ ΒΟΗΘΕΙΑ ΤΟΥ SCRATCH Χρήστος Μανώλης, Πληροφορικός ΠΕ 19 ΘΕΣΣΑΛΟΝΙΚΗ / ΑΥΓΟΥΣΤΟΣ 2015 Ομάδα ανάπτυξης 6 ο εσπερινό ΕΠΑΛ Θεσσαλονίκης.
Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της οποίας η τιμή θα περάσει από την αρχική.
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ Άπληστη Αναζήτηση και Αναζήτηση Α* ΣΠΥΡΟΣ ΛΥΚΟΘΑΝΑΣΗΣ, ΚΑΘΗΓΗΤΗΣ.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 Βασικές Έννοιες Αλγορίθμων.
ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ. Δυαδική αναζήτηση (Binary search) ΔΕΔΟΜΕΝΟ: ένα μεγάλο αρχείο που περιέχει τιμές z [0,1,…,n-1] ταξινομημένες.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
9η Διάλεξη Ταξινόμηση Ε. Μαρκάκης
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Αυδίκος Αθανάσιος – Πήχας Στέφανος
ΓΕΜΙΣΜΑ ΜΟΝΟΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ (Άσκηση 1)
Αναπαράσταση Αλγορίθμου
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Μανασσάκης Βασίλης Καθηγητής Πληροφορικής
Επανάληψη.
Τελεστές και ή όχι Για την εκτέλεση αριθμητικών πράξεων
Μονοδιάστατοι πίνακες
ΦΑΣΕΙΣ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΟΣ – ΑΝΑΠΤΥΞΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ
Σειριακή ή Γραμμική Αναζήτηση 1.Μοναδικό Κλειδί (key)
Δομή Επιλογής Μάθημα 4ο Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Τάξη Γ Οικονομίας & Πληροφορικής Θετικών Σπουδών 2ο Γενικό Λύκειο Αλιβερίου |
Η τακτοποίηση των κόμβων μίας δομής με μία ιδιαίτερη σειρά είναι μία πολύ σημαντική λειτουργία που ονομάζεται ταξινόμηση (sorting) ή διάταξη (ordering).
ΑΛΓΟΡΙΘΜΟΣ.
ENOTHTA 2. ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΕΦΑΛΑΙΟ 2
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Φοιτητής: Τσακίρης Αλέξανδρος Επιβλέπων: Ευάγγελος Ούτσιος
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Αναπαράσταση Αλγορίθμου
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
ΠΛΗΡΟΦΟΡΙΚΗ Γ΄ Γυμνασίου Α΄ Τρίμηνο
Κυριάκου Νικόλαος Πληροφορικής ΠΕ-20
Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

ΥΛΟΠΟΙΗΣΗ ΑΛΓΟΡΙΘΜΟΥ Σε περίπτωση που δεν παίξει το video μπορούμε να χρησιμοποιήσουμε τον υπερσύνδεσμο του τίτλου.

ΑΛΓΟΡΙΘΜΟΣ ΤΑΞΙΝΟΜΗΣΗΣ ΦΥΣΑΛΙΔΑΣ Αλγόριθμος Φυσαλίδα  Δεδομένα // 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 // Τέλος Φυσαλίδα

ΔΙΝΕΤΑΙ Ο ΠΙΝΑΚΑΣ: [13 4 41 8 24] n=5 ΔΙΝΕΤΑΙ Ο ΠΙΝΑΚΑΣ: [13 4 41 8 24] Αλγόριθμος Φυσαλίδα  Δεδομένα // 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 // Τέλος Φυσαλίδα Κάνοντας τις κατάλληλες μετατροπές στον παραπάνω αλγόριθμο, για τα στοιχεία του μονοδιάστατου πίνακα που δίνονται, τον εκτελούμε στον Διερμηνευτή της ψευδογλώσσας. n=5 Βοηθητική μεταβλητή

Η βοηθητική μεταβλητή temp 13 4 41 8 24 temp 4 13 41 8 24 13 41 8 24

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

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

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

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

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

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

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

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