Δομζσ Δεδομζνων. Αναηιτθςθ και Ταξινόμθςθ Διάλεξθ 3

Σχετικά έγγραφα
Δομζσ Δεδομζνων Πίνακεσ

Δζντρα. Δομζσ Δεδομζνων

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Γράφοι. Δομζσ Δεδομζνων Διάλεξθ 9

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 15. Πίνακεσ ΙI. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

343 Ειςαγωγι ςτον Προγραμματιςμό

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

343 Ειςαγωγι ςτον Προγραμματιςμό

Ανάπτυξη Εφαρμογών Σε Προγραμματιςτικό Περιβάλλον

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

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

Α) Ενδεικτικϋσ απαντόςεισ των θεμϊτων

(3Μονάδεσ) Δεδομζνα //Α// Για i από 1 μζχρι 10 k (100+i)mod 101 B[k] A[i] Τζλοσ_επανάλθψθσ Αποτελζςματα //Β,k//

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

Μονάδες 6. Μονάδες ΓΑΨΕ Δεν υπάρχει ρίηα 2. ΑΝ Α>0 ΤΟΤΕ 3. ΤΕΛΟΣ_ΑΝ 4. ΑΛΛΙΩΣ 5. ίηα Τ_(Α)

Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

Αυτόνομοι Πράκτορες. Αναφορά Εργασίας Εξαμήνου. Το αστέρι του Aibo και τα κόκαλα του

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

Παράςταςη ςυμπλήρωμα ωσ προσ 1

Η γλώςςα προγραμματιςμού C

Αλγόριθµοι Αναζήτησης και Ταξινόµησης

Μάκθςθ Κατανομϊν Πικανότθτασ και Ομαδοποίθςθ

Άςκθςθ 1θ: Να γραφεί αλγόρικμοσ που κα δθμιουργεί με τθ βοικεια διπλοφ επαναλθπτικοφ βρόχου, τον ακόλουκο διςδιάςτατο πίνακα:

ΘΕΜΑ: Οδθγίεσ για τθ διδακτικι προςζγγιςθ του μακιματοσ Ανάπτυξθ Εφαρμογϊν ςε Προγραμματιςτικό περιβάλλον (ΑΕΠΠ)

Ιςοηυγιςμζνα δζντρα και Β- δζντρα. Δομζσ Δεδομζνων

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

Εργαςτιριο Βάςεων Δεδομζνων

ΜΗΝΙΑΙΑ ΕΚΘΕΗ ΠΑΡΑΓΩΓΗ ΕΡΓΟΤ. ΜΑΪΟ 2017

Θέματα διπλωματικών εργαςιών ςτην ανάλυςη εικόνασ

Εύρεςη Διαμέςου ςε κατανεμημένα δεδομένα με ΜΡΙ

Ειδικά Θζματα Βάςεων Δεδομζνων

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

Προγραμματισμός Ι (ΗΥ120)

int Α[] = {4, 16, 22, 12, 9, 15, 10}; { 4, 9, 10, 12, 15, 16, 22 } Α[0]=4, Α[1]=9, Α[2]=10 { 4, 16,22, 12, 9, 15, 10} { 4, 12, 16, 22, 9, 15,16, 22 }

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

Ιςίδωροσ Ροδομαγουλάκθσ Αλγόρικμοι Δικτφων και Πολυπλοκότθτα K-median

Ταξινόμηση: Εισαγωγικά. Ταξινόμηση (Sor ng) Αλγόριθμοι Απλής Ταξινόμησης. Βασικά Βήματα των Αλγορίθμων

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου

Ονοματεπϊνυμο.. ΔΙΑΓΩΝΙΣΜΑ ΑΕΠΠ

3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ. n! = 1*2*3*..(n-1)*n. n! = 1 αν n = 0, = n*(n-1)! αν n > ΑΝΑ ΡΟΜΗ Εισαγωγή

Πολυπλέκτες. 0 x 0 F = S x 0 + Sx 1 1 x 1

Πληροφορική 2. Αλγόριθμοι

Θεςιακά ςυςτιματα αρίκμθςθσ

ιαφάνειες παρουσίασης #4

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 19. Αλφαριθμητικά II. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

Bubble Hack Οπτικοποίηση του αλγορίθμου ταξινόμησης Bubble Sort στο Scratch

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

Πίνακες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

(Α3 1 ) Σασ δίνεται το παρακάτω αλγορικμικό τμιμα

Δ ιαγώνιςμα ς το μάθημα Ανάπτυξη Εφαρμογών ςε Προγ ραμματιςτικό Περιβάλ λον

Εισαγωγή στον δομημένο προγραμματισμό

Διάλεξη 17η: Ταξινόμηση και Αναζήτηση

ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Αρχεία - Φάκελοι

Αναφορά Εργαςίασ Nim Game

ΕΠΑΝΕΚΔΟΗ ΣΙΜΟΛΟΓΙΩΝ ΙΑΝΟΤΑΡΙΟΤ (version )

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

3 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ ( while, do while )

Γ' ΛΥΚΕΙΟΥ Η ΤΑΞΗ ΤΗΣ ΤΕΛΙΚΗΣ ΕΠΙΛΟΓΗΣ. Στθ ΓϋΛυκείου οι Ομάδεσ Προςανατολιςμοφ είναι τρεισ:

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ.

Παραδείγματα Διδακτικών Πλάνων. Χαρίκλεια Τςαλαπάτα 25/11/2011

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

Ε. ε περίπτωςθ που θ διαφορά των δφο ηαριϊν είναι 3 τότε ο παίκτθσ ξαναρίχνει μόνο ζνα ηάρι.

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

ΦΥΛΛΑΔΙΟ ΚΑΤΑΝΟΗΣΗΣ 6 ΕΠΙΔΟΣΗ ΑΛΓΟΡΙΘΜΩΝ. 3. Να υπολογιστεί για τον παρακάτω αλγόριθμο η επίδοση του με βάση τον αριθμό των πράξεων που θα


Πειραματικι Ψυχολογία (ΨΧ66)

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

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

Δομθμζνοσ Προγραμματιςμόσ. Βαγγζλθσ Οικονόμου Εργαςτιριο 9

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

Επαναληπτικό Διαγώνισμα Φυσικη ς Α Λυκει όυ

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

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

HY437 Αλγόριθμοι CAD

Επαναλθπτικζσ Αςκιςεισ

ΜΑΘΗΜΑΤΙΚΑ ΕΠΙΠΕΔΟ (Β - Γ Λυκείου)

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

ΑΠΟΣΕΛΕΜΑΣΑ ΑΞΙΟΛΟΓΗΗ ΣΟΤ ΔΙΔΑΚΣΙΚΟΤ ΕΡΓΟΤ ΣΩΝ ΤΠΟΧΡΕΩΣΙΚΩΝ ΜΑΘΗΜΑΣΩΝ ΕΑΡΙΝΟΤ ΕΞΑΜΗΝΟΤ ΑΚΑΔΗΜΑΪΚΟΤ ΕΣΟΤ

Ηλεκτρονικι Επιχειρθςιακι Δράςθ Εργαςτιριο 1

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 12 θ Διάλεξθ Διαχείριςθ Αρχείων

Προγραµµατισµός 1 Ταξινόµηση - Αναζήτηση

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

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

Δείκτησ Αξιολόγηςησ 5.2: Ανάπτυξη και εφαρμογή ςχεδίων δράςησ για τη βελτίωςη του εκπαιδευτικοφ ζργου

P, τότε: P και το μζςο πλικοσ των εμφανίςεων του γεγονότοσ ςτθ μονάδα του. X t το πλικοσ των εμφανίςεων του γεγονότοσ ςτο διάςτθμα. 0, t.

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

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

ΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016

ΚΥΠΡΙΑΚΗ ΜΑΘΗΜΑΤΙΚΗ ΕΤΑΙΡΕΙΑ

Διαγώνισμα Φυσική ς Α Λυκει ου Έργο και Ενε ργεια

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

HY437 Αλγόριθμοι CAD

Βάρειπ Δεδξμέμωμ. Επγαστήπιο ΙΙ. Τμήμα Πλεπουοπικήρ ΑΠΘ

i : 0<=i<N-1 => data[i] <= data[i+1] 25/10/2009

ΠΡΟΣ: Τηλέφωνο: Ινστιτούτο Εκπαιδευτικής Πολιτικής ΚΟΙΝ.:

ΥΡΟΝΣΙ ΣΗΡΙΟ Μ. Ε. ΚΑΙ ΚΕΝΣΡΟ ΙΔΙΑΙΣΕΡΩΝ ΜΑΘΗΜΑΣΩΝ «ΚΤΡΙΣ Η» ΔΙΑΓΩΝΙ ΜΑ ΑΕΠΠ

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

ΟΝΟΜΑΣΟΛΟΓΙΑ ΠΑΡΑΜΕΣΡΩΝ ΓΙΑ ΠΡΟΑΡΜΟΜΕΝΕ ΑΝΑΦΟΡΕ. παραμζτρου> (Εμφανίηεται ςαν Caption ςτθν φόρμα των φίλτρων).

Transcript:

Δομζσ Δεδομζνων Αναηιτθςθ και Ταξινόμθςθ Διάλεξθ 3

Περιεχόμενα Αλγόρικμοι αναηιτθςθσ Σειριακι αναηιτθςθ Αναηιτθςθ κατά ομάδεσ Δυαδικι Αναηιτθςθ Ταξινόμθςθ Ταξινόμθςθ με παρεμβολι (insertion sort) Ταξινόμθςθ με επιλογι (selection sort) Ταξινόμθςθ με αντιμετάκεςθ (bubble sort) Ταξινόμθςθ με διαμεριςμό (quick sort)

Αναηιτθςθ κατά ομάδεσ Μια εναλλακτικι τεχνικι τθσ ςειριακισ αναηιτθςθσ είναι θ αναηιτθςθ κατά ομάδεσ. Εφαρμόηεται ςε ταξινομθμζνο πίνακα Ο πίνακασ χωρίηεται ςε ομάδεσ και εξετάηεται το τελευταίο ςτοιχείο κάκε ομάδασ. Αν το ςτοιχείο αυτό είναι μεγαλφτερο από εκείνο που αναηθτείται, γίνεται ςειριακι αναηιτθςθ ςτα ςτοιχεία τθσ ομάδασ Αλλιϊσ ςυνεχίηεται θ ίδια διαδικαςία με τθν επόμενθ ομάδα

Αναηιτθςθ κατά ομάδεσ - Αλγόρικμοσ Δεδομζνα // Ε[],N,K// q=sqrt(n) /* αρικμόσ ομάδων (βζλτιςτοσ) */ i=q+1 j=n index =0 /*ζυρεςθ ομάδασ*/ Όςο i N επανάλαβε Αν K Ε[i] τότε j=i+1 i=n+1 αλλιώσ i=q+i Αν i>n τότε i=n Τζλοσ_αν Τζλοσ_αν Τζλοσ_επανάληψησ /* Εφρεςθ ςτοιχείου */ Για i από j-q μζχρι j με_βήμα 1 Αν K = Ε[i] τότε index = i Τζλοσ_αν Τζλοσ_επανάληψησ Αποτελζςματα // index// Τζλοσ Block-Search

Δυαδικι Αναηιτθςθ Απαιτεί τα ςτοιχεία του πίνακα να είναι ταξινομθμζνα Κάκε ζλεγχοσ ςτον πίνακα ι βρίςκει το ηθτοφμενο ςτοιχείο ι περιορίηει ςτο μιςό το πλικοσ των ςτοιχείων μζςα ςτα οποία βρίςκεται αυτό που ψάχνουμε. Δομ. Δεδομ. - Διάλεξθ 2

Δυαδικι Αναηιτθςθ Αλγόριθμοσ Binary-Search Δεδομζνα // Ε[],N,K // L=1,U=N,ex=false,index=0 Όςο L U και ex == false επανάλαβε i= (L+U)/2 Αν K == Ε[i] τότε ex = true index = i αλλιώσ_αν K < Ε[i] τότε U = i-1 αλλιώσ L = i+1 Τζλοσ_αν Τζλοσ_επανάληψησ Αποτελζςματα // ex,index// Τζλοσ Binary - Search Δομ. Δεδομ. - Διάλεξθ 2

Σφνοψθ αλγορίκμων αναηιτθςθσ Αλγόριθμοσ Ταξινομημζνοσ πίνακασ Απόδοςη Αλγορίθμου Σειριακι Αναηιτθςθ ΟΧΙ N/2 για επιτυχι αναηιτθςθ, Ν για ανεπιτυχι αναηιτθςθ Αναηιτθςθ Κατά Ομάδεσ ΝΑΙ Ν/(2Q) + Q/2, όπου Q το πλικοσ των ςτοιχείων ςε κάκε ομάδα Δυαδικι Αναηιτθςθ ΝΑΙ log N + 1 για ανεπιτυχι αναηιτθςθ, log N για επιτυχι αναηιτθςθ

Ταξινόμθςθ Ταξινόμηση είναι θ τοποκζτθςθ ενόσ ςυνόλου ςτοιχείων ςε μια ιδιαίτερθ ςειρά, είτε άυξουςα είτε φκίνουςα Σκοπόσ τθσ ταξινόμθςθσ είναι θ διευκόλυνςθ τθσ αναηιτθςθσ δεδομζνων μζςα ςε ζνα ςφνολο από αυτά Στθν κακθμερινι ηωι ταξινόμθςθ ζχουμε ςτουσ τθλεφωνικοφσ καταλογουσ, λεξικά, πίνακεσ περιεχομζνων κτλ

Ταξινόμθςθ με παρεμβολι Χωρίηει τα ςτοιχεία ςε τρια μζρθ: Το ςτοιχείο που εξετάηεται Τθν ακολουκία προοριςμοφ (ταξινομθμζνα ςτοιχεία) Υπόλοιπα ςτοιχεία ι ςτοιχεία ειςόδου Για κάκε ςτοιχείο που εξετάηεται βρίςκεται θ ςωςτι κζςθ ςτθν ακολουκία προοριςμοφ και τοποκετείται εκεί μετακινϊντασ τα μεγαλφτερα ςτοιχεία κατά μια κζςθ

Ταξινόμθςθ με παρεμβολι 5 7 0 3 4 2 6 1 5 7 0 3 4 2 6 1 0 5 7 3 4 2 6 1 0 3 5 7 4 2 6 1 0 3 4 5 7 2 6 1 0 2 3 4 5 7 6 1 0 2 3 4 5 6 7 1 0 1 2 3 4 5 6 7

Ταξινόμθςθ με παρεμβολι - Αλγόριθμοσ Insertion-Sort Δεδομζνα // A[],N// Για j από 2 μζχρι N με_βήμα 1 i = j - 1 temp = A[j] επανάλαβε Αν temp A[i] break Τζλοσ_αν A[i+1]=A[i] i = i-1 Μζχρισ_ότου i 0 A[i+1] = temp Τζλοσ_επανάληψησ Αποτελζςματα // A// Τζλοσ Insertion-Sort Αλγόρικμοσ

Ταξινόμθςθ με επιλογι Η μζκοδοσ βαςίηεται ςε τρία βιματα: 1. Επιλογι του ςτοιχείου με τθν ελάχιςτθ τιμι από τθν ακολουκία ειςόδου 2. Ανταλλαγι του με το πρϊτο ςτοιχείο τθσ ακολουκίασ ειςόδου 3. Επανάλθψθ των βθμάτων 1 και 2 με τα υπόλοιπα ςτοιχεία

Ταξινόμθςθ με επιλογι 44 55 12 42 94 18 06 67 06 55 12 42 94 18 44 67 06 12 55 42 94 18 44 67 06 12 18 42 94 55 44 67 06 12 18 42 94 55 44 67 06 12 18 42 44 55 94 67 06 12 18 42 44 55 94 67 06 12 18 42 94 55 67 94

Ταξινόμθςθ με επιλογι - Αλγόρικμοσ Αλγόριθμοσ Selection-Sort Δεδομζνα // A[],N // Για i από 1 μζχρι N με_βήμα 1 x = A[i] k = i Για j από i μζχρι N με_βήμα 1 Αν A[j]<x τότε k = j x = A[j] Τζλοσ_αν Τζλοσ_επανάληψησ Αντιμετάθεςε A[i],A[k] Τζλοσ_επανάληψησ Αποτελζςματα // A // Τζλοσ Selection-Sort

Ταξινόμθςθ με αντιμετάκεςθ Αρχίηουμε με το τελευταίο ςτοιχείο και το ςυγκρίνουμε με το προθγοφμενο Αν είναι μικρότερο αντιμετακζτουμε τα δφο ςτοιχεία Συνεχίηουμε ςυγκρίνοντασ το προτελευταίο με το προθγοφμενο του κ.ο.κ. Η διαδικαςία τερματίηεται όταν φτάςουμε ςε κάποιο ςτοιχείο όπου όλα τα προθγοφμενα του είναι ταξινομθμζνα. Όλεσ οι παραπάνω ενζργειεσ επαναλαμβάνονται τόςεσ φορζσ όςα και τα ςτοιχεία. Η μεκοδοσ λζγεται και ταξινόμηση φυσαλίδας (bubblesort)

Ταξινόμθςθ με αντιμετάκεςθ Αλγόριθμοσ Bubble-Sort Δεδομζνα // A[],N// Για i από 2 μζχρι N με_βήμα 1 Για j από N μζχρι i με_βήμα -1 Αν A[j-1]>A[j] τότε Αντιμετάθεςε A[j],A[j-1] Τζλοσ_αν Τζλοσ_επανάληψησ Τζλοσ_επανάληψησ Αποτελζςματα // A// Τζλοσ Bubble-Sort

Ταξινόμθςθ με αντιμετάκεςθ 44 55 12 42 94 18 6 67 6 44 55 12 42 94 18 67 6 12 44 55 18 42 94 67 6 12 18 44 55 42 67 94 6 12 18 42 44 55 67 94 6 12 18 42 44 55 67 94 6 12 18 42 44 55 67 94 6 12 18 42 44 55 67 94