Ενότητα 2.1 Αλγόριθμοι Ταξινόμησης O(n 2 ) & O(nlogn) Σχεδίαση & Ανάλυση Αλγορίθμων.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Δομές Δεδομένων και Αλγόριθμοι
Advertisements

Δένδρα van Emde Boas TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μελετάμε την περίπτωση όπου αποθηκεύουμε.
Εισαγωγή στους Αλγόριθμους Ταξινόμησης
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
ΕΠΛ231 – Δομές Δεδομένων και Αλγόριθμοι
Πολυπλοκότητα Παράμετροι της αποδοτικότητας ενός αλγόριθμου:
Επιμέλεια Π. Τσάκωνας. 1. Ποια από τα ακόλουθα αποσπάσματα αλγόριθμων πραγματοποιούν σωστά την ταξινόμηση του πίνακα Α; ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ.
Αλγόριθμοι Ι Κάθε καλώς ορισμένη υπολογιστική διαδικασία, η οποία καλείται να επιλύσει ένα συγκεκριμένο πρόβλημα εντός πεπερασμένου χρόνου. Αλγόριθμος.
Αλγόριθμοι Ταξινόμησης
Γιάννης Σταματίου Μη αποδοτική αναδρομή και η δυναμική προσέγγιση Webcast 8.
Ο Αλγόριθμος FP-Growth. Αλγόριθμος FP-Growth Ο αλγόριθμος χρησιμοποιεί μια συμπιεσμένη αναπαράσταση της βάσης των συναλλαγών με τη μορφή ενός FP-δέντρου.
Αλγόριθμοι και Πολυπλοκότητα
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Επιλογή Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο.
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
Διαίρει-και-Βασίλευε
Δυναμικός Προγραμματισμός
Προσεγγιστικοί Αλγόριθμοι
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A Δυναμικός Προγραμματισμός πρόβλημα μεγέθους Ν διάσπαση πρόβλημα.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση βάρους Κατευθυνόμενο γράφημα.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Κυριακή, 11 Ιανουαρίου 2015Κυριακή, 11 Ιανουαρίου 2015Κυριακή, 11 Ιανουαρίου 2015Κυριακή, 11 Ιανουαρίου.
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο1 Διαίρει και Βασίλευε γνωστότερη Η γνωστότερη μέθοδος σχεδιασμού αλγορίθμων: Διαιρούμε.
Ουρά Προτεραιότητας: Heap
Ενεργή επιλογή αλγορίθμου, Active Algorithm Selection, Feilong Chen and Rong Jin Εύα Σιταρίδη.
ΕΠΛ231 – Δομές Δεδομένων και Αλγόριθμοι
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Αλγόριθμοι Ταξινόμησης
Ειδικά Θέματα Αλγορίθμων και Δομών Δεδομένων
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:
Ενότητα 1.2 Αναδρομικές Σχέσεις Σχεδίαση & Ανάλυση Αλγορίθμων.
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Quicksort Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 15 Απριλίου 2015Τετάρτη, 15 Απριλίου 2015Τετάρτη, 15 Απριλίου 2015Τετάρτη, 15 Απριλίου 2015Τμ.
Χρονική Πολυπλοκότητα και Μοντέλα
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα b Προσεγγίσεις:
Ασυμπτωτικός Συμβολισμός
ΔιαΙρεςη και κυριαρχια
Δομές Δεδομένων 1 Θέματα Απόδοσης. Δομές Δεδομένων 2 Οργανώνοντας τα Δεδομένα  Η επιλογή της δομής δεδομένων και του αλγορίθμου επηρεάζουν το χρόνο εκτέλεσης.
Χρονική Πολυπλοκότητα
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
8-1 ΜΑΘΗΜΑ 8 ο Εισαγωγή στους Αλγόριθμους Ταξινόμησης.
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα.
ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ. Δυαδική αναζήτηση (Binary search) ΔΕΔΟΜΕΝΟ: ένα μεγάλο αρχείο που περιέχει τιμές z [0,1,…,n-1] ταξινομημένες.
Αλγόριθμοι Ταξινόμησης – Μέρος 4 Μανόλης Κουμπαράκης Δομές Δεδομένων και Τεχνικές Προγραμματισμού 1.
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
9η Διάλεξη Ταξινόμηση Ε. Μαρκάκης
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Ταξινόμηση Φυσσαλίδας (bubblesort)
Αλγόριθμοι για ανάθεση συχνοτήτων και έλεγχο αποδοχής κλήσεων σε κυψελικά ασύρματα δίκτυα (μέρος ΙIΙ)
Ανάπτυξη εφαρμογής με οπτικοποιημένο περιβάλλον για τους αλγόριθμους ταξινόμησης και αναζήτησης ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ Γεωργιαδης νικολαοσ.
ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ (συνέχεια)
Δυναμικός Προγραμματισμός
11η Διάλεξη Ταξινόμηση Quicksort και Ιδιότητες Δέντρων Ε. Μαρκάκης
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης
Φοιτητής: Τσακίρης Αλέξανδρος Επιβλέπων: Ευάγγελος Ούτσιος
Ουρά Προτεραιότητας (priority queue)
Πτυχιακή εργασία του Παύλου Παντικάκη (2468)
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ
Ελαφρύτατες διαδρομές
Ιεραρχική σχεδίαση Καθορίζονται οι βασικές λειτουργίες σε ανώτερο επίπεδο και στη συνέχεια γίνεται διάσπαση σε όλο και μικρότερες λειτουργίες μέχρι το.
Δομές Δεδομένων και Τεχνικές Προγραμματισμού
§14. Перпендикуляр және көлбеу. §15. Үш перпендикуляр туралы теорема
Δομές Δεδομένων (Data Structures)
Μεταγράφημα παρουσίασης:

Ενότητα 2.1 Αλγόριθμοι Ταξινόμησης O(n 2 ) & O(nlogn) Σχεδίαση & Ανάλυση Αλγορίθμων

Αλγόριθμοι Ταξινόμησης Bubble-Sort Selection –Sort Insertion -Sort Quick -Sort Merge–Sort Heap–Sort Counting–Sort Bucket-Sort Radix-Sort Shell-sort

Αλγόριθμος Φυσαλίδας (Bubble-Sort) Το Min πάντα στη θέση i  Αλγόριθμος Bubble-Sort

Αλγόριθμος Selection -Sort Αλγόριθμος Επιλογής (Selection-Sort) Το Min πάντα στη θέση i

Αλγόριθμος Selection -Sort

Αλγόριθμος Insertion -Sort Αλγόριθμος Παρεμβολής (Insertion-Sort)

Αλγόριθμος Insertion -Sort

Πρόβλημα Π Άνω Φράγμα του Π Κάτω Φράγμα του Π Βέλτιστος Αλγόριθμος Αλγόριθμος Θεώρημα Άνω και Κάτω φράγματα

Ο(n 2 ) Αλγόριθμος Bubble-Sort Ο(n 2 ) Αλγόριθμος Selection-Sort Ο(n 2 ) Αλγόριθμος Insertion-Sort Άνω Φράγμα Κάτω Φράγμα Άνω και Κάτω φράγματα Πρόβλημα Π Υπάρχει Ταχύτερος Αλγόριθμος !!!

Κάτω φράγματα – Πρόβλημα Ταξινόμηση Bubble-Sort Selection-Sort Insertion-Sort Κλάση Αλγορίθμων:

Κάτω φράγματα – Πρόβλημα Ταξινόμηση Bubble-Sort, Selection-Sort, Insertion-Sort

Κάτω φράγματα – Πρόβλημα Ταξινόμηση

Αλγόριθμοι Bubble-Sort Selection –Sort Insertion -Sort Quick -Sort Merge–Sort Heap–Sort Counting–Sort Bucket-Sort Radix-Sort Shell-sort

Διαίρει και Βασίλευε (Divide and Conquer ) Αλγόριθμοι:Quick-Sort & Merge-Sort Τεχνική: Divide and Conquer 1 2 3

Διαίρει και Βασίλευε (Divide and Conquer ) Σχεδιασμός Αλγόριθμου: Divide and Conquer >   

Διαίρει και Βασίλευε (Divide and Conquer )

Divide and Conquer (σχηματικά…) πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k

Διαίρει και Βασίλευε (Divide and Conquer ) πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k επιλύουμε αναδρομικά τα υποπροβλήματα Divide and Conquer (σχηματικά…)

Διαίρει και Βασίλευε (Divide and Conquer ) πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k επιλύουμε αναδρομικά τα υποπροβλήματα Divide and Conquer (σχηματικά…)

Διαίρει και Βασίλευε (Divide and Conquer ) πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k επιλύουμε αναδρομικά τα υποπροβλήματα Divide and Conquer (σχηματικά…)

Διαίρει και Βασίλευε (Divide and Conquer ) πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k επιλύουμε αναδρομικά τα υποπροβλήματα Divide and Conquer (σχηματικά…)

Διαίρει και Βασίλευε (Divide and Conquer ) πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k επιλύουμε αναδρομικά τα υποπροβλήματα Divide and Conquer (σχηματικά…)

Διαίρει και Βασίλευε (Divide and Conquer ) διάσπαση προβλήματος & σύνθεση λύσεων Χρόνος εκτέλεσης : χρόνος διάσπασης χρόνος σύνθεσης επιλύουμε αναδρομικά τα υποπροβλήματα πρόβλημα μεγέθους Ν πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k Divide and Conquer (σχηματικά…)

Διαίρει και Βασίλευε (Divide and Conquer )

Αλγόριθμος Quick -Sort

k = n-1, n-2, …, 2. Quick-Sort (1, 0) Quick-Sort (2, n) n n

Αλγόριθμος Quick -Sort

Ισομερής Προσέγγιση

Αλγόριθμος Quick -Sort

Γενική Προσέγγιση

Αλγόριθμος Quick -Sort

Αλγόριθμος Merge -Sort

Συγχώνευση (Merge) Συγχώνευση δύο διατεταγμένων ακολουθιών

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) ij Συγχώνευση δύο διατεταγμένων ακολουθιών

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) ij 2 2 Συγχώνευση δύο διατεταγμένων ακολουθιών

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) ij 24 2 Συγχώνευση δύο διατεταγμένων ακολουθιών

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) ij Συγχώνευση δύο διατεταγμένων ακολουθιών

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) ij Συγχώνευση δύο διατεταγμένων ακολουθιών

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) ij Συγχώνευση δύο διατεταγμένων ακολουθιών

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) ij Συγχώνευση δύο διατεταγμένων ακολουθιών

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) ij … … Συγχώνευση δύο διατεταγμένων ακολουθιών

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) ij Συγχώνευση δύο διατεταγμένων ακολουθιών

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) ij Συγχώνευση δύο διατεταγμένων ακολουθιών

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) ij Απαιτεί 3 ξεχωριστούς πίνακες Συγχώνευση δύο διατεταγμένων ακολουθιών

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) lmm+1r a lm r aux Συγχώνευση δύο διατεταγμένων ακολουθιών με 2 πίνακες

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) lmm+1r a lmm+1r aux Συγχώνευση δύο διατεταγμένων ακολουθιών με 2 πίνακες

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) lmm+1r a lmm+1r aux αντιστροφή της 2 ης ακολουθίας Συγχώνευση δύο διατεταγμένων ακολουθιών με 2 πίνακες

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) lmm+1r a lmm+1r aux Συγχώνευση δύο διατεταγμένων ακολουθιών με 2 πίνακες

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) lmm+1r a lmm+1r aux Συγχώνευση δύο διατεταγμένων ακολουθιών με 2 πίνακες

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) lmm+1r a lmm+1r aux Συγχώνευση δύο διατεταγμένων ακολουθιών με 2 πίνακες

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) lmm+1r a lmm+1r aux … … … Συγχώνευση δύο διατεταγμένων ακολουθιών με 2 πίνακες

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) lmm+1r a lmm+1r aux Συγχώνευση δύο διατεταγμένων ακολουθιών με 2 πίνακες

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) lmm+1r a lmm+1r aux Συγχώνευση δύο διατεταγμένων ακολουθιών με 2 πίνακες

Αλγόριθμος Merge -Sort Συγχώνευση (Merge) lmm+1r a lmm+1r aux Συγχώνευση δύο διατεταγμένων ακολουθιών με 2 πίνακες

Αλγόριθμος Merge -Sort Σύγκριση δύο στοιχείων

Αλγόριθμος Merge -Sort

Σύγκριση δύο στοιχείων O(n logn)

Κάτω Φράγματα

a[i]<a[j] ? a[b]<a[c] ? a[f]<a[g] ? a[h]<a[i] ? a[d]<a[e] ? a[j]<a[k] ? a[l]<a[m] ? Δένδρο απόφασης Κάτω φράγμα για ταξινόμηση που χρησιμοποιεί μόνο συγκρίσεις

Κάτω Φράγματα Δένδρο απόφασης Π.χ. για n=3 a[1]<a[2] ? a[1]<a[3] ? a[2]<a[3] ? a[1]<a[3] ? a[2]<a[3] ? a[1]< a[2]< a[3] a[1]< a[3]< a[2] a[3]< a[1]< a[2] a[2]< a[1]< a[3] a[2]< a[3]< a[1] a[3]< a[2]< a[1] Κάτω φράγμα για ταξινόμηση που χρησιμοποιεί μόνο συγκρίσεις

Κάτω Φράγματα Δένδρο απόφασης Π.χ. για n=3 a[1]<a[2] ? a[1]<a[3] ? a[2]<a[3] ? a[1]<a[3] ? a[2]<a[3] ? a[1]< a[2]< a[3] a[1]< a[3]< a[2] a[3]< a[1]< a[2] a[2]< a[1]< a[3] a[2]< a[3]< a[1] a[3]< a[2]< a[1] Για a=[1,2,3] Η εκτέλεση του αλγόριθμου ακολουθεί ένα μονοπάτι από τη ρίζα προς κάποιο φύλλο Κάτω φράγμα για ταξινόμηση που χρησιμοποιεί μόνο συγκρίσεις

Κάτω Φράγματα Δένδρο απόφασης Π.χ. για n=3 Για a=[2,1,3] a[1]<a[2] ? a[1]<a[3] ? a[2]<a[3] ? a[1]<a[3] ? a[2]<a[3] ? a[1]< a[2]< a[3] a[1]< a[3]< a[2] a[3]< a[1]< a[2] a[2]< a[1]< a[3] a[2]< a[3]< a[1] a[3]< a[2]< a[1] Η εκτέλεση του αλγόριθμου ακολουθεί ένα μονοπάτι από τη ρίζα προς κάποιο φύλλο Κάτω φράγμα για ταξινόμηση που χρησιμοποιεί μόνο συγκρίσεις

Κάτω Φράγματα a[i]<a[j] ? a[b]<a[c] ? a[f]<a[g] ? a[h]<a[i] ? a[d]<a[e] ? a[j]<a[k] ? a[l]<a[m] ? Δένδρο απόφασης Ο αριθμός των συγκρίσεων που πραγματοποιεί μια εκτέλεση του αλγόριθμου στη χειρότερη περίπτωση είναι ίσος με το ύψος του δένδρου Κάθε μετάθεση της ακολουθίας εισόδου αντιστοιχεί σε διαφορετικό φύλλο  υπάρχουν n! φύλλα Ύψος δυαδικού δένδρου με n! φύλλα = Κάτω φράγμα για ταξινόμηση που χρησιμοποιεί μόνο συγκρίσεις

Κάτω Φράγματα

Σύγκριση δύο στοιχείων O(n logn)

Κάτω Φράγματα ??? Ενότητα Αλγόριθμοι Ταξινόμησης O(n 2 ) & O(nlogn)