εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και



Σχετικά έγγραφα
Ταξινόμηση. Παύλος Εφραιμίδης. Δομές Δεδομένων Ταξινόμηση 1

Ταξινόµηση. Παύλος Εφραιµίδης. οµές εδοµένων και

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες Παύλος Εφραιμίδης Δομές Δεδομένων και Αλγόριθμοι

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας

περιεχόμενα υπολογιστικό πρόβλημα αλγόριθμοι παράδειγμα ταξινόμησης ταξινόμηση αλγόριθμοι τεχνολογία αλγορίθμων Παύλος Εφραιμίδης

Εισαγωγή στην Ανάλυση Αλγορίθμων (1) Διαφάνειες του Γ. Χ. Στεφανίδη

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

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

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

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

Υπολογιστικό Πρόβληµα

Αλγόριθμοι και Πολυπλοκότητα Φώτης Ε. Ψωμόπουλος, Περικλής Α. Μήτκας

a 1 a 2 a n. 3. i = j 1 5. A[i + 1] = A[i] 6. i = i 1

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3)

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;

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

Θέματα Προγραμματισμού Η/Υ

Ταξινόμηση. 1. Ταξινόμηση με Εισαγωγή 2. Ταξινόμηση με Επιλογή. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Αρχιτεκτονική Υπολογιστών

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση

Ταξινόμηση. 1. Ταξινόμηση του Shell. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

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

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

1 Ο Λύκειο Ρόδου. Β ΓΕΛ ΕισΑρχΕπ Η/Υ. Γεωργαλλίδης Δημήτρης

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

περιεχόμενα ρυθιμός αύξησης συναρτήσεων ασυμπτωτική πολυπλοκότητα ασυμπτωτική επίδοση ασυμπτωτικοί συμβολισμοί ασυμπτωτικός συμβολισμος

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΚΕΦΑΛΑΙΟ ΟΙ ΥΠΟΛΟΓΙΣΤΕΣ ΑΠΟ ΤΗΝ ΑΡΧΑΙΟΤΗΤΑ ΜΕΧΡΙ ΣΗΜΕΡΑ Ιστορική αναδρομή Υπολογιστικές μηχανές

Πληροφορική ΙΙ Ενότητα 1

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

Ψευδοκώδικας. November 7, 2011

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Προτεινόμενος τρόπος διδασκαλίας του μαθήματος με ενδεικτικό χρονοπρογραμματισμό. Α/Α Ενότητες Περιγραφή Ώρες 1 Εισαγωγικό μάθημα 1

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

Αλγόριθμοι Ταξινόμησης Μέρος 2

ταξινόμηση σωρού Παύλος Εφραιμίδης Δομές Δεδομένων και

ΑΛΓΟΡΙΘΜΟΙ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εργαστηριακή Άσκηση 1

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Υπολογισμός - Συλλογή Δεδομένων - Πίνακες

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Ηλεκτρονικός Υπολογιστής

Θέματα Μεταγλωττιστών

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

ΠΕΡΙΕΧΟΜΕΝΑ Υλικό και Λογισμικό Αρχιτεκτονική Υπολογιστών Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

Μεταγλωττιστές Βελτιστοποίηση

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

Επεξεργασία Ερωτήσεων

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Ταξινόμηση με συγχώνευση Merge Sort

Επεξεργασία Ερωτήσεων

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

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Αλγοριθμικές Τεχνικές

Πληροφορική 2. Δομές δεδομένων και αρχείων

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

Τεχνικές Αναπαράστασης αλγορίθµων Ψευδοκώδικας Διάγραµµα Ροής Αλγοριθµικές δοµές (Ακολουθία Επιλογή Επανάληψη)

σωροί ταξινόμηση σωρού οόροςheap σωρός (heap) συστοιχία Α για έναν σωρό μια δομή δεδομένων που πχ.

Μηχανές Turing (T.M) I

Εντολή Επίλεξε.. Στοίβα & Ουρά Διαίρει & Βασίλευε

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

Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013

Εφαρµογές Υπολογιστών Βασίλης Μπλιάµπλιας Γεωργία Τσούτσου Γιώργος Συνάπαλος

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

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

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

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

Ονοµατεπώνυµο «οδηγού»:... Ονοµατεπώνυµο «παρατηρητή»:... 1 η ραστηριότητα ιαθέσιµος χρόνος: 30 λεπτά

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1,

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

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

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

Δοµές Δεδοµένων. 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι. Ε. Μαρκάκης

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

4 Μέρος I Θεμελιώδεις έννοιες τμήματος δεν είναι τόσο η παρουσίαση νέων μαθηματικών εννοιών, αλλά κυρίως η αποσαϕήνιση των συμβολιστικών συμβάσεων που

Επεξεργασία Ερωτήσεων

Quicksort. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Μεταγλωττιστές Βελτιστοποίηση

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

Quicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο)

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος

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

Transcript:

Παύλος Εφραιμίδης 1

περιεχόμενα ενθετική ταξινόμηση ανάλυση αλγορίθμων σχεδίαση αλγορίθμων 2

ενθετική ταξινόμηση 3

ενθετική ταξινόμηση Βασική αρχή: Επιλέγει ένα-έναταστοιχείατηςμηταξινομημένης ακολουθίας και τα εισαγάγει σε μια ταξινομημένη λίστα 4

ταξινόμηση τραπουλόχαρτων 5

Ψευδοκώδικας 1. for (int j = 2; j < A.length; j++ ) { 2. κλειδί = Α[j]; 3. // Ενθέτουμε το A[j] στην ταξινομημένη // ακολουθία Α[1..j-1] 4. i = j 1; 5. while (i > 0 && A[i] > κλειδί) { 6. A[i+1]=A[i]; 7. i--; 8. } 9. A[i+1] = κλειδί 10. } 6

παράδειγμα 7

αναλλοίωτες συνθήκες και ορθότητα της ενθετικής ταξινόμησης Κατά την εκτέλεση της ενθετικής ταξινόμησης ισχύει η ακόλουθη αναλλοίωτη συνθήκη: Στην αρχή κάθε επανάληψης του κυρίως βρόχου, η υποσυστοιχία Α[1..j-1] αποτελείται από στοιχεία τα οποία βρίσκονταν εξαρχής στην υποσυστοιχία αυτή, όμως τώρα είναι διατεταγμένα κατά τον επιθυμητό τρόπο. Ορθότητα: Η χρήση της αναλλοίωτης συνθήκης μπορεί να βοηθήσει να καταλάβουμε γιατί ένας αλγόριθμος είναι ορθός 8

αναλλοίωτη συνθήκη μια αναλλοίωτη συνθήκη θα πρέπει να πληροί αποδεδειγμένα τις εξής προϋποθέσεις: αρχικός έλεγχος: η αρχική συνθήκη ισχύει πριν από την πρώτη επανάληψη του βρόχου έλεγχος διατήρησης: αν η συνθήκη ισχύει πριν από μια επανάληψη του βρόχου θα ισχύει και μετά από αυτή επιβεβαίωση αποτελέσματος: όταν ο βρόχος τερματίσει, η αναλλοίωτη συνθήκη μας δίνει μια ιδιότητα που μας βοηθά να αποδείξουμε ότι ο αλγόριθμος είναι ορθός 9

ορθότητα ενθετικής ταξινόμησης μπορούμε να χρησιμοποιήσουμε την έννοια της αναλλοίωτης συνθήκης για να αποδείξουμε την ορθότητα της ενθετικής ταξινόμησης; 10

ψευδοκώδικας θα χρησιμοποιούμε ψευδοκώδικα για την περιγραφή αλγορίθμων θα χρησιμοποιούμε γλώσσα ψευδοκώδικα που χρησιμοποιεί το βιβλίο, καθώς και java-like ψευδοκώδικα 11

ανάλυση αλγορίθμων 12

ανάλυση αλγορίθμου αναφέρεται στην πρόβλεψη των υπολογιστικών πόρων που απαιτεί η εκτέλεση του αλγορίθμου 13

υπολογιστικοί πόροι χρόνος (πλήθος βημάτων) μνήμη επικοινωνιακό εύρος ζώνης hardware (υλισμικό) κατά κανόνα θα μελετάμε την πολυπλοκότητα χρόνου των αλγορίθμων 14

υπολογιστικό μοντέλο για να μελετήσουμε το πλήθος των βημάτων που απαιτεί ένας αλγόριθμος θα πρέπει να προσδιορίσουμε το υπολογιστικό μοντέλο που χρησιμοποιεί ο αλγόριθμος τι είδους εντολές μπορεί να εκτελεί ο αλγόριθμος; ένα απλό και πολύ διαδεδομένο μοντέλο είναι η μηχανή RAM Random Access Machine όχι, δεν είναι η γνωστή μνήμη RAM Random Access Memory που γνωρίζουμε από τους ηλεκτρονικούς υπολογιστές 15

Random Access Machine (RAM) χαρακτηριστικά της RAM απλός σειριακός επεξεργαστής μνήμη άμεσης προσπέλασης (θεωρητικά απεριόριστη) καταχωρητές τύποι δεδομένων ακέραιοι αριθμοί κινητής υποδιαστολής βασικές πράξεις (αριθμητικές, διακλαδώσεως, συγκρίσεις) 16

ανάλυση της ενθετικής ταξινόμησης 17

σχεδίαση αλγορίθμων 18

διαίρει και βασίλευε 19

συγχωνευτική ταξινόμηση 20

Αναφορές/Πηγές Εισαγωγή στους αλγόριθμους, Κεφάλαιο 2 21