Δοµές Δεδοµένων. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 2
|
|
- Ακταίων Σπυριδων Αναστασιάδης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Δοµές Δεδοµένων Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 2
2 Δοµές Δεδοµένων (Αναπαράσταση,) οργάνωση και διαχείριση συνόλων αντικειµένων για αποδοτική ενηµέρωση και ανάκτηση πληροφορίας. Αποδοτική υλοποίηση αλγορίθµων και Βάσεων Δεδοµένων. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 2
3 Δοµές Δεδοµένων (Αναπαράσταση,) οργάνωση και διαχείριση συνόλων αντικειµένων για αποδοτική ενηµέρωση και ανάκτηση πληροφορίας. Αποδοτική υλοποίηση αλγορίθµων και Βάσεων Δεδοµένων. (Αποδοτική) αναπαράσταση οργάνωση «σύνθετων» αντικειµένων µε χρήση: Βασικών τύπων δεδοµένων (ints, floats, chars, strings, arrays). Μηχανισµών που παρέχονται από γλώσσες προγραµµατισµού (structs records, objects). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 2
4 Δοµές Δεδοµένων (Αναπαράσταση,) οργάνωση και διαχείριση συνόλων αντικειµένων για αποδοτική ενηµέρωση και ανάκτηση πληροφορίας. Αποδοτική υλοποίηση αλγορίθµων και Βάσεων Δεδοµένων. (Αποδοτική) αναπαράσταση οργάνωση «σύνθετων» αντικειµένων µε χρήση: Βασικών τύπων δεδοµένων (ints, floats, chars, strings, arrays). Μηχανισµών που παρέχονται από γλώσσες προγραµµατισµού (structs records, objects). Διαχείριση: υλοποίηση στοιχειωδών λειτουργιών Ταξινόµηση, αναζήτηση, min/max/median, first/last,... Εισαγωγή, διαγραφή, ενηµέρωση. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 2
5 Δοµές Δεδοµένων (Αναπαράσταση,) οργάνωση και διαχείριση συνόλων αντικειµένων για αποδοτική ενηµέρωση και ανάκτηση πληροφορίας. Αποδοτική υλοποίηση αλγορίθµων και Βάσεων Δεδοµένων. (Αποδοτική) αναπαράσταση οργάνωση «σύνθετων» αντικειµένων µε χρήση: Βασικών τύπων δεδοµένων (ints, floats, chars, strings, arrays). Μηχανισµών που παρέχονται από γλώσσες προγραµµατισµού (structs records, objects). Διαχείριση: υλοποίηση στοιχειωδών λειτουργιών Ταξινόµηση, αναζήτηση, min/max/median, first/last,... Εισαγωγή, διαγραφή, ενηµέρωση. Λύσεις και τεχνικές για αποδοτική διαχείριση δεδοµένων. Ανάλυση για απαιτήσεις και καταλληλότητα. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 2
6 Γενικευµένος Τύπος Δεδοµένων Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 3
7 Γενικευµένος Τύπος Δεδοµένων Abstract Data Type (ADT): σύνολο (στιγµιότυπα) µε λειτουργίες (µεθόδους) επί των στοιχείων του. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 3
8 Γενικευµένος Τύπος Δεδοµένων Abstract Data Type (ADT): σύνολο (στιγµιότυπα) µε λειτουργίες (µεθόδους) επί των στοιχείων του. Δοµή Δεδοµένων: Υλοποίηση ενός ADT Αναπαράσταση οργάνωση στιγµιοτύπων και υλοποίηση λειτουργιών µε κατάλληλους αλγόριθµους. Διατύπωση: ορισµός αναπαράστασης και περιγραφή υλοποίησης λειτουργιών (ψευδο-κώδικας). Ανάλυση: προσδιορισµός απαιτήσεων σε χώρο αποθήκευσης και χρόνο εκτέλεσης για κάθε (βασική) λειτουργία. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 3
9 Ουρά Προτεραιότητας (Priority Queue) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 4
10 Ουρά Προτεραιότητας (Priority Queue) Ουρά όπου σειρά διαγραφής καθορίζεται από προτεραιότητα (µεγαλύτερη µικρότερη). Στοιχεία (προτεραιότητα, πληροφορία). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 4
11 Ουρά Προτεραιότητας (Priority Queue) Ουρά όπου σειρά διαγραφής καθορίζεται από προτεραιότητα (µεγαλύτερη µικρότερη). Στοιχεία (προτεραιότητα, πληροφορία). Ακολουθία από λειτουργίες: insert(x): εισαγωγή x. deletemax(): διαγραφή και επιστροφή στοιχείου µέγιστης προτεραιότητας. max(): επιστροφή στοιχείου µέγιστης προτεραιότητας (χωρίς διαγραφή). changepriority(k): αλλαγή προτεραιότητας θέσης k. isempty(), size(): βοηθητικές λειτουργίες. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 4
12 Εφαρµογές Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 5
13 Εφαρµογές Άµεσες εφαρµογές: Υλοποίηση ουρών αναµονής µε προτεραιότητες. Δροµολόγηση µε προτεραιότητες. Largest (Smallest) Processing Time First. Έµµεσες εφαρµογές: Βασικό συστατικό πολλών ΔΔ και αλγορίθµων: HeapSort (γενικά ταξινόµηση µε επιλογή). Αλγόριθµος Huffman. Αλγόριθµοι Prim και Dijkstra.... Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 5
14 Στοιχεία Ουράς Προτεραιότητας Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 6
15 Στοιχεία Ουράς Προτεραιότητας Ουρές Προτεραιότητας: Ολική διάταξη στοιχείων µε βάση προτεραιότητα. Στοιχεία είναι αριθµοί (µε συνήθη διάταξη) που δηλώνουν προτεραιότητα. Εφαρµογή για στοιχεία κάθε συνόλου µε σχέση ολικής διάταξης (αριθµοί, λέξεις, εισοδήµατα,...). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 6
16 Στοιχεία Ουράς Προτεραιότητας Ουρές Προτεραιότητας: Ολική διάταξη στοιχείων µε βάση προτεραιότητα. Στοιχεία είναι αριθµοί (µε συνήθη διάταξη) που δηλώνουν προτεραιότητα. Εφαρµογή για στοιχεία κάθε συνόλου µε σχέση ολικής διάταξης (αριθµοί, λέξεις, εισοδήµατα,...). Ουρά Προτεραιότητας µε γραµµική λίστα: Διαγραφή µέγιστου ή εισαγωγή απαιτεί γραµµικό χρόνο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 6
17 Στοιχεία Ουράς Προτεραιότητας Ουρές Προτεραιότητας: Ολική διάταξη στοιχείων µε βάση προτεραιότητα. Στοιχεία είναι αριθµοί (µε συνήθη διάταξη) που δηλώνουν προτεραιότητα. Εφαρµογή για στοιχεία κάθε συνόλου µε σχέση ολικής διάταξης (αριθµοί, λέξεις, εισοδήµατα,...). Ουρά Προτεραιότητας µε γραµµική λίστα: Διαγραφή µέγιστου ή εισαγωγή απαιτεί γραµµικό χρόνο. Υλοποίηση ουράς προτεραιότητας µε σωρό (heap). Δυαδικό δέντρο µε διάταξη σε κάθε µονοπάτι ρίζα φύλλο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 6
18 Ιεραρχικές Δοµές: Δέντρα Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 7
19 Ιεραρχικές Δοµές: Δέντρα Γράφηµα ακυκλικό και συνεκτικό. Δέντρο µε n κορυφές έχει m = n 1 ακµές. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 7
20 Ιεραρχικές Δοµές: Δέντρα Γράφηµα ακυκλικό και συνεκτικό. Δέντρο µε n κορυφές έχει m = n 1 ακµές. Δέντρο µε ρίζα : Ιεραρχία Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 7
21 Ιεραρχικές Δοµές: Δέντρα Γράφηµα ακυκλικό και συνεκτικό. Δέντρο µε n κορυφές έχει m = n 1 ακµές. Δέντρο µε ρίζα : Ιεραρχία Ύψος : µέγιστη απόσταση από ρίζα. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 7
22 Ιεραρχικές Δοµές: Δέντρα Γράφηµα ακυκλικό και συνεκτικό. Δέντρο µε n κορυφές έχει m = n 1 ακµές. Δέντρο µε ρίζα : Ιεραρχία Ύψος : µέγιστη απόσταση από ρίζα. Δυαδικό δέντρο : έχει ρίζα και κάθε κορυφή 2 παιδιά : Αριστερό και δεξιό. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 7
23 Ιεραρχικές Δοµές: Δέντρα Γράφηµα ακυκλικό και συνεκτικό. Δέντρο µε n κορυφές έχει m = n 1 ακµές. Δέντρο µε ρίζα : Ιεραρχία Ύψος : µέγιστη απόσταση από ρίζα. Δυαδικό δέντρο : έχει ρίζα και κάθε κορυφή 2 παιδιά : Αριστερό και δεξιό. Κάθε υποδέντρο είναι δυαδικό δέντρο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 7
24 Δυαδικά Δέντρα Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 8
25 Δυαδικά Δέντρα n(h): #κορυφών σε ΔΔ ύψους h. h + 1 n(h) 2 h+1 1 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 8
26 Δυαδικά Δέντρα n(h): #κορυφών σε ΔΔ ύψους h. h + 1 n(h) 2 h+1 1 h+1 επίπεδα, 1 κορ. / επίπ. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 8
27 Δυαδικά Δέντρα n(h): #κορυφών σε ΔΔ ύψους h. h + 1 n(h) 2 h+1 1 h+1 επίπεδα, 1 κορ. / επίπ. 2 i κορυφές στο επίπεδο i h = 2 h Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 8
28 Δυαδικά Δέντρα n(h): #κορυφών σε ΔΔ ύψους h. h + 1 n(h) 2 h+1 1 h+1 επίπεδα, 1 κορ. / επίπ. 2 i κορυφές στο επίπεδο i h = 2 h Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 8
29 Δυαδικά Δέντρα n(h): #κορυφών σε ΔΔ ύψους h. h + 1 n(h) 2 h+1 1 h+1 επίπεδα, 1 κορ. / επίπ. 2 i κορυφές στο επίπεδο i h = 2 h h(n): ύψος ΔΔ µε n κορυφές: log 2 (n+1) 1 h(n) n 1 Γεµάτο (full): Κάθε κορυφή είτε φύλλο είτε 2 παιδιά. Πλήρες (complete) : Γεµάτο και όλα τα επίπεδα συµπληρωµένα. n = 2 h+ 1 1 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 8
30 Σχεδόν Πλήρες Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 9
31 Σχεδόν Πλήρες Όλα τα επίπεδα συµπληρωµένα εκτός ίσως από τελευταίο που πληρώνεται από αριστερά προς τα δεξιά. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 9
32 Σχεδόν Πλήρες Όλα τα επίπεδα συµπληρωµένα εκτός ίσως από τελευταίο που πληρώνεται από αριστερά προς τα δεξιά. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 9
33 Σχεδόν Πλήρες Όλα τα επίπεδα συµπληρωµένα εκτός ίσως από τελευταίο που πληρώνεται από αριστερά προς τα δεξιά. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 9
34 Σχεδόν Πλήρες Όλα τα επίπεδα συµπληρωµένα εκτός ίσως από τελευταίο που πληρώνεται από αριστερά προς τα δεξιά. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 9
35 Σχεδόν Πλήρες Όλα τα επίπεδα συµπληρωµένα εκτός ίσως από τελευταίο που πληρώνεται από αριστερά προς τα δεξιά. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 9
36 Σχεδόν Πλήρες Όλα τα επίπεδα συµπληρωµένα εκτός ίσως από τελευταίο που πληρώνεται από αριστερά προς τα δεξιά. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 9
37 Σχεδόν Πλήρες Όλα τα επίπεδα συµπληρωµένα εκτός ίσως από τελευταίο που πληρώνεται από αριστερά προς τα δεξιά. n(h): #κορυφών για ύψος h: 2 h n(h) 2 h Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 9
38 Σχεδόν Πλήρες Όλα τα επίπεδα συµπληρωµένα εκτός ίσως από τελευταίο που πληρώνεται από αριστερά προς τα δεξιά. n(h): #κορυφών για ύψος h: 2 h n(h) 2 h Πλήρες(h) : 2 h+ 1 1 Πλήρες(h 1) + 1 : (2h 1) + 1 = 2h. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 9
39 Σχεδόν Πλήρες Όλα τα επίπεδα συµπληρωµένα εκτός ίσως από τελευταίο που πληρώνεται από αριστερά προς τα δεξιά. n(h): #κορυφών για ύψος h: 2 h n(h) 2 h Πλήρες(h) : 2 h+ 1 1 Πλήρες(h 1) + 1 : (2h 1) + 1 = 2h. h(n): ύψος για n κορυφές: log 2 (n+1) 1 h(n) log 2 n Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 9
40 Σχεδόν Πλήρες Όλα τα επίπεδα συµπληρωµένα εκτός ίσως από τελευταίο που πληρώνεται από αριστερά προς τα δεξιά. n(h): #κορυφών για ύψος h: 2 h n(h) 2 h Πλήρες(h) : 2 h+ 1 1 Πλήρες(h 1) + 1 : (2h 1) + 1 = 2h. h(n): ύψος για n κορυφές: log 2 (n+1) 1 h(n) log 2 n Ύψος : h( n ) = log 2 n #φύλλων = n / 2 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 9
41 Αναπαράσταση Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 10
42 Αναπαράσταση Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 10
43 Αναπαράσταση Δείκτες σε παιδιά, πατέρα (δυναµική). Σχεδόν πλήρη δυαδικά δέντρα : Πίνακας (στατική). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 10
44 Αναπαράσταση Δείκτες σε παιδιά, πατέρα (δυναµική). Σχεδόν πλήρη δυαδικά δέντρα : Πίνακας (στατική). Αρίθµηση αριστερά δεξιά και πάνω κάτω. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 10
45 Αναπαράσταση Δείκτες σε παιδιά, πατέρα (δυναµική). Σχεδόν πλήρη δυαδικά δέντρα : Πίνακας (στατική). Αρίθµηση αριστερά δεξιά και πάνω κάτω. Ρίζα : Π[1] Π[ i ] : πατέρας Π[ i / 2 ] αριστερό παιδί Π[ 2 i ] δεξιό παιδί Π[ 2 i + 1 ] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 10
46 Σωρός (heap) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 11
47 Σωρός (heap) Δέντρο µέγιστου (ελάχιστου): Τιµές στις κορυφές και τιµή κάθε κορυφής ( ) τιµές παιδιών της. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 11
48 Σωρός (heap) Δέντρο µέγιστου (ελάχιστου): Τιµές στις κορυφές και τιµή κάθε κορυφής ( ) τιµές παιδιών της. Σωρός : σχεδόν πλήρες δυαδικό δέντρο µέγιστου (ελάχιστου). Ύψος Θ(log n), #φύλλων = n / 2 Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 11
49 Σωρός (heap) Δέντρο µέγιστου (ελάχιστου): Τιµές στις κορυφές και τιµή κάθε κορυφής ( ) τιµές παιδιών της. Σωρός : σχεδόν πλήρες δυαδικό δέντρο µέγιστου (ελάχιστου). Ύψος Θ(log n), #φύλλων = n / 2 Πίνακας Α[ ] ιδιότ. σωρού : i A[ i ] A[ 2i ], A[ 2i + 1 ]. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 11
50 Σωρός (heap) Δέντρο µέγιστου (ελάχιστου): Τιµές στις κορυφές και τιµή κάθε κορυφής ( ) τιµές παιδιών της. Σωρός : σχεδόν πλήρες δυαδικό δέντρο µέγιστου (ελάχιστου). Ύψος Θ(log n), #φύλλων = n / 2 Πίνακας Α[ ] ιδιότ. σωρού : i A[ i ] A[ 2i ], A[ 2i + 1 ]. Μέγιστο : ρίζα Ελάχιστο : κάποιο φύλλο Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 11
51 Σωροί και Μη-Σωροί Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 12
52 Σωροί και Μη-Σωροί Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 12
53 Σωροί και Μη-Σωροί Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 12
54 Σωροί και Μη-Σωροί Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 12
55 Σωροί και Μη-Σωροί Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 12
56 Σωροί και Μη-Σωροί Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 12
57 Σωροί και Μη-Σωροί Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 12
58 Σωροί και Μη-Σωροί Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 12
59 Σωροί και Μη-Σωροί Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 12
60 Σωρός σαν Ουρά Προτεραιότητας Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 13
61 Σωρός σαν Ουρά Προτεραιότητας int A[n], hs; Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 13
62 Σωρός σαν Ουρά Προτεραιότητας int A[n], hs; max() : Ο(1) int max() { return(a[1]); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 13
63 Σωρός σαν Ουρά Προτεραιότητας int A[n], hs; max() : Ο(1) int max() { return(a[1]); } deletemax() : int deletemax() { if (isempty()) return(empty); max = A[1]; A[1] = A[hs--]; combine(1); return(max); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 13
64 Σωρός σαν Ουρά Προτεραιότητας int A[n], hs; max() : Ο(1) int max() { return(a[1]); } deletemax() : int deletemax() { if (isempty()) return(empty); max = A[1]; A[1] = A[hs--]; combine(1); return(max); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 13
65 Αποκατάσταση Προς-τα-Κάτω Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 14
66 Αποκατάσταση Προς-τα-Κάτω combine( i ) : Ενόσω όχι σωρός, - Α[ i ] max{a[ 2i ], A[ 2i+1 ] } - συνεχίζω στο αντίστοιχο υποδέντρο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 14
67 Αποκατάσταση Προς-τα-Κάτω combine( i ) : Ενόσω όχι σωρός, - Α[ i ] max{a[ 2i ], A[ 2i+1 ] } - συνεχίζω στο αντίστοιχο υποδέντρο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 14
68 Αποκατάσταση Προς-τα-Κάτω combine( i ) : Ενόσω όχι σωρός, - Α[ i ] max{a[ 2i ], A[ 2i+1 ] } - συνεχίζω στο αντίστοιχο υποδέντρο. combine(int i) { l = 2*i; r = 2*i+1; mp = i; if ((l <= hs) && (A[l] > A[mp])) mp = l; if ((r <= hs) && (A[r] > A[mp])) mp = r; if (mp!= i) { swap(a[i], A[mp]); combine(mp); } } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 14
69 Αποκατάσταση Προς-τα-Κάτω combine( i ) : Ενόσω όχι σωρός, - Α[ i ] max{a[ 2i ], A[ 2i+1 ] } - συνεχίζω στο αντίστοιχο υποδέντρο. combine(int i) { l = 2*i; r = 2*i+1; mp = i; if ((l <= hs) && (A[l] > A[mp])) mp = l; if ((r <= hs) && (A[r] > A[mp])) mp = r; if (mp!= i) { swap(a[i], A[mp]); combine(mp); } } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 14
70 Αποκατάσταση Προς-τα-Κάτω combine( i ) : Ενόσω όχι σωρός, - Α[ i ] max{a[ 2i ], A[ 2i+1 ] } - συνεχίζω στο αντίστοιχο υποδέντρο. combine(int i) { l = 2*i; r = 2*i+1; mp = i; if ((l <= hs) && (A[l] > A[mp])) mp = l; if ((r <= hs) && (A[r] > A[mp])) mp = r; if (mp!= i) { swap(a[i], A[mp]); combine(mp); } } Χρόνος για deletemax() : Ο(ύψος) = O(log n) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 14
71 Εισαγωγή: Αποκατάσταση Προς-τα-Πάνω Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 15
72 Εισαγωγή: Αποκατάσταση Προς-τα-Πάνω insert( k ) : Εισαγωγή στο τέλος. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 15
73 Εισαγωγή: Αποκατάσταση Προς-τα-Πάνω insert( k ) : Εισαγωγή στο τέλος. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 15
74 Εισαγωγή: Αποκατάσταση Προς-τα-Πάνω insert( k ) : Εισαγωγή στο τέλος. Ενόσω όχι σωρός, A[ i ] A[ i / 2 ] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 15
75 Εισαγωγή: Αποκατάσταση Προς-τα-Πάνω insert( k ) : Εισαγωγή στο τέλος. Ενόσω όχι σωρός, A[ i ] A[ i / 2 ] insert(int k) { A[++hs] = k; i = hs; p = i / 2; while ((i > 1) && (A[p] < A[i])) { swap(a[p], A[i]); i = p; p = i / 2; } } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 15
76 Εισαγωγή: Αποκατάσταση Προς-τα-Πάνω insert( k ) : Εισαγωγή στο τέλος. Ενόσω όχι σωρός, A[ i ] A[ i / 2 ] insert(int k) { A[++hs] = k; i = hs; p = i / 2; while ((i > 1) && (A[p] < A[i])) { swap(a[p], A[i]); i = p; p = i / 2; } } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 15
77 Εισαγωγή: Αποκατάσταση Προς-τα-Πάνω insert( k ) : Εισαγωγή στο τέλος. Ενόσω όχι σωρός, A[ i ] A[ i / 2 ] insert(int k) { A[++hs] = k; i = hs; p = i / 2; while ((i > 1) && (A[p] < A[i])) { swap(a[p], A[i]); i = p; p = i / 2; } } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 15
78 Εισαγωγή: Αποκατάσταση Προς-τα-Πάνω insert( k ) : Εισαγωγή στο τέλος. Ενόσω όχι σωρός, A[ i ] A[ i / 2 ] insert(int k) { A[++hs] = k; i = hs; p = i / 2; while ((i > 1) && (A[p] < A[i])) { swap(a[p], A[i]); i = p; p = i / 2; } } Χρόνος για insert() : Ο(ύψος) = O(log n) Αύξηση προτεραιότητας : εισαγωγή (αποκατ. προς-τα-πάνω). Μείωση προτεραιότητας : διαγραφή (αποκατ. προς-τα-κάτω). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 15
79 Δηµιουργία Σωρού Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 16
80 Δηµιουργία Σωρού Α[n] σωρός µε n εισαγωγές [3, 4, 6, 10, 8, 15, 16, 17, 12, 11, 20] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 16
81 Δηµιουργία Σωρού Α[n] σωρός µε n εισαγωγές [3, 4, 6, 10, 8, 15, 16, 17, 12, 11, 20] Χρόνος O(n log n). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 16
82 Δηµιουργία Σωρού Α[n] σωρός µε n εισαγωγές [3, 4, 6, 10, 8, 15, 16, 17, 12, 11, 20] Χρόνος O(n log n). Ιεραρχικά (bottom-up): Υποδέντρα-σωροί ενώνονται σε δέντρο-σωρό. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 16
83 Δηµιουργία Σωρού Α[n] σωρός µε n εισαγωγές [3, 4, 6, 10, 8, 15, 16, 17, 12, 11, 20] Χρόνος O(n log n). Ιεραρχικά (bottom-up): Υποδέντρα-σωροί ενώνονται σε δέντρο-σωρό. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 16
84 Δηµιουργία Σωρού Α[n] σωρός µε n εισαγωγές [3, 4, 6, 10, 8, 15, 16, 17, 12, 11, 20] Χρόνος O(n log n). Ιεραρχικά (bottom-up): Υποδέντρα-σωροί ενώνονται σε δέντρο-σωρό. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 16
85 Δηµιουργία Σωρού Α[n] σωρός µε n εισαγωγές [3, 4, 6, 10, 8, 15, 16, 17, 12, 11, 20] Χρόνος O(n log n). Ιεραρχικά (bottom-up): Υποδέντρα-σωροί ενώνονται σε δέντρο-σωρό. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 16
86 Δηµιουργία Σωρού Α[n] σωρός µε n εισαγωγές [3, 4, 6, 10, 8, 15, 16, 17, 12, 11, 20] Χρόνος O(n log n). Ιεραρχικά (bottom-up): Υποδέντρα-σωροί ενώνονται σε δέντρο-σωρό. constructheap(int n) { hs = n; for (i = n / 2; i > 0; i--) combine(i); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 16
87 Δηµιουργία Σωρού Α[n] σωρός µε n εισαγωγές [3, 4, 6, 10, 8, 15, 16, 17, 12, 11, 20] Χρόνος O(n log n). Ιεραρχικά (bottom-up): Υποδέντρα-σωροί ενώνονται σε δέντρο-σωρό. constructheap(int n) { hs = n; for (i = n / 2; i > 0; i--) combine(i); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 16
88 Δηµιουργία Σωρού Α[n] σωρός µε n εισαγωγές [3, 4, 6, 10, 8, 15, 16, 17, 12, 11, 20] Χρόνος O(n log n). Ιεραρχικά (bottom-up): Υποδέντρα-σωροί ενώνονται σε δέντρο-σωρό. constructheap(int n) { hs = n; for (i = n / 2; i > 0; i--) combine(i); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 16
89 Δηµιουργία Σωρού Α[n] σωρός µε n εισαγωγές [3, 4, 6, 10, 8, 15, 16, 17, 12, 11, 20] Χρόνος O(n log n). Ιεραρχικά (bottom-up): Υποδέντρα-σωροί ενώνονται σε δέντρο-σωρό. constructheap(int n) { hs = n; for (i = n / 2; i > 0; i--) combine(i); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 16
90 Χρόνος Δηµιουργίας Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 17
91 Χρόνος Δηµιουργίας for (i = n / 2; i > 0; i--) combine(i); Χρόνος combine( i ) = Ο(ύψος i ). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 17
92 Χρόνος Δηµιουργίας for (i = n / 2; i > 0; i--) combine(i); Χρόνος combine( i ) = Ο(ύψος i ). n / 4 στοιχεία χρόνος 1 c Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 17
93 Χρόνος Δηµιουργίας for (i = n / 2; i > 0; i--) combine(i); Χρόνος combine( i ) = Ο(ύψος i ). n / 4 στοιχεία χρόνος 1 c n / 8 στοιχεία χρόνος 2 c Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 17
94 Χρόνος Δηµιουργίας for (i = n / 2; i > 0; i--) combine(i); Χρόνος combine( i ) = Ο(ύψος i ). n / 4 στοιχεία χρόνος 1 c n / 8 στοιχεία χρόνος 2 c n / 2k στοιχεία χρόνος (k-1) c, k log 2 n Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 17
95 Χρόνος Δηµιουργίας for (i = n / 2; i > 0; i--) combine(i); Χρόνος combine( i ) = Ο(ύψος i ). n / 4 στοιχεία χρόνος 1 c n / 8 στοιχεία χρόνος 2 c n / 2k στοιχεία χρόνος (k-1) c, k log 2 n Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 17
96 Χρόνος Δηµιουργίας for (i = n / 2; i > 0; i--) combine(i); Χρόνος combine( i ) = Ο(ύψος i ). n / 4 στοιχεία χρόνος 1 c n / 8 στοιχεία χρόνος 2 c n / 2k στοιχεία χρόνος (k-1) c, k log 2 n Χρόνος constructheap( ) = Θ(n). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 17
97 Απόδοση Σωρού Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 18
98 Απόδοση Σωρού Χώρος : Θ(1) (in-place) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 18
99 Απόδοση Σωρού Χώρος : Θ(1) (in-place) Χρόνοι : createheap : Θ(n) insert, deletemax : O(log n) max, size, isempty : Θ(1) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 18
100 Απόδοση Σωρού Χώρος : Θ(1) (in-place) Χρόνοι : createheap : Θ(n) insert, deletemax : O(log n) max, size, isempty : Θ(1) Εξαιρετικά εύκολη υλοποίηση! Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 18
101 Απόδοση Σωρού Χώρος : Θ(1) (in-place) Χρόνοι : createheap : Θ(n) insert, deletemax : O(log n) max, size, isempty : Θ(1) Εξαιρετικά εύκολη υλοποίηση! Συµπέρασµα: Γρήγορη και ευρύτατα χρησιµοποιούµενη ουρά προτεραιότητας. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 18
102 Heap-Sort Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 19
103 Heap-Sort Αρχικοποίηση : δηµιουργία σωρού µε n στοιχεία. constructheap() : χρόνος Θ(n). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 19
104 Heap-Sort Αρχικοποίηση : δηµιουργία σωρού µε n στοιχεία. constructheap() : χρόνος Θ(n). Εξαγωγή µέγιστου και τοποθέτηση στο τέλος (n 1 φορές). deletemax() : χρόνος Θ(log n). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 19
105 Heap-Sort Αρχικοποίηση : δηµιουργία σωρού µε n στοιχεία. constructheap() : χρόνος Θ(n). Εξαγωγή µέγιστου και τοποθέτηση στο τέλος (n 1 φορές). deletemax() : χρόνος Θ(log n). Χρόνος : Θ(n) + n Θ(log n) = Θ(n log n). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 19
106 Heap-Sort Αρχικοποίηση : δηµιουργία σωρού µε n στοιχεία. constructheap() : χρόνος Θ(n). Εξαγωγή µέγιστου και τοποθέτηση στο τέλος (n 1 φορές). deletemax() : χρόνος Θ(log n). Χρόνος : Θ(n) + n hs = n; constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Θ(log n) = Θ(n log n). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 19
107 Heap-Sort Αρχικοποίηση : δηµιουργία σωρού µε n στοιχεία. constructheap() : χρόνος Θ(n). Εξαγωγή µέγιστου και τοποθέτηση στο τέλος (n 1 φορές). deletemax() : χρόνος Θ(log n). Χρόνος : Θ(n) + n hs = n; constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Θ(log n) = Θ(n log n). Χρονική Πολυπλοκότητα Ταξινόµησης: Ο(n log n). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 19
108 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
109 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
110 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
111 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
112 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
113 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
114 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
115 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
116 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
117 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
118 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
119 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
120 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
121 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
122 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
123 Heap-Sort : Παράδειγµα constructheap(n); for (i = n; i > 1; i--) { swap(a[1], A[i]); hs--; combine(1); } Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 20
124 Συγκριτικοί Αλγόριθµοι Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 21
125 Συγκριτικοί Αλγόριθµοι Ταξινόµηση µόνο µε συγκρίσεις και µετακινήσεις στοιχείων. Καµία άλλη ενέργεια στα στοιχεία (π.χ. οµαδοποίηση µε βάση δυαδική αναπαράσταση). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 21
126 Συγκριτικοί Αλγόριθµοι Ταξινόµηση µόνο µε συγκρίσεις και µετακινήσεις στοιχείων. Καµία άλλη ενέργεια στα στοιχεία (π.χ. οµαδοποίηση µε βάση δυαδική αναπαράσταση). Κάθε ντετερµινιστικός συγκριτικός αλγ. ταξινόµησης χρειάζεται Ω(n log n) συγκρίσεις µεταξύ στοιχείων. Αντίστοιχο κάτω φράγµα για πιθανοτικούς αλγόριθµους. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 21
127 Συγκριτικοί Αλγόριθµοι Ταξινόµηση µόνο µε συγκρίσεις και µετακινήσεις στοιχείων. Καµία άλλη ενέργεια στα στοιχεία (π.χ. οµαδοποίηση µε βάση δυαδική αναπαράσταση). Κάθε ντετερµινιστικός συγκριτικός αλγ. ταξινόµησης χρειάζεται Ω(n log n) συγκρίσεις µεταξύ στοιχείων. Αντίστοιχο κάτω φράγµα για πιθανοτικούς αλγόριθµους. Χρονική Πολυπλοκότητα Ταξινόµησης: Θ(n log n) Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 21
128 Συγκριτικοί Αλγόριθµοι Ταξινόµηση µόνο µε συγκρίσεις και µετακινήσεις στοιχείων. Καµία άλλη ενέργεια στα στοιχεία (π.χ. οµαδοποίηση µε βάση δυαδική αναπαράσταση). Κάθε ντετερµινιστικός συγκριτικός αλγ. ταξινόµησης χρειάζεται Ω(n log n) συγκρίσεις µεταξύ στοιχείων. Αντίστοιχο κάτω φράγµα για πιθανοτικούς αλγόριθµους. Χρονική Πολυπλοκότητα Ταξινόµησης: Θ(n log n) Υπάρχουν αλγόριθµοι µε γραµµικό χρόνο για συγκεκριµένους τύπους δεδοµένων (π.χ. αριθµούς). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 21
129 Δέντρο Συγκρίσεων Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 22
130 Δέντρο Συγκρίσεων Λειτουργία συγκριτικών αλγορίθµων αναπαρίσταται µε δέντρο συγκρίσεων (ή αποφάσεων). Αλγόριθµος δέντρο συγκρίσεων. είσοδο: αλγ. ακολουθεί µοναδικό µονοπάτι από ρίζα σε φύλλο. Ταξινόµηση µε εισαγωγή Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 22
131 Δέντρο Συγκρίσεων Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 23
132 Δέντρο Συγκρίσεων Ύψος δέντρου καθορίζει #συγκρίσεων (χ.π.) και αποτελεί κάτω φράγµα στο χρόνο εκτέλεσης. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 23
133 Δέντρο Συγκρίσεων Ύψος δέντρου καθορίζει #συγκρίσεων (χ.π.) και αποτελεί κάτω φράγµα στο χρόνο εκτέλεσης. Ταξινόµηση n στοιχείων: τουλάχιστον n! φύλλα (όλες µεταθέσεις). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 23
134 Δέντρο Συγκρίσεων Ύψος δέντρου καθορίζει #συγκρίσεων (χ.π.) και αποτελεί κάτω φράγµα στο χρόνο εκτέλεσης. Ταξινόµηση n στοιχείων: τουλάχιστον n! φύλλα (όλες µεταθέσεις). Δυαδικό δέντρο. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 23
135 Δέντρο Συγκρίσεων Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 24
136 Δέντρο Συγκρίσεων Δυαδικό δέντρο ύψους h έχει 2h φύλλα. Χρόνος εκτέλεσης = Ω(h). Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 24
137 Δέντρο Συγκρίσεων Δυαδικό δέντρο ύψους h έχει 2h φύλλα. Χρόνος εκτέλεσης = Ω(h). Ταξινόµηση n στοιχείων: 2 h n! Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 24
138 Δέντρο Συγκρίσεων Δυαδικό δέντρο ύψους h έχει 2h φύλλα. Χρόνος εκτέλεσης = Ω(h). Ταξινόµηση n στοιχείων: 2 h n! Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 24
Ουρά Προτεραιότητας: Heap
Δομές Δεδομένων Ουρά Προτεραιότητας: Heap Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο (Αναπαράσταση,)
Ουρά Προτεραιότητας: Heap
Ουρά Προτεραιότητας: Heap ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό
Ουρά Προτεραιότητας: Heap
Ουρά Προτεραιότητας: Heap Επιμέλεια διαφανειών: Δ. Φωτάκης (λίγες τροποποιήσεις: Α. Παγουρτζής) Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Δομές Δεδομένων (Αναπαράσταση,)
Ουρά Προτεραιότητας: Heap
Ουρά Προτεραιότητας: Heap ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ομές εδομένων (Αναπαράσταση,) οργάνωση και διαχείριση συνόλων αντικειμένων για
Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ουρές Προτεραιότητας. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Ουρές Προτεραιότητας Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρά Προτεραιότητας Το πρόβλημα Έχουμε αντικείμενα με κλειδιά και θέλουμε ανά πάσα στιγμή
Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο
Ουρές προτεραιότητας Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο αριθμός είναι μεγάλος, τόσο οι πελάτες
Quicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι
Πρόβλημα Ταξινόμησης Quicksort Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Είσοδος : ακολουθία n αριθμών (α 1, α 2,..., α n
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Φεβρουαρίου 0 / ένδρα Ενα δένδρο είναι
ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ
ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ Ουρές Προτεραιότητας (Priority Queues) Θεωρούµε ότι τα προς αποθήκευση στοιχεία έχουν κάποια διάταξη (καθένα έχει µια προτεραιότητα). Τα προς αποθήκευση στοιχεία είναι
Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 16: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Ουρά Προτεραιότητας Η δομή
13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας
ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Τι θα δούμε Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί Σωροί Ουρές Fibonacci Αναπαράσταση Πράξεις Ανάλυση Συγκρίσεις Ουρές προτεραιότητας
Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 16: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Ουρά Προτεραιότητας (Priority
Κεφάλαιο 2. Η δομή δεδομένων Σωρός και η Ταξινόμηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.3, 14/11/2014
Κεφάλαιο 2 Η δομή δεδομένων Σωρός και η Ταξινόμηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.3, 14/11/2014 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Σωρός και Ταξινόμηση
Δομές Δεδομένων (Data Structures)
Δομές Δεδομένων (Data Structures) Στοίβες Ουρές Στοίβες: Βασικές Έννοιες. Ουρές: Βασικές Έννοιες. Βασικές Λειτουργίες. Παραδείγματα. Στοίβες Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή πρώτη
Ουρές προτεραιότητας
Ουρές προτεραιότητας Πελάτες... στο ταµείο µιας τράπεζας Κάθε πελάτης µε ένα νούµερο/αριθµός προτεραιότητας! Όσοοαριθµός είναι µεγάλος, τόσο οι πελάτες είναι πιο ενδιαφέροντες(!) ένα µόνο ταµείο ανοικτό
Ουρά Προτεραιότητας (priority queue)
Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει δύο βασικές λειτουργίες : Εισαγωγή στοιχείου με δεδομένο κλειδί. Επιστροφή ενός στοιχείου με μέγιστο (ή ελάχιστο) κλειδί και διαγραφή
ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ
ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Παπαγιαννόπουλος Δημήτριος 30 Μαρτίου 2017 18 Μαΐου 2017 papagianno@ceid.upatras.gr 1 Περιεχόμενα Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί
Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 16: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Ουρά Προτεραιότητας Η δομή
Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ουρές Προτεραιότητας Σωροί υλοποίηση και πράξεις Ο αλγόριθμος ταξινόμησης HeapSort
Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ουρές Προτεραιότητας Σωροί υλοποίηση και πράξεις Ο αλγόριθμος ταξινόμησης HeapSort ΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι 9-1 Ουρά προτεραιότητας
Πρόβληµα (ADT) Λεξικού. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Λεξικό, Union - Find 2
Πρόβληµα (ADT) Λεξικού Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Λεξικό, Union - Find 2 Πρόβληµα (ADT) Λεξικού Δυναµικά µεταβαλλόµενη συλλογή αντικειµένων που αναγνωρίζονται µε κλειδί (π.χ. κατάλογοι,
Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1
Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1 Quicksort [Hoare, 62] Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση εισόδου σε δύο υπο-ακολουθίες:
Διάλεξη 26: Σωροί. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 26: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας -Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι
Union Find, Λεξικό. Δημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Union Find, Λεξικό Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαχείριση Διαμερίσεων Συνόλου Στοιχεία σύμπαντος διαμερίζονται σε κλάσεις ισοδυναμίας
Δομές Δεδομένων Ενότητα 4
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 4: Ουρές Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο έντρα έντρο: πρότυπο ιεραρχικής δομής. Αναπαράσταση
Quicksort. Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Quicksort Επιμέλεια διαφανειών: Δ. Φωτάκης Μικροαλλαγές: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Quicksort [Hoare, 6] Στοιχείο διαχωρισμού (pivot),
Πρόβληµα Επιλογής. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1
Πρόβληµα Επιλογής Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1 Πρόβληµα Επιλογής Πίνακας Α[ Αριθµός k, 1 k n. ] µε n στοιχεία (όχι ταξινοµηµένος). Υπολογισµός του k-οστού µικρότερου στοιχείου (στοιχείο
Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2
Διαίρει-και-Βασίλευε Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Γενική µέθοδος σχεδιασµού αλγορίθµων: Διαίρεση σε ( 2) υποπροβλήµατα (σηµαντικά) µικρότερου µεγέθους.
Quicksort. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Quicksort ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Quicksort [Hoare, 62] Στοιχείο διαχωρισμού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση
ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
έντρα ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο έντρα έντρο: πρότυπο ιεραρχικής δομής.
Κεφάλαιο 2. Η δοµή δεδοµένων Σωρός και η Ταξινόµηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.1, 12/05/2010
Κεφάλαιο 2 Η δοµή δεδοµένων Σωρός και η Ταξινόµηση Σωρού (The Heap data structure and Heapsort) Έκδοση., 2/05/200 Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Σωρός και Ταξινόµηση
Επιλογή. Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Επιλογή Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα Επιλογής Πίνακας Α[ ] με n στοιχεία (όχι ταξινομημένος). Αριθμός k,
Ενότητα 7 Ουρές Προτεραιότητας
Ενότητα Ουρές Προτεραιότητας ΗΥ4 - Παναγιώτα Φατούρου Ουρές Προτεραιότητας Θεωρούµε ένα χώρο κλειδιών U και έστω ότι µε κάθε κλειδί Κ (τύπου Key) έχει συσχετισθεί κάποια πληροφορία Ι (τύπου Type). Έστω
ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 9-1
Σωροί Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ουρές Προτεραιότητας Σωροί υλοποίηση και πράξεις Ο αλγόριθµος ταξινόµησης HeapSort Παραλλαγές Σωρών ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι
Κεφάλαιο 6 Ουρές Προτεραιότητας
Κεφάλαιο 6 Ουρές Προτεραιότητας Περιεχόμενα 6.1 Ο αφηρημένος τύπος δεδομένων ουράς προτεραιότητας... 114 6.2 Ουρές προτεραιότητας με στοιχειώδεις δομές δεδομένων... 115 6.3 Δυαδικός σωρός... 116 6.3.1
Quicksort. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Quicksort ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Δομές Δεδομένων & Αλγόριθμοι
Σωροί 1 Ορισμοί Ένα δέντρο μεγίστων (δένδρο ελαχίστων) είναι ένα δένδρο, όπου η τιμή κάθε κόμβου είναι μεγαλύτερη (μικρότερη) ή ίση με των τιμών των παιδιών του Ένας σωρός μεγίστων (σωρός ελαχίστων) είναι
Επιλογή. Πρόβλημα Επιλογής. Μέγιστο / Ελάχιστο. Εφαρμογές
Επιλογή Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Πρόβλημα Επιλογής Πίνακας Α[]με n στοιχεία (όχι ταξινομημένος). Αριθμός
Επιλογή. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Επιλογή ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα Επιλογής Πίνακας Α[]με n στοιχεία (όχι ταξινομημένος). Αριθμός k, 1 k n. Υπολογισμός
ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε Γενική μέθοδος σχεδιασμού αλγορίθμων: ιαίρεση σε ( 2) υποπροβλήματα
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 7η: Ουρές Προτεραιότητας Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 7η: Ουρές Προτεραιότητας Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 7 Ουρές Προτεραιότητας ΗΥ240 - Παναγιώτα Φατούρου 2 Ουρές
Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Λεξικό, Union Find ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα (ADT) Λεξικού υναμικά μεταβαλλόμενη
Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Λεξικό, Union Find ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Πρόβλημα (ADT) Λεξικού υναμικά μεταβαλλόμενη
Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort
Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η διαδικασία PercolateDown, Δημιουργία Σωρού O Αλγόριθμος Ταξινόμησης HeapSort Υλοποίηση, Παραδείγματα
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ουρές προτεραιότητας Κεφάλαιο 9. Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Ουρές προτεραιότητας Κεφάλαιο 9 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Ουρές προτεραιότητας Στοιχειώδεις υλοποιήσεις Δοµή δεδοµένων σωρού Αλγόριθµοι σε σωρούς Ο αλγόριθµος heapsort Δοµές
Επιλογή. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Επιλογή ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
ταξινόμηση σωρού Παύλος Εφραιμίδης Δομές Δεδομένων και
ταξινόμηση σωρού Παύλος Εφραιμίδης ταξινόμηση σωρού ταξινόμηση σωρού άλλος ένας αλγόριθμος ταξινόμησης πολυπλοκότητας O(n lgn) Ιδιαίτερα χαρακτηριστικά: χρησιμοποιεί μια δομή δεδομένων που ονομάζεται «σωρός»
Ουρά Προτεραιότητας (priority queue)
Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει τις ακόλουθες λειτουργίες PQinsert : εισαγωγή στοιχείου PQdelmax : επιστροφή του στοιχείου με το μεγαλύτερο* κλειδί και διαγραφή του
Λεξικό, Union Find. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο
Λεξικό, Union Find ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Ενότητα 7 Ουρές Προτεραιότητας
Ενότητα 7 Ουρές Προτεραιότητας ΗΥ240 - Παναγιώτα Φατούρου Ουρές Προτεραιότητας Θεωρούµε ένα χώρο κλειδιών U και έστω ότι µε κάθε κλειδί Κ (τύπου Key) έχει συσχετισθεί κάποια πληροφορία Ι (τύπου Type).
Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Λεξικό, Union Find ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό
Συντομότερες Διαδρομές
Συντομότερες Διαδρομές Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Συντομότερη Διαδρομή Κατευθυνόμενο G(V, E, w) με μήκη Μήκος διαδρομής
Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο
Σχεδίαση Αλγορίθμων Άπληστοι Αλγόριθμοι http://delab.csd.auth.gr/~gounaris/courses/ad 1 Άπληστοι αλγόριθμοι Προβλήματα βελτιστοποίησης ηςλύνονται με μια σειρά επιλογών που είναι: εφικτές τοπικά βέλτιστες
σωροί ταξινόμηση σωρού οόροςheap σωρός (heap) συστοιχία Α για έναν σωρό μια δομή δεδομένων που πχ.
Παύλος Εφραιμίδης άλλος ένας αλγόριθμος ταξινόμησης πολυπλοκότητας O(n lgn) Ιδιαίτερα χαρακτηριστικά: χρησιμοποιεί μια δομή δεδομένων που ονομάζεται «σωρός» είναι επιτόπια: το πλήθος των στοιχείων της
Ουρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης
Ουρές Προτεραιότητας: Υπενθύμιση Σωροί / Αναδρομή / Ταξινόμηση Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς (Abstract Data Type) με μεθόδους: Μπορεί να υλοποιηθεί με
Ελαφρύτατες διαδρομές
Ελαφρύτατες διαδρομές Ελαφρύτατες διαδρομές Κατευθυνόμενο γράφημα Συνάρτηση βάρους Ελαφρύτατη διαδρομή από το u στο v : διαδρομή με και ελάχιστο βάρος s 3 t 7 x 5 3 y z Βάρος ελαφρύτατης διαδρομής εάν
Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Λεξικό, Union Find ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαχείριση ιαμερίσεων Συνόλου Στοιχεία
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 19/10/2017 Ανακεφαλαίωση:
Δομές Δεδομένων. Δημήτρης Μιχαήλ. Υλοποίηση Δυαδικού Σωρού σε γλώσσα Java. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Υλοποίηση Δυαδικού Σωρού σε γλώσσα Java Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Σωρός Μεγίστου ως ΑΤΔ Ένας σωρός μεγίστου (max heap) είναι ένας ΑΤΔ που
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 4/11/2016 Ανακεφαλαίωση:
υαδικά έντρα Αναζήτησης
ηµήτρης Φωτάκης Τµήµα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστηµάτων Πανεπιστήµιο Αιγαίου υαδικά έντρα µε ρίζα. Κάθε εσωτερικός κόµβος περιέχει στοιχείο (αριθµό) και έχει δύο παιδιά. NULL-φύλλα
Βασικές Έννοιες Θεωρίας Γραφημάτων
Βασικές Έννοιες Θεωρίας Γραφημάτων Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων
ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί
Σχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα.0 Σταύρος Δ. Νικολόπουλος 06-7 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Ταξινόμηση Selection-Sort Bubble-Sort και
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ουρές προτεραιότητας Κεφάλαιο 9. Ε. Μαρκάκης Επίκουρος Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Ουρές προτεραιότητας Κεφάλαιο 9 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Ουρές προτεραιότητας Στοιχειώδεις υλοποιήσεις Δοµή δεδοµένων σωρού Αλγόριθµοι σε σωρούς Ο αλγόριθµος heapsort Δοµές
Συντομότερες ιαδρομές
Συντομότερες ιαδρομές ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Συντομότερη ιαδρομή Κατευθυνόμενο G(V, E, w) με μήκη Μήκος διαδρομής Απόσταση d(u,
Συντομότερες Διαδρομές
Συντομότερη Διαδρομή Συντομότερες Διαδρομές Διδάσκοντες: Σ Ζάχος, Δ Φωτάκης Επιμέλεια διαφανειών: Δ Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Κατευθυνόμενο G(V, E, w) με μήκη Μήκος
Αναζήτηση Κατά Πλάτος
Αναζήτηση Κατά Πλάτος ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων (π.χ. δίκτυα συνεκτικότητα,
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ: ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 1. α. Να βάλετε σε αύξουσα σειρά μεγέθους τις παρακάτω συναρτήσεις χρονικής πολυπλοκότητας αλγορίθμων: nlogn, n logn,
Βασικές Έννοιες Θεωρίας Γραφημάτων
Βασικές Έννοιες Θεωρίας Γραφημάτων ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση
Ελάχιστο Συνδετικό Δέντρο
Ελάχιστο Συνδετικό Δέντρο Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Ελάχιστο Συνδετικό Δέντρο (MST) Συνεκτικό μη-κατευθ. G(V, E, w) με βάρη Βάρος
Αλγόριθµοι Γραφηµάτων
Αλγόριθµοι Γραφηµάτων Παύλος Σπυράκης Πανεπιστήµιο Πατρών Τοµέας Θεµελιώσεων και Εφαρµογών της Επιστήµης των Υπολογιστών Ερευνητικό Ακαδηµαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Γραφήµατα Μοντελοποίηση
Αναζήτηση Κατά Πλάτος
Αναζήτηση Κατά Πλάτος Επιµέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήµατα Μοντελοποίηση πολλών σηµαντικών προβληµάτων (π.χ. δίκτυα
Ελάχιστο Συνδετικό έντρο
Ελάχιστο Συνδετικό έντρο ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Ελάχιστο Συνδετικό έντρο (MST) Συνεκτικό μη-κατευθ. G(V, E, w) με βάρη Βάρος
Αλγόριθμοι Ταξινόμησης Μέρος 3
Αλγόριθμοι Ταξινόμησης Μέρος 3 Μανόλης Κουμπαράκης 1 Ταξινόμηση με Ουρά Προτεραιότητας Θα παρουσιάσουμε τώρα δύο αλγόριθμους ταξινόμησης που χρησιμοποιούν μια ουρά προτεραιότητας για την υλοποίηση τους.
Αναζήτηση Κατά Πλάτος
Αναζήτηση Κατά Πλάτος Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων (π.χ. δίκτυα
Αλγόριθμοι Αναζήτησης
Αλγόριθμοι Αναζήτησης ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες
Συντομότερες ιαδρομές
Συντομότερες ιαδρομές ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό
Εισαγωγή στους Αλγορίθμους
Εισαγωγή στους Αλγορίθμους Ενότητα 3η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Απλοί Αλγόριθμοι & Δομές Δεδομένων Δύο Απλές
ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 9: Άπληστοι Αλγόριθμοι. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 9: Άπληστοι Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Merge Sort (Ταξινόμηση με συγχώνευση) 6/14/2007 3:04 AM Merge Sort 1
Merge Sort (Ταξινόμηση με συγχώνευση) 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 6/14/2007 3:04 AM Merge Sort 1 Κύρια σημεία για μελέτη Το παράδειγμα του «διαίρει και βασίλευε» ( 4.1.1) Merge-sort
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 26 Ιουνίου 201 1 / Απληστοι (Greedy) Αλγόριθµοι
Αλγόριθμοι Eλάχιστα μονοπάτια
Αλγόριθμοι Eλάχιστα μονοπάτια Μάρθα Σιδέρη Προτεινόμενη βιβλιογραφία: S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani «Αλγόριθμοι» Κλειδάριθμος 009 Κεφάλαιο. http://www.cs.berkeley.edu/~vazirani/algorithms/chap.pdf
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Μαΐου 201 1 / Απληστοι (Greedy) Αλγόριθµοι
ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις
ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις Δημήτρης Φωτάκης Διακριτά Μαθηματικά και Μαθηματική Λογική Πληροφορική Ελληνικό Ανοικτό Πανεπιστήμιο Δέντρα Δέντρο: πρότυπο ιεραρχικής δομής. Αναπαράσταση (ιεραρχικών)
Δομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 1 Εισαγωγή 1 / 14 Δομές Δεδομένων και Αλγόριθμοι Δομή Δεδομένων Δομή δεδομένων είναι ένα σύνολο αποθηκευμένων
Δομές Δεδομένων. Ενότητα 10: Πλήρη Δυαδικά Δέντρα, Μέγιστα/Ελάχιστα Δέντρα & Εισαγωγή στο Σωρό- Ο ΑΤΔ Μέγιστος Σωρός. Καθηγήτρια Μαρία Σατρατζέμη
Ενότητα 10: Πλήρη Δυαδικά Δέντρα, Μέγιστα/Ελάχιστα Δέντρα & Εισαγωγή στο Σωρό- Ο ΑΤΔ Μέγιστος Σωρός Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Διαίρει-και-Βασίλευε Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική
Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών
Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών Αλγόριθμοι και πολυπλοκότητα Στάθης Ζάχος, Δημήτρης Φωτάκης Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Ελάχιστο Συνδετικό Δέντρο
Ελάχιστο Συνδετικό Δέντρο Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Ελάχιστο Συνδετικό Δέντρο
Αλγόριθμοι ταξινόμησης
Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης BuubleSort, SelectionSort, InsertionSort, Merger Sort, Quick Soft ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων & Αλγόριθμοι
Ουρές Ουρές Περίληψη Η ΟυράΑΔΤ Υλοποίηση με κυκλικό πίνακα Αυξανόμενη Ουρά βασισμένη σε πίνακα Interface ουράς στην C++ Η Ουρά ADT Η ΑΔΤ Ουρά αποθηκεύει αυθαίρετα αντικείμενα Οι εισαγωγές και διαγραφές
Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1
Διαίρει-και-Βασίλευε Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική μέθοδος
Heapsort Using Multiple Heaps
sort sort Using Multiple s. Λεβεντέας Χ. Ζαρολιάγκης Τµήµα Μηχανικών Η/Υ & Πληροφορικής 29 Αυγούστου 2008 sort 1 Ορισµός ify Build- 2 sort Πως δουλεύει Ιδιότητες 3 4 Προβλήµατα Προτάσεις Ανάλυση Κόστους
Ελάχιστο Συνδετικό Δέντρο
Ελάχιστο Συνδετικό Δέντρο Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Ελάχιστο Συνδετικό Δέντρο
Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Αναζήτηση Κατά Βάθος ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναζήτηση Κατά Βάθος (DFS) Εξερεύνηση
Δομές Δεδομένων - Εργαστήριο 5. Ουρές Προτεραιότητας
Ουρές Προτεραιότητας Ουρά Προτεραιότητας (Priority Queue) Μια συλλογή αντικειμένων που χαρακτηρίζονται από μια συγκρίσιμη προτεραιότητα. Έχει την λογική εικόνα μιας δομής δεδομένων όπου, αντικείμενα εισέρχονται
Δομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 17 Σωροί (Heaps) έκδοση 10 1 / 19 Heap Σωρός Ο σωρός είναι μια μερικά ταξινομημένη δομή δεδομένων που υποστηρίζει