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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Στόχος του παρόντος κεφαλαίου είναι η παρουσίαση µιας κατηγορίας γραφηµάτων µε ιδιαίτερες εφαρµογές στην επιστήµη των υπολογιστών: τα δέντρα."

Transcript

1 ÓÙÚ ÎÔapplefi Στόχος του παρόντος κεφαλαίου είναι η παρουσίαση µιας κατηγορίας γραφηµάτων µε ιδιαίτερες εφαρµογές στην επιστήµη των υπολογιστών: τα δέντρα. Η εξοικείωση µε τη δοµή αυτή και τις ιδιότητές της, καθώς και η παρουσίαση αλγορίθµων αξιοποίησης της πληροφορίας που µπορεί να αποθηκεύεται στις κορυφές των δέντρων, είναι από τους κύριους στόχους του παρόντος κεφαλαίου. Στις ενότητες του παρόντος κεφαλαίου και ιδιαίτερα στην ενότητα 5.1 αναπτύσσονται οι βασικές έννοιες που αφορούν τα δέντρα, δίνονται και αποδεικνύονται εναλλακτικοί τρόποι χαρακτηρισµού των δέντρων ως γραφήµατα ιδιαίτερου τύπου. Στην ενότητα 5.2 αναπτύσσεται η έννοια των συνδετικών δέντρων και παρουσιάζονται αλγόριθµοι διάσχισης δέντρων. Η ίδια ενότητα παρουσιάζει το πρόβληµα εύρεσης ελάχιστων συνδετικών δέντρων σε γραφήµατα µε βάρη. Στην ενότητα 5.3 παρουσιάζεται µια ιδιαίτερη κατηγορία δέντρων: τα δυαδικά δέντρα. Παρουσιάζονται αλγόριθµοι διάσχισης δυαδικών δέντρων και τα δυαδικά δέντρα αναζήτησης πληροφορίας. 5 º π ÚÔÛ ÔÎÒÌÂÓ AappleÔÙÂÏ ÛÌ Ù Η µελέτη του παρόντος κεφαλαίου και η αποσαφήνιση των εννοιών που ορίζονται σε αυτό θα σας δώσει τη δυνατότητα: Χαρακτηρισµού ενός γραφήµατος ως δέντρου Εντοπισµού και χαρακτηρισµού των «συστατικών» ενός δέντρου Ανάπτυξης και εφαρµογής αλγορίθµων για την αξιοποίηση πληροφορίας σε δέντρα Εύρεσης συνδετικών δέντρων σε γραφήµατα Εύρεσης ελάχιστων συνδετικών δέντρων σε γραφήµατα µε βάρη Οργάνωσης πληροφορίας σε δυαδικά δέντρα αναζήτησης Αναζήτησης πληροφορίας σε δυαδικά δέντρα αναζήτησης ιάσχισης δυαδικών δέντρων για την ανίχνευση της πληροφορίας που αποθηκεύεται στις κορυφές αυτών

2 152 KEºA AIO 5: E π À π π ªπ ŒÓÓÔÈ ÎÏÂÈ È δέντρο δέντρο µε ρίζα επίπεδο κορυφής ύψος δέντρου υπο δέντρο πατέρας κορυφής συγγενείς κορυφές παιδί κορυφής τερµατική κορυφή εσωτερική κορυφή κορυφή διακλάδωσης συνδετικό δέντρο ελάχιστο συνδετικό δέντρο διάσχιση γραφήµατος κατά βάθος διάσχιση κατά πλάτος διάσχιση αλγόριθµος Prim δυαδικό δέντρο πλήρες δυαδικό δέντρο δυαδικό δέντρο αναζήτησης προδιατεταγµένη διάσχιση δυαδικών δέντρων ενδοδιατεταγµένη διάσχιση δυαδικών δέντρων

3 5.1 ƒ π π à ƒ ƒπ ª ƒø ÚÔÏÔÁ Î È Ã Ú ÎÙËÚÈÛÌfi ÓÙÚˆÓ ÎÔapplefi Στόχος της παρούσας ενότητας είναι η παρουσίαση των βασικών εννοιών, της ορολογίας των συστατικών των δέντρων και η παρουσίαση των ιδιαίτερων χαρακτηριστικών που επιτρέπουν το χαρακτηρισµό ενός γραφήµατος ως δέντρου. ÚÔÛ ÔÎÒÌÂÓ AappleÔÙÂÏ ÛÌ Ù Η µελέτη της παρούσας ενότητας θα σας δώσει τη δυνατότητα: Χαρακτηρισµού ενός γραφήµατος ως δέντρου, Εντοπισµού και χαρακτηρισµού των «συστατικών» ενός δέντρου, Χρήσης των ιδιαίτερων χαρακτηριστικών των δέντρων για την περαιτέρω απόδειξη ιδιοτήτων που τα χαρακτηρίζουν. ŒÓÓÔÈ ÎÏÂÈ È δέντρο δέντρο µε ρίζα επίπεδο κορυφής ύψος δέντρου υπό δέντρο πατέρας κορυφής συγγενείς κορυφής παιδί κορυφής τερµατική κορυφή εσωτερική κορυφή κορυφή διακλάδωσης Ορισµός 5.1 έντρο (tree) τ είναι απλό γράφηµα, όπου εάν και δύο κορυφές στο τ, τότε υπάρχει ένα µοναδικό απλό µονοπάτι από την στη.

4 154 KEºA AIO 5: ƒ Ú ÂÈÁÌ 5.1 Παράδειγµα δέντρου είναι το γράφηµα τ του σχήµατος 5.1. v 4 v 7 v 9 Ì 5.1 έντρο Τ T v 8 0 Τις περισσότερες φορές σε ένα δέντρο χαρακτηρίζουµε µια κορυφή ως «ρίζα» του δέντρου. Οι υπόλοιπες κορυφές του, σε αντίθεση µε τα πραγµατικά δέντρα, «κρέ- µονται» από τη ρίζα. Ορισµός 5.2 έντρο µε ρίζα (rooted tree) είναι δέντρο, στο οποίο µια ιδιαίτερη κορυφή του χαρακτηρίζεται σαν ρίζα του δέντρου. Κατ αυτό τον τρόπο, η σχεδίαση ενός δέντρου µε ρίζα γίνεται από πάνω προς τα κάτω, σε αντίθεση µε τα πραγµατικά δέντρα όπου η ρίζα βρίσκεται στο κάτω µέρος του δέντρου και τα φύλλα επάνω. Ú ÂÈÁÌ 5.2 Παράδειγµα δέντρου µε ρίζα είναι το δέντρο του σχήµατος 5.2. Αυτό είναι το δέντρο του σχήµατος 5.1, µε την κορυφή σαν ρίζα αυτού. v 4 v 7 Ì 5.2 v 8 v 9 έντρο τ µε ρίζα 0

5 5.1 ƒ π π Ã ƒ ƒπ ª ƒø 155 Παρατηρήστε ότι σχηµάτισα το δέντρου του σχήµατος 5.2 ως εξής: Σχεδίασα τη ρίζα και αµέσως κάτω από αυτή, στο ίδιο θα λέγαµε επίπεδο, τις κορυφές του γραφήµατος (, v 4,, v 7 ) που απέχουν απόσταση ίση µε ένα (1) από τη ρίζα. Στη συνέχεια τοποθέτησα τις κορυφές που είναι γειτονικές των κορυφών του 1ου επιπέδου και που απέχουν απόσταση ίση µε δύο (2) από τη ρίζα, κοκ. Κατ αυτόν τον τρόπο η κάθε κορυφή τοποθετείται σε ένα «επίπεδο» που εξαρτάται από την απόσταση της κορυφής από τη ρίζα του δέντρου. Παρατηρήστε ότι µια κορυφή v δεν µπορεί να βρίσκεται σε περισσότερα του ενός επιπέδα, εφόσον αυτή συνδέεται µε τη ρίζα του δέντρου µε ένα µοναδικό και απλό µονοπάτι. Ορισµός 5.3 Επίπεδο (level) κορυφής v σε δέντρο τ µε ρίζα καλείται το µήκος του απλού µονοπατιού από τη ρίζα του δέντρου στην κορυφή v. Ορισµός 5.4 Ύψος (hight) δέντρου είναι ο µεγαλύτερος αριθµός επίπεδου κορυφής στο δέντρο. Ú ÂÈÁÌ 5.3 Η ρίζα του δέντρου στο σχήµα 5.2 είναι η κορυφή, που βρίσκεται στο επίπεδο 0 του δέντρου. Οι κορυφές, v 4,, v 7 είναι τοποθετηµένες στο επίπεδο 1 κοκ. Το ύψος του δέντρου του σχήµατος 5.2 είναι ίσο µε 3. Πριν προχωρήσω να εξετάσω ιδιαίτερα χαρακτηριστικά των δέντρων ως γραφηµάτων και δώσω εναλλακτικούς χαρακτηρισµούς των δέντρων, θα ήταν χρήσιµο να δοθεί κάποια βασική ορολογία των «συστατικών» των δέντρων, ώστε να αποκτήσουµε ένα κοινό λεξιλόγιο. Την ορολογία που χρησιµοποιώ στον ορισµό 5.5 την έχουµε δανειστεί από τα γνωστά, λίγο πολύ, σε όλους µας γενεαλογικά δέντρα. Ορισµός 5.5: Έστω τ δέντρο µε ρίζα v. Έστω (v,,,, v n ) ένα απλό µονοπάτι στο τ και έστω x, w, z κορυφές του τ στο παραπάνω µονοπάτι. Τότε (α) Η κορυφή v n 1 καλείται πατέρας (father) της v n.

6 156 KEºA AIO 5: ƒ (β) Οι κορυφές v,,, v n 1 καλούνται πρόγονοι (ancestor) της v n. (γ) Η v n καλείται παιδί (child) της v n 1. (δ) Εάν η x είναι πρόγονος της w, τότε η w καλείται απόγονος (predecessors) της x. (ε) Εάν x και w είναι παιδιά της z, τότε οι x και w καλούνται συγγενείς (relatives). (στ) Εάν η x δεν έχει παιδιά, τότε η x καλείται τερµατική (terminal vertex) κορυφή (ή φύλλο) του δέντρου. (ζ) Εάν η x δεν είναι τερµατική, τότε η x καλείται εσωτερική (internal vertex) κορυφή ή κορυφή διακλάδωσης (branching vertex). (η) Ένα υπό δέντρο (sub tree) του τ µε ρίζα x είναι το γράφηµα µε σύνολο κορυφών V = {w w απόγονος της x} και σύνολο ακµών Ε = {e e είναι ακµή σε ένα απλό µονοπάτι από τη x σε κάποια κορυφή του V}. Ú ÂÈÁÌ 5.4 Γιάννης Nίκος Mαρία Tασία Aθηνά Ì 5.3 Γιώργος ηµήτρης Aλίκη Zωή Γενεαλογικό δέντρο Στέφανος Στο γενεαλογικό δέντρο του σχήµατος 5.3, το οποίο ως γράφηµα είναι ισόµορφο του δέντρου στο σχήµα 5.2, παρατηρούµε ότι: ο Γιάννης είναι πατέρας του Νίκου, της Μαρίας, της Τασίας, της Αθηνάς και πρόγονος του Γιώργου, του ηµήτρη, της Αλίκης, του Στέφανου και της Ζωής. Η Αθηνά και η Μαρία είναι συγγενείς, εφόσον έχουν τον ίδιο πατέρα, ενώ η Αλίκη και η Ζωή είναι παιδιά της Αθηνάς και απόγονοι του Γιάννη. Τέλος, οι κορυφές Γιώργος, ηµήτρης, Αλίκη και Στέφανος δεν έχουν παιδιά και εποµένως αποτελούν τερµατικές κορυφές του δέντρου, ενώ οι υπόλοιπες

7 5.1 ƒ π π Ã ƒ ƒπ ª ƒø 157 κορυφές είναι κορυφές διακλάδωσης (εσωτερικές κορυφές). Το υπό δέντρο του δέντρου στο σχήµα 5.3 µε ρίζα την κορυφή Αθηνά είναι αυτό που πλαισιώνεται µε την γκρίζα γραµµή και έχει σύνολο κορυφών V = {Αθηνά, Αλίκη, Ζωή, Στέφανος} και σύνολο ακµών Ε = (e η e συµµετέχει σε ένα µονοπάτι από τη ρίζα Αθηνά του υπο δέντρου, σε οποιαδήποτε κορυφή του V}. Το θεώρηµα 5.1 παρακάτω αποδεικνύει την ισχύ διαφορετικών, ισοδύναµων χαρακτηρισµών ενός δέντρου. Θεώρηµα 5.1 Έστω τ γράφηµα µε ν κορυφές. Τα ακόλουθα είναι ισοδύναµα: (α) τ είναι δέντρο (β) τ είναι συνδεόµενο και ακυκλικό γράφηµα (γ) τ είναι συνδεόµενο γράφηµα µε (ν 1) ακµές και (δ) τ είναι ακυκλικό γράφηµα µε (ν 1) ακµές. Απόδειξη (εάν (α) τότε (β)) Έστω τ δέντρο. Τότε από τον ορισµό του δέντρου, για κάθε ζεύγος κορυφών v και w του τ υπάρχει ένα απλό µονοπάτι που τις συνδέει. Συνεπώς, το γράφηµα τ είναι συνδεόµενο. Έστω ότι το τ περιέχει τουλάχιστον έναν κύκλο Κ. Τότε το τ περιέχει ένα απλό κύκλο Κ = (v 0,,, v n ), µε v 0 = v n (Άσκηση Αυτοαξιολόγησης 4.5). Αφού το τ είναι απλό γράφηµα, δεν περιέχει ανακυκλώσεις και φυσικά ούτε παράλληλες ακµές. Συνεπώς, ο κύκλος Κ περιέχει τουλάχιστον δύο διακριτές κορυφές v i, v j, i < j. Τότε, τα P 1 = (v i, v i+1,, v j ) και P 2 = (v i, v i 1,, v 0, v n 1,, v j ) είναι διαφορετικά απλά µονοπάτια από την v i στη v j. Η ύπαρξη δύο µονοπατιών µεταξύ των δύο διακριτών κορυφών και το γεγονός ότι το τ είναι δέντρο οδηγεί σε άτοπο. Άρα, το δέντρο τ είναι ακυκλικό γράφηµα. (εάν (β) τότε (γ)). Έστω ότι το τ είναι ένα ακυκλικό και συνδεόµενο γράφηµα µε ν κορυφές. Θα δείξουµε επαγωγικά ως προς τον αριθµό των κορυφών του ότι έχει ν 1 ακµές. Βασικό βήµα. Για i = 1, το τ έχει µια κορυφή και καµία (δηλαδή i 1) ακµή. Συνεπώς, ο ισχυρισµός ισχύει στην περίπτωση αυτή. Επαγωγικό βήµα. Υποθέτουµε ότι ο παραπάνω ισχυρισµός ισχύει για i = ν.

8 158 KEºA AIO 5: ƒ Θα δείξουµε ότι, αν το τ είναι συνδεόµενο και ακυκλικό γράφηµα µε ν + 1 κορυφές, τότε το τ θα έχει ν ακµές. Έστω ρ απλό µονοπάτι στο τ µε το µεγαλύτερο δυνατό µήκος. Εφόσον το τ είναι ακυκλικό γράφηµα, το ρ δεν είναι κύκλος. Εποµένως, το ρ περιέχει κορυφή v µε βαθµό 1. Έστω Τ * το γράφηµα που προκύπτει, εάν από το τ αφαιρέσουµε τη v και την εφαπτοµένη σε αυτή ακµή. Τότε, το Τ* είναι συνδεόµενο και ακυκλικό γράφηµα µε ν κορυφές. Από την υπόθεση του επαγωγικού βήµατος έπεται ότι το Τ* έχει (ν 1) ακµές. Άρα, το γράφηµα τ έχει ν ακµές. (εάν (γ) τότε (δ)) Έστω ότι το τ είναι συνδεόµενο γράφηµα µε ν κορυφές και ν 1 ακµές. Θα δείξουµε ότι το τ είναι ακυκλικό γράφηµα. Έστω ότι το τ περιέχει τουλάχιστον έναν κύκλο. Αφαιρώντας µια ακµή από έναν κύκλο, το γράφηµα δεν καθίσταται ασύνδετο. Άρα, µπορούµε να αφαιρέσουµε ακµές δίχως να αφαιρέσουµε κορυφές, έως ότου προκύψει γράφηµα Τ * ακυκλικό και συνδεόµενο. Το γράφηµα που προκύπτει έχει ν κορυφές και από την απόδειξη του βήµατος (αν β τότε γ) παραπάνω, θα πρέπει να έχει (ν 1) ακµές. Τότε, όµως, το τ θα πρέπει να έχει περισσότερες από ν 1 ακµές. Αυτό, σύµφωνα µε την υπόθεσή µας, είναι άτοπο. Άρα, το τ είναι ακυκλικό γράφηµα. (εάν (δ) τότε (α)). Έστω ότι το τ είναι ακυκλικό γράφηµα µε ν 1 ακµές. Τότε θα δείξω ότι το γράφηµα τ είναι δέντρο. ηλαδή θα δείξω ότι το τ είναι ένα απλό γράφηµα και ότι για κάθε ζεύγος κορυφών του υπάρχει ένα µοναδικό, απλό µονοπάτι που τις συνδέει. Το γράφηµα τ δεν περιέχει ανακυκλώσεις και παράλληλες ακµές, γιατί από την υπόθεση είναι ακυκλικό. Συνεπώς, το τ είναι ένα απλό γράφηµα. Έστω ότι το τ δεν είναι συνδεόµενο και εποµένως έχει τουλάχιστον δύο τµήµατα. Τ 1, Τ 2,, Τ κ, τα τµήµατα του Τ. Εφόσον το τ δεν είναι συνδεόµενο, τότε κ > 1. Έστω ότι κάθε υπό γράφηµα Τ i έχει ν i κορυφές. Αφού κάθε τµήµα Τ i είναι ένα συνδεό- µενο και ακυκλικό γράφηµα, τότε σύµφωνα µε το (γ) παραπάνω µπορούµε να αποφανθούµε ότι το Τ i έχει ν i 1 ακµές. Τότε το άθροισµα των κορυφών του τ είναι ίσο µε το άθροισµα των κορυφών των τµηµάτων του. Το αντίστοιχο ισχύει για τις ακµές του Τ. Συνεπώς: Για τις ακµές ισχύει ότι: ν 1 = (ν 1 1) + (ν 2 1) +, + (ν κ 1) Για τις κορυφές ισχύει ότι: ν = (ν 1 + ν 2 +, + ν κ ) Με βάση τις παραπάνω σχέσεις ισχύει ότι:

9 5.1 ƒ π π Ã ƒ ƒπ ª ƒø 159 ν 1 = (ν 1 1) + (ν 2 1) +, + (ν κ 1) < (ν 1 + ν 2 +, + ν κ ) 1 = ν 1. Αυτό είναι άτοπο. Συνεπώς, το τ δεν µπορεί να έχει περισσότερα του ενός τµήµατα, δηλαδή το τ είναι συνδεόµενο γράφηµα. Επιπλέον, για να δείξω ότι το τ είναι δέντρο, θα πρέπει να δείξω ότι για κάθε ζεύγος διακριτών κορυφών και υπάρχει µοναδικό µονοπάτι που τις συνδέει. Έστω δύο διακριτά µονοπάτια Ρ 1 και Ρ 2 από την στη, όπως αυτά φαίνονται στο σχήµα 5.4. P 2 x w u P 2 Ì 5.4 Μονοπάτια Ρ 1 και Ρ 2 από τη στη Όπως φαίνεται στο σχήµα 5.4, έστω w η πρώτη κορυφή στο Ρ 1 µετά την που δεν βρίσκεται στο Ρ 2. Έστω x κορυφή πριν την w και u η πρώτη κορυφή µετά την w, τέτοιες ώστε να βρίσκονται στο Ρ 1 και στο Ρ 2. Έστω (v 0,,,, v n 1, v n ) το κοµ- µάτι του Ρ 1 από την x = v 0 στην u = v n. Έστω δε, (w 0, w 1, w 2,, w m 1, w m ) το κοµ- µάτι του Ρ 2 από την x = w 0 στη u = w m. Τότε, όµως, το µονοπάτι (v 0,,,, v n 1, v n = w m, w m 1,, w 1, w 0 ) είναι ένας κύκλος στο γράφηµα Τ. Αυτό είναι άτοπο, διότι έχουµε υποθέσει ότι τ είναι ακυκλικό γράφηµα. Άρα, για κάθε ζευγάρι κορυφών και υπάρχει ένα απλό και µοναδικό µονοπάτι που να τις συνδέει. Εποµένως, το τ είναι δέντρο. είξτε ότι κάθε δέντρο είναι επίπεδο γράφηµα. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 5.1 είξτε ότι κάθε δέντρο είναι διχοτοµίσιµο γράφηµα. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 5.2 Το συνδεόµενο γράφηµα του σχήµατος 5.5 έχει ένα και µοναδικό απλό µονοπάτι µεταξύ κάθε ζεύγους κορυφών του. Το γράφηµα όµως δεν είναι δέντρο. Εξηγήστε γιατί. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 5.3

10 160 KEºA AIO 5: ƒ Ì 5.5 Συνδεόµενο γράφηµα Ú ÛÙËÚÈfiÙËÙ 5.1 Βρείτε το επίπεδο κάθε κορυφής στο δέντρο του σχήµατος 5.6. Βρείτε το ύψος του δέντρου αυτού. Υπόδειξη: Χρησιµοποιήστε τους ορισµούς 5.3 και 5.4 παραπάνω. v 4 ρίζα v 7 v 9 Ì 5.6 έντρο δίχως ρίζα v 8 0 Ú ÛÙËÚÈfiÙËÙ 5.2 Ένα δάσος ορίζεται ως ένα απλό γράφηµα δίχως κύκλους. Εξηγείστε γιατί ένα δάσος είναι µια ένωση δέντρων. Υπόδειξη: Το δάσος µπορεί να είναι µη συνδεόµενο γράφηµα. Χαρακτηρίστε τα τµήµατα του γραφήµατος αυτού. Ú ÛÙËÚÈfiÙËÙ 5.3 είξετε ότι κάθε γράφηµα µε ν κορυφές και λιγότερες από (ν 1) ακµές δεν είναι συνδεόµενο. Υπόδειξη: Πόσες ακµές έχει ένα συνδεόµενο γράφηµα, τουλάχιστον; ÓÔ Ë ÓfiÙËÙ Η ενότητα αυτή παρουσίασε βασικές έννοιες, ιδιότητες και εναλλακτικούς χαρακτηρισµούς µιας ιδιαίτερης κατηγορίας γραφηµάτων: των ακυκλικών και συνδεόµενων γραφηµάτων, δηλαδή των δέντρων

11 5.2 À π ƒ Ó ÂÙÈÎ ÂÓÙÚ ÎÔapplefi Στόχος της παρούσας ενότητας είναι η µελέτη του τρόπου σχηµατισµού των δέντρων που περιέχουν το σύνολο των κορυφών ενός γραφήµατος. Τα δέντρα αυτά καλούνται συνδετικά. Παρουσιάζονται αλγόριθµοι διάσχισης γραφηµάτων για την εύρεση συνδετικών δέντρων σε γραφήµατα και αλγόριθµος εύρεσης ελάχιστου συνδετικού δέντρου σε γραφήµατα µε βάρη. ÚÔÛ ÔÎÒÌÂÓ appleôùâï ÛÌ Ù Η µελέτη της παρούσας ενότητας θα σας καταστήσει ικανούς για την: Ανίχνευση συνδετικών δέντρων σε γραφήµατα, Ανάπτυξη και εφαρµογή αλγορίθµων για τη διάσχιση γραφηµάτων, Εύρεση συνδετικών δέντρων σε γραφήµατα, Εύρεση ελάχιστων συνδετικών δέντρων σε γραφήµατα µε βάρη. ŒÓÓÔÈ ÎÏÂÈ È συνδετικό δέντρο ελάχιστο συνδετικό δέντρο κατά πλάτος διάσχιση γραφήµατος κατά βάθος διάσχιση γραφήµατος αλγόριθµος Prim Θεωρείστε ότι θέλουµε να επισκευάσουµε το οδικό δίκτυο µιας πόλης στο συντο- µότερο δυνατό χρόνο. Σε καµία βέβαια περίπτωση δεν πρέπει να αφήσουµε σηµεία στην πόλη που δεν είναι προσβάσιµα. Εποµένως, θα πρέπει κάθε φορά να κλείνου- µε για επισκευές τους περισσότερους δυνατούς δρόµους, εφόσον (αν βέβαια αυτό είναι δυνατό) οι δρόµοι που µένουν σε λειτουργία δεν καθιστούν κάποιο σηµείο στην πόλη µη προσβάσιµο. Αν µοντελοποιήσουµε το οδικό δίκτυο µε ένα γράφηµα, τότε, για να προσδιορίσουµε το τµήµα του δικτύου που πρέπει να δίνεται στην κυκλοφορία, θα πρέπει να προσδιορίσουµε ένα συνδεόµενο υπο γράφηµα του αρχικού γραφήµατος που περιέχει την κάθε κορυφή του αρχικού γραφήµατος. Επίσης, για να ελαχιστοποιήσουµε το χρόνο επιδιόρθωσης θα πρέπει να κάνουµε διορθώσεις στο

12 162 KEºA AIO 5: ƒ µεγαλύτερο δυνατό αριθµό δρόµων κάθε φορά. Εποµένως, το ζητούµενο υπο γράφηµα θα πρέπει να µην περιέχει κύκλους (να µην υπάρχει διπλή/περιττή πρόσβαση σε ένα σηµείο της πόλης). Συνεπώς, το ζητούµενο υπο γράφηµα θα πρέπει να είναι δέντρο που περιέχει όλες τις κορυφές του αρχικού γραφήµατος. Ένα τέτοιο δέντρο καλείται συνδετικό δέντρο γραφήµατος. Ορισµός 5.6: Υπο γράφηµα τ γραφήµατος Γ καλείται συνδετικό (ή επικαλύπτον) δέντρο (spanning tree) του Γ, εάν αυτό είναι δέντρο και περιέχει όλες τις κορυφές του Γ. Ú ÂÈÁÌ 5.5 Στο σχήµα 5.7 φαίνονται δύο συνδετικά δέντρα του γραφήµατος Γ. Αν Γ είναι το οδικό δίκτυο του παραδείγµατος που χρησιµοποίησα στην αρχή της ενότητας, τότε τα δέντρα Τ 1 και Τ 2 δείχνουν τις ακµές που θα πρέπει (τουλάχιστον) να δίνουµε στην κυκλοφορία, ώστε να επισκευάζουµε το µέγιστο αριθµό δρόµων κάθε φορά, δίχως να έχουµε µη προσβάσιµα σηµεία στην πόλη. v 4 v 4 v 4 Γ T 1 T 2 Ì 5.7 Συνδετικά δέντρα Τ 1 και Τ 2 του γραφήµατος Γ Προφανώς, για να υπάρχει συνδετικό δέντρο σε ένα γράφηµα, θα πρέπει το γράφη- µα αυτό να είναι συνδεόµενο. Το θεώρηµα 5.2 αποδεικνύει τον παραπάνω ισχυρισµό, καθώς και τον αντίστροφο. Θεώρηµα 5.2 Γράφηµα Γ έχει συνδετικό δέντρο, εάν και µόνο εάν αυτό είναι συνδεόµενο. Απόδειξη (Æ) Έστω ότι το Γ είναι συνδεόµενο γράφηµα. Εάν αυτό δεν περιέχει κύκλο, τότε είναι δέντρο, και εποµένως το συνδετικό δέντρο του Γ είναι το ίδιο το Γ.

13 5.2 À π ƒ 163 Εάν το Γ περιέχει τουλάχιστον έναν κύκλο, τότε αφαιρούµε ακµές καταστρέφοντας τους κύκλους, έως ότου προκύψει ένα ακυκλικό γράφηµα που συνεχίζει όµως να είναι συνδεόµενο. Κατ αυτό τον τρόπο, το υπο γράφηµα του Γ που προκύπτει είναι συνδεόµενο και ακυκλικό και περιέχει όλες τις κορυφές του Γ. Άρα, είναι συνδετικό δέντρο του Γ. ( ) Έστω ότι το γράφηµα Γ έχει συνδετικό δέντρο. Τότε, το δέντρο αυτό περιέχει όλες τις κορυφές του Γ και είναι ένα συνδεόµενο υπογράφηµα του Γ. Συνεπώς, και το Γ είναι συνδεόµενο γράφηµα. Για την εύρεση ενός συνδετικού δέντρου σε γράφηµα Γ µπορούµε να χρησιµοποιήσουµε την κατά πλάτος (breadth first traversal) ή την κατά βάθος (depth first traversal) διάσχιση του γραφήµατος. Με τον όρο «διάσχιση» (traversal) εννοούµε τη συστηµατική επίσκεψη των κορυφών του γραφήµατος. Η ιδέα της κατά πλάτους διάσχισης είναι να σχηµατίσουµε το συνδετικό δέντρο ανά επίπεδο, επισκεπτόµενοι δηλαδή όλες τις κορυφές του γραφήµατος που αποτελούν κορυφές του ίδιου επιπέδου στο συνδετικό δέντρο, προχωρώντας στο επόµενο επίπεδο κ.ο.κ. Ο αλγόριθµος της κατά πλάτους διάσχισης για την εύρεση συνδετικού δέντρου σε συνδεόµενο γράφηµα είναι ο εξής: Αλγόριθµος 5.1: Κατά πλάτος διάσχιση γραφήµατος Είσοδος: Συνδεόµενο γράφηµα Γ = (V, E) και διάταξη (,,, v n ) στις κορυφές του. Έξοδος: Συνδετικό δέντρο Τ procedure Î Ù appleï ÙÔ È Û ÈÛË(V, E) /* V = Û ÓÔÏÔ ÎÔÚ ÊÒÓ ÙÔ ; E = Û ÓÔÏÔ ÎÌÒÓ ÙÔ */ /* V' = Û ÓÔÏÔ ÎÔÚ ÊÒÓ ÙÔ Û Ó ÂÙÈÎÔ ÓÙÚÔ ; E' = Û ÓÔÏÔ ÎÌÒÓ ÙÔ Û Ó ÂÙÈÎÔ ÓÙÚÔ */ /* Ú ÙÔ Û Ó ÂÙÈÎÔ ÓÙÚÔ */ /* S : È ÙÂÙ ÁÌ ÓË Ï ÛÙ ÎÔÚ ÊÒÓ ÙÔ ÙÂÏÂ Ù Ô ÂappleÈapple Ô ÙÔ Û Ó ÂÙÈÎÔ ÓÙÚÔ. */ S:= ( ) V':={ }

14 164 KEºA AIO 5: ƒ E'= while true do begin È Î ıâ x ÛÙÔ S, Û ÌÊˆÓ Ì ÙË È Ù ÍË, È Î ıâ y ÛÙÔ (V V'), Û ÌÊˆÓ Ì ÙË È Ù ÍË, Ó (x, y) Â Ó È Ì ÏÔ ÙÔ E, ÙfiÙ appleúfiûıâûâ ÙÔ (x, y) ÛÙÔ E' Î È ÙÔ y ÛÙÔ V' Ó ÂÓ appleúôûù ıëî Ó Ó Â ÎÌ ÛÙÔ ', ÙfiÙ return(t) S:= apple È È ÙˆÓ ÛÙÔÈ Â ˆÓ ÙÔ S È ÙÂÙ ÁÌ Ó Û ÌÊˆÓ Ì ÙË È Ù ÍË ÙˆÓ apple Ù ÚˆÓ ÙÔ. end end Î Ù appleï ÙÔ È Û ÈÛË Ú ÂÈÁÌ 5.6 v 4 Ì 5.8 Συνδεόµενο γράφηµα Στο παράδειγµα αυτό θα δείξω την εφαρµογή του αλγορίθµου της κατά πλάτους διάσχισης στο γράφηµα του σχήµατος 5.8. Για την εφαρµογή του αλγόριθµου απαιτείται µια διάταξη των κορυφών του γραφήµατος, έστω αυτή (,,, v 4,, ). Ως ρίζα του συνδετικού δέντρου θα θεωρήσουµε την πρώτη κορυφή στην προτεινόµενη διάταξη, δηλαδή τη. Συνεπώς, αρχικά V = { } και S = ( ). Η 1η στήλη του πίνακα 5.1 δείχνει την τιµή της S, η 2η στήλη την τιµή της V, η 3η την τιµή της µεταβλητής x, καθώς αυτή διατρέχει τη λίστα S, η 4η στήλη το σύνολο V V, η 5η στήλη την τιµή της µεταβλητής y, καθώς αυτή διατρέχει το σύνολο (V V ) µε σεβασµό στην αρχική διάταξη, η 5η στήλη δείχνει τις ακµές και κορυφές που προστίθενται στο συνδετικό δέντρο και η 6η στήλη δείχνει το συνδετικό δέντρο, όπως αυτό σχηµατίζεται.

15 5.2 À π ƒ 165 Ó Î 5.1 Κατά πλάτος διάσχιση του γραφήµατος στο σχήµα 5.8 S V X V V Y (X,Y) Συνδετικό έντρο ( ) { } (,,v 4,, ) (, ) ( ) {, } (,v 4,, ) (, ) v 4 ( ) {,, } (v 4,, ) v 4 (,v 4 ) v 4 ( ) {,,,v 4 } (, ) v1 v 4 ( ) {,,,v 4 } (, ) v1 {,,v 4 } (τα παιδιά της, διατεταγµένα σύµφωνα µε την αρχική διάταξη) {,,,v 4 } (, ) (, ) v 4 v 4 {,,v 4, } {,,,v 4 } ( ) (, ) {,,v 4, } {,,,v 4 } ( )

16 166 KEºA AIO 5: ƒ Εναλλακτικός τρόπος εύρεσης συνδετικού δέντρου σε συνδεόµενο γράφηµα Γ είναι η διάσχιση κατά βάθος. Ο αλγόριθµος της διάσχισης κατά βάθος για την εύρεση συνδετικού δέντρου σε συνδεόµενο γράφηµα είναι ο εξής: Αλγόριθµος 5.2: Κατά βάθος διάσχιση γραφήµατος Είσοδος: Συνδεόµενο γράφηµα Γ = (V, E) και διάταξη (,,, v n ) στις κορυφές του. Έξοδος: Συνδετικό δέντρο Τ procedure Î Ù ıô È Û ÈÛË (V, E) /* V = Û ÓÔÏÔ ÎÔÚ ÊÒÓ ÙÔ ; E = Û ÓÔÏÔ ÎÌÒÓ ÙÔ */ /* V' = Û ÓÔÏÔ ÎÔÚ ÊÒÓ ÙÔ Û Ó ÂÙÈÎÔ ÓÙÚÔ */ /* E' = Û ÓÔÏÔ ÎÌÒÓ ÙÔ Û Ó ÂÙÈÎÔ ÓÙÚÔ */ /* Ú ÙÔ Û Ó ÂÙÈÎÔ ÓÙÚÔ */ w:= V':={ } E'= while true do begin while apple Ú ÂÈ ÎÌ (w, v) ÙÔ appleô Ë appleúôûı ÎË ÙË ÛÙÔ Ù ÂÓ ËÌÈÔ ÚÁÂ Î ÎÏÔ, begin Âapple ÏÂÍÂ ÎÌ (w, v k ) ÌÂ ÙÔ ÌÈÎÚfiÙÂÚÔ k (ÌÂ ÛÂ ÛÌfi ÛÙË È Ù ÍË ÙˆÓ ÎÔÚ - ÊÒÓ ÙÔ ), Ù ÙÔÈ ÒÛÙÂ Ë appleúôûı ÎË ÙË ÛÙÔ Ù ÂÓ ËÌÈÔ ÚÁÂ Î ÎÏÔ. ÚfiÛıÂÛÂ ÙËÓ (w, v k ) ÛÙÔ E' Î È ÙË v k ÛÙÔ V' w:= v k end if w = then return(t) w := apple Ù Ú ÙË w ÛÙÔ T /* apple ÏÈÓ ÚfiÌÈÛË */ end end Î Ù ıô È Û ÈÛË

17 5.2 À π ƒ 167 Ú ÂÈÁÌ 5.7 Στο παράδειγµα αυτό θα δείξω την εφαρµογή του αλγορίθµου της κατά βάθος διάσχισης στο γράφηµα του σχήµατος 5.8. Για την εφαρµογή του αλγόριθµου απαιτείται µια διάταξη των κορυφών του γραφήµατος, έστω (,,, v 4,, ). Ως ρίζα του συνδετικού δέντρου θα θεωρήσου- µε την πρώτη κορυφή στην προτεινόµενη διάταξη, δηλαδή τη. Συνεπώς, αρχικά V = { } και w =. Η 1η στήλη του πίνακα 5.2 δείχνει την τιµή της w, η 2η στήλη την τιµή της V, η 3η στήλη το σύνολο V V, η 4η στήλη δείχνει τις ακµές και κορυφές που προστίθενται στο συνδετικό δέντρο και η 5η στήλη δείχνει το συνδετικό δέντρο, όπως αυτό σχηµατίζεται. Ó Î 5 Κατά βάθος διάσχιση του δέντρου στο σχήµα 5.8 µε διάταξη κορυφών (,,, v 4,, ). w V V V (X,Y) Συνδετικό έντρο { } (,,v 4,, ) (, ) {, } (,v 4,, ) (, ) {,, } (v 4,, ) (, ) {,,, } (v 4, ) (, ) {,,,, } (v 4 ) (,v 4 ) v 4

18 168 KEºA AIO 5: ƒ Θεωρώντας ως διάταξη κορυφών του γραφήµατος την (,,, v 4,, ), η εκτέλεση του αλγόριθµου της κατά βάθος διάσχισης φαίνεται στον πίνακα 5.3: Ó Î 5.3 Κατά βάθος διάσχιση του δέντρου στο σχήµα 5.8 µε διάταξη κορυφών (,,, v 4,, ) w V V V (X,Y) Συνδετικό έντρο { } (,,v 4,, ) (, ) {, } (,v 4,, ) (, ) {,, } (v 4,, ) (, ) {,,, } (v 4, ) (, ) {,,,, } (v 4 ) παλινδρό- µηση v 4 {,,,, } (v 4 ) (,v 4 )

19 5.2 À π ƒ 169 Θεωρείστε oτι θέλουµε να κατασκευάσουµε το φθηνότερο οδικό δίκτυο µεταξύ ενός αριθµού γεωγραφικών σηµείων. Το οδικό δίκτυο στην περίπτωση αυτή µπορεί να παρασταθεί ως γράφηµα µε βάρη. Οι κορυφές του γραφήµατος παριστούν τα γεωγραφικά σηµεία, οι ακµές τους δυνατούς δρόµους σύνδεσης των γεωγραφικών σηµείων και τα βάρη των ακµών τα κόστη κατασκευής των αντίστοιχων δρόµων. Για την κατασκευή του φθηνότερου οδικού δικτύου θα πρέπει να κατασκευαστούν δρόµοι µε το λιγότερο δυνατό κόστος, έτσι ώστε όλα τα γεωγραφικά σηµεία να είναι προσβάσιµα. Συνεπώς, στο αντίστοιχο γράφηµα, πρέπει να βρούµε ένα συνδεόµενο υπο γράφηµα που να περιέχει όλες τις κορυφές του αρχικού γραφήµατος. Το άθροισµα των βαρών των ακµών του υπό γραφήµατος αυτού θα πρέπει να είναι το µικρότερο δυνατό. Τέλος, στο εν λόγω υπο γράφηµα δεν πρέπει να υπάρχουν κύκλοι, εφόσον η ύπαρξη κύκλου αυξάνει το κόστος κατασκευής, προσθέτοντας επιπλέον πρόσβαση σε ένα σηµείο. Συµπερασµατικά, το ζητούµενο υπο γράφηµα πρέπει να είναι συνδεόµενο, ακυκλικό, να περιέχει όλες τις κορυφές του αρχικού γραφήµατος και να έχει το µικρότερο δυνατό άθροισµα βαρών. Συνεπώς, ζητούµε ένα συνδετικό δέντρο του αρχικού γραφήµατος, µε το µικρότερο δυνατό βάρος. Ορισµός 5.7: Έστω Γ γράφηµα µε βάρη. Ένα ελάχιστο συνδετικό δέντρο (minimum spanning tree) του Γ είναι ένα συνδετικό δέντρο του Γ µε ελάχιστο βάρος (άθροισµα των βαρών των ακµών του). Ú ÂÈÁÌ 5.8 Έστω ο γράφος Γ του σχήµατος 5.9(α). Το δέντρο Τ στο σχήµα 5.9(β) είναι ένα συνδετικό δέντρο του γράφου Γ, µε βάρος 20. Το Τ δεν είναι ένα ελάχιστο συνδετικό δέντρο για τον Γ, αφού το συνδετικό δέντρο Τ, στο σχήµα 5.9(γ), έχει βάρος 12. Ì 5.9 Το συνδετικό δέντρο τ είναι το ελάχιστο συνδετικό δέντρο του γραφήµατος µε βάρη Γ. Το συνδετικό δέντρο Τ έχει µεγαλύτερο βάρος από το βάρος του Τ. 3 3 v 4 v v 4 v 4 Γ T' T (α) (β) (γ)

20 170 KEºA AIO 5: ƒ Ο αλγόριθµος που θα παρουσιάσω για την εύρεση ενός ελάχιστου συνδετικού δέντρου σε συνδεόµενο γράφηµα µε βάρη γράφηµα είναι γνωστός ως αλγόριθµος του Prim. Ο αλγόριθµος του Prim δηµιουργεί δέντρο επιλέγοντας ακµές µε το ελάχιστο δυνατό βάρος από το αρχικό γράφηµα, τέτοιες ώστε η προσθήκη τους στο δέντρο δε δηµιουργεί κύκλο. Η διαδικασία αυτή επαναλαµβάνεται έως ότου προκύψει ένα συνδετικό δέντρο. Αποδεικνύεται ότι το συνδετικό δέντρο που προκύπτει είναι ένα ελάχιστο συνδετικό δέντρο. Αλγόριθµος 5.3: Αλγόριθµος Prim για την εύρεση του ελάχιστου συνδετικού δέντρου σε γράφηµα µε βάρη. Είσοδος: Ένα συνδεόµενο γράφηµα µε βάρη, κορυφές 1,, n, και αρχική κορυφή u. Αν (i, j) ακµή, το βάρος της ακµής (i, j) συµβολίζεται ως w(i, j); αν ή (i, j) δεν είναι ακµή, τότε το w(i, j) είναι ίσο µε. Έξοδος: Το σύνολο των ακµών Ε του ελάχιστου συνδετικού δέντρου (mst). procedure prim(w, n, u) /* v(i) = 1 Ó Ë ÎÔÚ Ê i apple Ú ÂÈ Ë ÛÙÔ ÂÏ ÈÛÙÔ Û Ó ÂÙÈÎfi ÓÙÚÔ*/ /* v(i)=0 Ó Ë ÎÔÚ Ê i ÂÓ ÂÈ appleúôûùâıâ ÛÙÔ applefi Î Ù ÛÎÂ ÂÏ ÈÛÙÔ Û Ó Â- ÙÈÎfi ÓÙÚÔ */ 1. for i:=1 to n do 2. v(i) := 0 3. v(u) :=1 4. E:= 5. For i:=1 to (n 1) 6. begin 7. min:= 8. for j:=1 to n do 9. if v(j)=1 then 10. for k=1 to n do 11. if v(k) = 0 and w(j, k)<min then 12. begin 13. add_vertex:=k

21 5.2 À π ƒ e:=(j, k) 15. min:=w(j, k) 16. end 17.v(add_vertex):=1 18. E:= E»{e} 19.end 20.return(E) 21.end prim Ú ÂÈÁÌ v Ì 5.10 Συνδεόµενο γράφηµα µε βάρη Στο παράδειγµα αυτό θα παρουσιάσω την εφαρµογή του αλγόριθµου Prim στο γράφηµα του σχήµατος Ως αρχική κορυφή θεωρούµε την κορυφή. Σε κάθε βήµα ο αλγόριθµος επιλέγει µεταξύ των ακµών που έχουν µια κορυφή στο υπό κατασκευή δέντρο και µια κορυφή εκτός του δέντρου, την ακµή µε το µικρότερο βάρος. Η επιλογή αυτή γίνεται στο διπλό βρόγχο που περιλαµβάνει τις εντολές Η διαδικασία αυτή επαναλαµβάνεται (ν 1) φορές, όπου ν ο αριθµός των κορυφών του γραφήµατος.

22 172 KEºA AIO 5: ƒ Ó Î 5.4 Εφαρµογή του αλγορίθµου 5.3 στο γράφηµα του σχήµατος 5.10 { } Kορυφές του υπό κατασκευή δέντρου Bάρη των υποψήφιων ακµών w(, v 4 ) = 4 w(, ) = 2 w(, ) = 3 Συνδετικό δέντρο {, } w(, v 4 ) = 4 w(, ) = 3 w(, ) = 3 w(, ) = 1 w(, ) = 6 {,, } w(, v 4 ) = 4 w(, ) = 3 w(, ) = 3 w(, ) = 6 w(, v 4 ) = 4 w(, ) = 3 {,,, } w(, v 4 ) = 4 w(, ) = 6 w(, v 4 ) = 4 w(, ) = 3 w(, ) = 2 {,,,, } w(, v 4 ) = 4 v 4 w(, v 4 ) = 4

23 5.2 À π ƒ 173 ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 5.4 Αν στο γράφηµα του σχήµατος 5.11 οι κορυφές παριστούν πόλεις και οι αριθµοί στις ακµές παριστούν το κόστος κατασκευής του κάθε δρόµου, να βρεθεί (α) ένα σύστηµα δρόµων που µπορεί να συνδέει τις πόλεις, δίχως να δηµιουργούνται κύκλοι στο όλο δίκτυο. (β) Να βρεθεί το φθηνότερο σύστηµα δρόµων που µπορεί να κατασκευαστεί. Παρατηρήστε ότι αυτό δεν µπορεί να περιλαµβάνει κύκλους. α 5 10 β 15 ζ γ δ ε κ Ì 5.11 ίκτυο πόλεων και οι µεταξύ αυτών αποστάσεις. Ú ÛÙËÚÈfiÙËÙ 5.4 Στο γράφηµα του σχήµατος 5.12 εφαρµόστε τον αλγόριθµο της κατά πλάτους διάσχισης και τον αλγόριθµο της κατά βάθους διάσχισης. Υπόδειξη Χρησιµοποιήστε τους πίνακες των παραδειγµάτων 5.6 και 5.7 αντίστοιχα. v 4 v 7 v 8 Ì 5.12 v2 Συνδεόµενο γράφηµα.

24 174 KEºA AIO 5: ƒ Ú ÛÙËÚÈfiÙËÙ 5.5 Εφαρµόστε τον αλγόριθµο του Prim στο γράφηµα µε βάρη του σχήµατος Υπόδειξη Χρησιµοποιήστε τον τρόπο και τον πίνακα που υποδεικνύει το παράδειγµα v 4 Ì 5.13 Γράφηµα µε βάρη ÓÔ Ë ÓfiÙËÙ Η παρούσα ενότητα παρουσίασε την έννοια του συνδετικού δέντρου γραφήµατος. Η έννοια αυτή έχει ιδιαίτερη σηµασία, όταν, δεδοµένου ενός συνδεόµενου γραφήµατος, θέλουµε να βρούµε συνδεόµενο υπογράφηµα αυτού που περιέχει όλες τις κορυφές του, αλλά δεν περιέχει κύκλους. Η ενότητα παρουσιάζει ευρέως χρησιµοποιούµενους αλγόριθµους διάσχισης γραφηµάτων, που χρησιµοποιούνται και για την εύρεση συνδετικών δέντρων σε συνδεόµενα γραφήµατα. Στην περίπτωση γραφηµάτων µε βάρη, µας ενδιαφέρουν τα συνδετικά δέντρα µε το µικρότερο δυνατό συνολικό βάρος. Για τον προσδιορισµό των συνδετικών αυτών δέντρων, η ενότητα παρουσίασε τον αλγόριθµο του Prim.

25 5.3 À π ƒ ÈÎ ÓÙÚ ÎÔapplefi Στόχος της παρούσας ενότητας είναι η παρουσίαση µιας ιδιαίτερα σηµαντικής κατηγορίας δέντρων: δέντρα όπου κάθε κορυφή έχει το πολύ δύο παιδιά. Τα δυαδικά δέντρα είναι ιδιαίτερα σηµαντικά ως δοµή δεδοµένων για την αποθήκευση και την οργάνωση πληροφορίας. Η ενότητα παρουσιάζει βασικές ιδιότητες των δυαδικών δέντρων και αντιπροσωπευτικούς αλγόριθµους για τη διάσχιση των δέντρων αυτών και την αναζήτηση πληροφορίας σε αυτά. ÚÔÛ ÔÎÒÌÂÓ appleôùâï ÛÌ Ù Η µελέτη της παρούσας ενότητας θα σας καταστήσει ικανούς για την: Οργάνωση πληροφορίας σε δυαδικά δέντρα αναζήτησης, Αναζήτηση πληροφορίας σε δυαδικά δέντρα αναζήτησης, Εφαρµογή αλγορίθµων διάσχισης δυαδικών δέντρων. ŒÓÓÔÈ ÎÏÂÈ È δυαδικό δέντρο πλήρες δυαδικό δέντρο δυαδικό δέντρο αναζήτησης ενδοδιατεταγµένη διάσχιση δυαδικών δέντρων προδιατεταγµένη διάσχιση δυαδικών δέντρων µεταδιατεταγµένη διάσχιση δυαδικών δέντρων Ορισµός 5.8: υαδικό δέντρο (binary tree) είναι δέντρο µε ρίζα, όπου κάθε κορυφή έχει ένα, δύο ή και κανένα παιδιά. Εάν µια κορυφή έχει ένα παιδί, τότε αυτό χαρακτηρίζεται ως το αριστερό ή το δεξί παιδί της κορυφής, αλλά ποτέ και τα δύο ταυτόχρονα. Εάν µια κορυφή έχει δύο παιδιά, τότε ένα παιδί χαρακτηρίζεται ως δεξί και το άλλο ως αριστερό παιδί της κορυφής αυτής. Ú ÂÈÁÌ 5.10 Το δέντρο του σχήµατος 5.14, είναι ένα δυαδικό δέντρο, µε ρίζα α. Η κορυφή β είναι το αριστερό παιδί της α και η γ το δεξί. Η δ είναι το αριστερό παιδί της β, η οποία δεν έχει δεξί παιδί, κοκ.

26 176 KEºA AIO 5: ƒ Ας υποθέσουµε ότι η ρίζα του τ έχει µόνο ένα παιδί. Τότε, αφαιρώντας τη ρίζα και την ακµή που εφάπτεται σε αυτή, το δέντρο που προκύπτει έχει ύψος (Η 1) και τον ίδιο αριθµό t τερµατικών κορυφών, όπως και το Τ. Από την υπόθεση του επαγωγια β γ Ì 5.14 υαδικό δέντρο µε ρίζα α δ ε η ζ Ορισµός 5.9: Ένα πλήρες δυαδικό δέντρο (full binary tree) είναι δυαδικό δέντρο στο οποίο κάθε κορυφή έχει είτε δύο ή κανένα παιδιά. Θεώρηµα 5.3 Εάν τ είναι ένα πλήρες δυαδικό δέντρο µε ν εσωτερικές κορυφές, τότε το τ έχει ν + 1 τερµατικές κορυφές και 2ν + 1 κορυφές συνολικά. Απόδειξη Οι κορυφές του τ διακρίνονται σε αυτές που είναι παιδιά κάποιας κορυφής (έχουν πατέρα) και κορυφές που δεν είναι παιδιά καµιάς κορυφής (δεν έχουν πατέρα). Στις τελευταίες περιέχεται µόνο µία κορυφή, η ρίζα του δέντρου. Αφού υπάρχουν ν εσωτερικές κορυφές, η καθεµία από τις οποίες έχει δύο παιδιά, υπάρχουν 2ν παιδιά στο δέντρο. Άρα, ο συνολικός αριθµός κορυφών στο δέντρο είναι 2ν + 1, από τις οποίες ν είναι εσωτερικές. Εποµένως, οι (2ν + 1) ν = ν + 1 είναι οι τερµατικές. Θεώρηµα 5.4 Για ένα δυαδικό δέντρο ύψους Η µε t τερµατικές κορυφές ισχύει το εξής: Απόδειξη log 2 t Η Θα αποδείξουµε την ανισότητα t 2 Η επαγωγικά ως προς το Η. Τότε η σχέση log 2 t Η προκύπτει παίρνοντας το λογάριθµο µε βάση το 2 και των δύο µελών της παραπάνω ανισότητας. Βασικό βήµα. Για Η = 0, το δυαδικό δέντρο αποτελείται από µια κορυφή, τη ρίζα του. Άρα, t = 1 και η ανισότητα ισχύει. Επαγωγικό βήµα. Έστω ότι η σχέση του θεωρήµατος ισχύει για οποιοδήποτε δυαδικό δέντρο µε ύψος µικρότερο του Η, και έστω δυαδικό δέντρο τ ύψους Η.

27 5.3 À π ƒ 177 κού βήµατος ισχύει ότι t 2 Η 1. Εποµένως, t 2 Η 1 2 Η, δηλαδή t 2 Η. Έστω ότι η ρίζα του τ έχει δύο παιδιά και. Έστω Τ i, i = 1, 2, το υπό δέντρο του τ µε ρίζα την κορυφή v i. Έστω ότι το T i έχει ύψος H i, µε H i (Η 1), και t i τερ- µατικές κορυφές, i = 1, 2. Τότε, από την υπόθεση του επαγωγικού βήµατος ισχύει ότι t i 2 Η, i = 1, 2. Οι τερµατικές κορυφές του τ είναι οι τερµατικές κορυφές των δέντρων Τ 1 και Τ 2. ηλαδή, t 1 + t 2 = t. Εποµένως, t = t 1 + t 2 2 Η Η 2 2 Η Η 1 2 Η Συνεπώς, η ανισότητα t 2 Η ισχύει. Αυτό ολοκληρώνει και την απόδειξη. Ορισµός 5.10: έντρο αναζήτησης (search tree) είναι δυαδικό δέντρο Τ, σε κάθε κορυφή του οποίου αποθηκεύεται ένα δεδοµένο. Τα δεδοµένα αποθηκεύονται µε τέτοιο τρόπο, ώστε για κάθε κορυφή v στο Τ, κάθε δεδοµένο στο αριστερό υπό δέντρο της v είναι µικρότερο από το δεδοµένο στη v, και κάθε δεδοµένο στο δεξί υπό δέντρο της v είναι µεγαλύτερo από το δεδοµένο της v. Για παράδειγµα, οι λέξεις (Ολόκληρος, Πατώ, Νωρίς, όρυ, Τηρώ, Θαρρώ, Λάκκος, Τραίνο, Μνήµη) µπορούν να τοποθετηθούν σε ένα δυαδικό δέντρο αναζήτησης σαν και αυτό του σχήµατος 5.15 µε ρίζα τη λέξη «Ολόκληρος» ή σε ένα δυαδικό δέντρο αναζήτησης σαν και αυτό του σχήµατος 5.16 µε ρίζα τη λέξη «Νωρίς». Nωρίς Oλόκληρος Πατώ Ì 5.15 έντρο Αναζήτησης όρυ Tηρώ Θαρρώ Tραίνο Λάκκος Mνήµη

28 178 KEºA AIO 5: ƒ Παρατηρήστε ότι κάθε δεδοµένο (λέξη) µιας κορυφής είναι µεγαλύτερο (µικρότερο) από κάθε πληροφορία στο αριστερό (αντίστοιχα δεξί) υπό δέντρο της κορυφής αυτής, µε τη λεξικογραφική έννοια του «µεγαλύτερος» και «µικρότερος» [1]. Nωρίς Θαρρώ Πατώ όρυ Λάκκος Oλόκληρος Tηρώ Ì 5.15 έντρο Αναζήτησης Tραίνο Mνήµη εδοµένου µιας ακολουθίας δεδοµένων, ο αλγόριθµος κατασκευής ενός δυαδικού δέντρου αναζήτησης τ είναι ο ακόλουθος: Αλγόριθµος 5.4: Αλγόριθµος κατασκευής δυαδικού δέντρου αναζήτησης. Είσοδος. Μια ακολουθία δ 1, δ 2,, δ ν διακριτών δεδοµένων. Το µήκος ν της ακολουθίας αυτής. Έξοδος. Ένα δυαδικό δέντρο αναζήτησης Τ. 1. ËÌÈÔ ÚÁËÛ ÙË Ú ÙÔ ÓÙÚÔ. appleôı Π۠۠Ùfi ÙÔ Â ÔÌ ÓÔ Œˆ fiùô ÙÂÏÂÈÒÛÔ Ó Ù Â ÔÌ Ó, apple Ú ÙÔ ÂapplefiÌÂÓÔ i, i=2, 3, Ó, applefi ÙËÓ ÎÔÏÔ ı 2,..., Ó. 3. Ú Ô Û ÎÔÚ Ê = Ú ÙÔ ÓÙÚÔ. 4. Ó i Â Ó È ÌÈÎÚfiÙÂÚÔ applefi ÙÔ Â ÔÌ ÓÔ ÙË ÙÚ Ô Û ÎÔÚ Ê, ÙfiÙ 4.1. Ó Ë ÙÚ Ô Û ÎÔÚ Ê ÂÓ ÂÈ ÚÈÛÙÂÚfi apple È, ÙfiÙ ËÌÈÔ ÚÁËÛ ÚÈÛÙÂÚfi apple È Î È appleôı Π۠۠Ùfi ÙÔ i. 4.2 ÏÏÈÒ, ÙÚ Ô Û ÎÔÚ Ê = ÚÈÛÙÂÚfi apple È ÙË ÙÚ Ô Û ÎÔÚ Ê, Á ÈÓ ÛÙÔ Ó i Â Ó È ÌÂÁ Ï ÙÂÚo applefi Ùo  ÔÌ ÓÔ ÙË ÙÚ Ô Û ÎÔÚ Ê, ÙfiÙ [1] Σύµφωνα µε τη λεξικογραφική διάταξη, η συµβολοσειρά (Χ 1 Χ 2...Χ ν ) θεωρείται µικρότερη της (Υ 1 Υ 2...Υ µ ), αν (α) ν = µ και υπάρχει 0 < κ < ν, τέτοιο ώστε Χ ι =Υ i 1 i κ, και Χ κ < Υ κ ή (β) ν < µ και Χ ι = Υ i 1 i ν. Αν Χ και Υ είναι αριθµοί, τότε οι τελεστές σύγκρισης είναι οι γνωστοί µας τελεστές, ενώ, αν είναι γράµµατα, τότε το Χ θεωρείται µικρότερο του Υ, αν η θέση του στο αλφάβητο είναι πριν τη θέση του Υ.

29 5.3 À π ƒ Ó Ë ÙÚ Ô Û ÎÔÚ Ê ÂÓ ÂÈ ÂÍ apple È, ÙfiÙÂ ËÌÈÔ ÚÁËÛÂ ÂÍ apple È Î È appleôı ÎÂ ÛÂ ÛÂ Ùfi ÙÔ i. 5.2 ÏÏÈÒ, ÙÚ Ô Û ÎÔÚ Ê = ÂÍ apple È ÙË ÙÚ Ô Û ÎÔÚ Ê, Á ÈÓÂ ÛÙÔ Á ÈÓÂ ÛÙÔ 2. Ú ÂÈÁÌ 5.11 εδοµένης της ακολουθίας (Ολόκληρος, Πατώ, Νωρίς, όρυ, Τηρώ, Θαρρώ, Λάκκος, Τραίνο, Μνήµη), αν θεωρήσουµε ότι ρίζα του δέντρου αναζήτησης είναι κορυφή µε τη λέξη «Ολόκληρος», τότε ο παρακάτω πίνακας δείχνει τα βήµατα εκτέλεσης του αλγόριθµου κατασκευής δυαδικού δέντρου. Η πρώτη στήλη δείχνει το δεδοµένο της τρέχουσας κορυφής, η δεύτερη στήλη δείχνει το αποτέλεσµα της λεξικογραφικής σύγκρισης της τρέχουσας λέξης και της λέξης της τρέχουσας κορυφής, ενώ η τρίτη στήλη δείχνει το σχηµατισµό του δέντρου αναζήτησης. Για συντοµία, χρησιµοποιούµε την παρακάτω αντιστοιχία µεταξύ των λέξεων της ακολουθίας και συµβόλων: Ολόκληρος Πατώ Νωρίς όρυ Τηρώ Θαρρώ Λάκκος Τραίνο Μνήµη Η κατεύθυνση των βελών στην τρίτη στήλη του πίνακα δείχνει την κατεύθυνση στο δυαδικό δέντρο όπου «οδηγείται» ο αλγόριθµος µε βάση το αποτέλεσµα της σύγκρισης στη δεύτερη στήλη του ίδιου πίνακα. Ó Î 5.5 ιαδικασία κατασκευής δυαδικού δέντρου αναζήτησης Tρέχουσα κορυφή Aποτέλεσµα σύγκρισης έντρο αναζήτησης < <

30 180 KEºA AIO 5: ƒ < < 5 < 5 5 < < < 5 6 < < < 5 6

31 5.3 À π ƒ < < < < < < <

32 182 KEºA AIO 5: ƒ 9 9 < < < < Τα δυαδικά δέντρα αναζήτησης, όπως ακριβώς δηλώνει το όνοµά τους, είναι χρήσι- µα για την εύρεση και τον εντοπισµό δεδοµένων. ηλαδή, δεδοµένου ενός στοιχείου µπορούµε να αποφασίσουµε αν το βρίσκεται στο δυαδικό δέντρο αναζήτησης και, αν βρίσκεται, να βρούµε τη θέση του. Για να αποφασίσουµε αν το βρίσκεται στο δέντρο, ξεκινάµε από τη ρίζα. Σε αντιστοιχία και µε τον αλγόριθµο κατασκευής που διατύπωσα παραπάνω, χρησιµοποιώ τον όρο «τρέχουσα κορυφή» για να δηλώσω την κορυφή όπου έχει φτάσει η αναζήτηση. Συγκρίνουµε το µε το δεδοµένο που είναι αποθηκευµένο στην τρέχουσα κορυφή. Αν το είναι ίσο µε το δεδοµένο αυτό, τότε η αναζήτηση σταµατάει επιτυχώς. Αν είναι µικρότερο, τότε η αναζήτηση συνεχίζει στο αριστερό υπό δέντρο της τρέχουσας κορυφής µε τον ίδιο ακριβώς τρόπο. Στην αντίθετη περίπτωση, η αναζήτηση συνεχίζει στο δεξί υπό δέντρο της τρέχουσας κορυφής. Στη δραστηριότητα 5.6 σας ζητείται να διατυπώσετε τον αλγόριθµο αναζήτησης.

33 5.3 À π ƒ 183 Για να δείτε τη χρησιµότητα των δέντρων αναζήτησης ως δοµή δεδοµένων για την αναζήτηση πληροφορίας, φανταστείτε ότι έχουµε µια ακολουθία δεδοµένων, µεταξύ των οποίων αναζητούµε ένα δεδοµένο. Στην περίπτωση της σειριακής αναζήτησης, στην καλύτερη περίπτωση το δεδοµένο αυτό θα βρίσκεται στην αρχή της ακολουθίας, ενώ στη χειρότερη δεν θα βρίσκεται στην ακολουθία. Στην τελευταία περίπτωση, θα έχουν πραγµατοποιηθεί συγκρίσεις. Εποµένως, κατά µέσο όρο, ο αριθµός των συγκρίσεων για την εύρεση δεδοµένου θα είναι ( ) /2, δηλαδή περίπου συγκρίσεις. Στην περίπτωση όπου χρησιµοποιούµε δυαδικό δέντρο αναζήτησης, αν ελαχιστοποιήσουµε το ύψος του δέντρου, τότε θα δείξω ότι ο αριθµός συγκρίσεων που απαιτείται είναι Èlog 2 ( )ù = 21. Έστω τ δυαδικό δέντρο αναζήτησης µε ν κορυφές και έστω Τ * το πλήρες δυαδικό δέντρο που προκύπτει αν στο τ προσθέσουµε «εικονικά» αριστερά και δεξιά παιδιά στις κορυφές, όπου αυτό είναι δυνατόν. Αν για παράδειγµα πάρουµε το τελικό δυαδικό δέντρο αναζήτησης που σχηµατίστηκε στο παράδειγµα 5.11 τότε το πλήρες δυαδικό δέντρο που σχηµατίζεται µε την παραπάνω µέθοδο είναι αυτό του σχήµατος 5.17, όπου οι εικονικοί κόµβοι σχηµατίζονται µε τετράγωνα Ì 5.17 έντρο αναζήτησης µε εικονικούς κόµβους Αν αναζητείται δεδοµένο που δεν υπάρχει στο δέντρο αναζήτησης, τότε η αναζήτηση καταλήγει σε κάποια από τις εικονικές κορυφές. Αν ορίσουµε ότι στη χειρότερη περίπτωση ο αριθµός συγκρίσεων που απαιτείται για να βρούµε ένα δεδοµένο είναι ίσος µε το ύψος h του δέντρου Τ *, από το θεώρηµα 5.4 γνωρίζουµε ότι log 2 t h, όπου t ο αριθµός των τερµατικών κορυφών στο Τ *. Το πλήρες δυαδικό δέντρο Τ * έχει ν εσωτερικές κορυφές (δηλαδή όσα και τα δεδοµένα που αποθηκεύονται στο δέντρο), και εποµένως ο αριθµός των τερµατικών του κορυφών θα είναι t = (ν + 1). Συνεπώς, στη χειρότερη περίπτωση, ο αριθµός συγκρίσεων που απαιτείται για την αναζήτηση ενός δεδοµένου θα είναι τουλάχιστον ίσος µε log 2 t = log 2 (ν + 1).

34 184 KEºA AIO 5: ƒ ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 5.5 Να διατυπωθεί ο αλγόριθµος κατασκευής δυαδικού δέντρου αναζήτησης που διατυπώθηκε παραπάνω σε ψευδοκώδικα. Ú ÛÙËÚÈfiÙËÙ 5.6 Να διατυπωθεί αλγόριθµος για την αναζήτηση δεδοµένων σε ένα δυαδικό δέντρο αναζήτησης. Υπόδειξη: ιατυπώστε αναδροµικό αλγόριθµο, χρησιµοποιώντας ως πρότυπο τον αλγόριθµο της άσκησης αυτοαξιολόγησης 5.5 Η τερµατική συνθήκη του αλγορίθµου θα πρέπει να ισχύει όταν το δεδοµένο έχει βρεθεί στο δέντρο ή, όταν ο αλγόριθµος καλείται να κάνει αναζήτηση σε δέντρο/υπό δέντρο µε ρίζα κενή. Ú ÛÙËÚÈfiÙËÙ 5.7 εδοµένης της ακολουθίας (Ολόκληρος, Πατώ, Νωρίς, όρυ, Τηρώ, Θαρρώ, Λάκκος, Τραίνο, Μνήµη), αν θεωρήσουµε ότι η ρίζα του δέντρου αναζήτησης περιέχει τη λέξη «Νωρίς», να περιγραφεί ο σχηµατισµός του δυαδικού δέντρου αναζήτησης για τα παραπάνω δεδοµένα. Χρησιµοποιήστε τον αλγόριθµο που διατυπώσατε στην άσκηση αυτοαξιολόγησης 5.5 Παρακάτω θα περιγράψουµε τρεις τρόπους διάσχισης (traversal) δυαδικών δέντρων. Και οι τρεις τρόποι περιγράφονται µε αναδροµικούς αλγόριθµους: Αλγόριθµος 5.5: Προδιατεταγµένη διάσχιση (preorder traversal). Είσοδος. R, η ρίζα του δυαδικού δέντρου. Έξοδος. Εξαρτάται τι σηµαίνει «επίσκεψη» στην κορυφή. procedure preorder(r) 1. if R Â Ó È ÎÂÓ then return 2. Âapple ÛÎÂ Ë(R) 3. l:= ÚÈÛÙÂÚfi apple È ÙË R

35 5.3 À π ƒ preorder(l) 5. r:= ÂÍ apple È ÙË R 6. preorder(r) 7. end Ú ÂÈÁÌ 5.12 Εφαρµόζοντας την προδιατεταγµένη διάσχιση στο δέντρο του σχήµατος 5.18, οι επισκέψεις στις κορυφές θα πραγµατοποιηθούν µε την ακόλουθη σειρά: ΑΒΓ ΕΖΗΘΙΚ. A B Γ E I ρ Z v 4 v H 7 Θ v v K 9 8 Ì 5.18 έντρο µε δεδοµένα στις κορυφές. Η εκτέλεση του αλγορίθµου της προδιατεταγµένης διάσχισης στην περίπτωση του δέντρου του σχήµατος 5.18 εκτελείται ως εξής: procedure preorder Ú µ Ì 1: Ë Ú ÂÓ Â Ó È ÎÂÓ, Û ÓÂappleÒ Ô ÏÁfiÚÈıÌÔ Û ÓÂ ÂÈ ÛÙÔ Ì 2. µ Ì 2: apple ÛÎÂ Ë ÛÙËÓ ÎÔÚ Ê Ú ( ) µ Ì 3: l= ÚÈÛÙÂÚfi apple È ÙË Ú µ Ì 4: preorder l ( ÎÏ ÛË ÙË È ÈÎ Û preorder ÌÂ Ú= ) µ Ì 1: Ë Ú ÂÓ Â Ó È ÎÂÓ, Û ÓÂappleÒ Ô ÏÁfiÚÈıÌÔ Û ÓÂ ÂÈ ÛÙÔ Ì 2. µ Ì 2: apple ÛÎÂ Ë ÛÙËÓ ÎÔÚ Ê Ú (B) µ Ì 3: l= ÚÈÛÙÂÚfi apple È ÙË Ú µ Ì 4: preorder l ( ÎÏ ÛË ÙË È ÈÎ Û preorder ÌÂ Ú= ) µ Ì 1: Ë Ú ÂÓ Â Ó È ÎÂÓ, Û ÓÂappleÒ Ô ÏÁfiÚÈıÌÔ Û ÓÂ ÂÈ ÛÙÔ Ì 2. µ Ì 2: apple ÛÎÂ Ë ÛÙËÓ ÎÔÚ Ê Ú ( ) µ Ì 3: l= ÚÈÛÙÂÚfi apple È ÙË Ú µ Ì 4: preorder l ( ÎÏ ÛË ÙË È ÈÎ Û preorder ÌÂ Ú=ÎÂÓfi)

36 186 KEºA AIO 5: ƒ µ Ì 1: Ë Ú Â Ó È ÎÂÓ, Û ÓÂappleÒ Ë ÙÚ Ô Û ÂÎÙ ÏÂÛË ÙË preorder ÙÂÚÌ Ù ÂÈ. µ Ì 5: r= ÂÍ apple È ÙË Ú µ Ì 6: preorder r ( ÎÏ ÛË ÙË È ÈÎ Û preorder ÌÂ Ú=ÎÂÓfi) µ Ì 1: Ë Ú Â Ó È ÎÂÓ, Û ÓÂappleÒ Ë ÙÚ Ô Û ÂÎÙ ÏÂÛË ÙË preorder ÙÂÚÌ Ù ÂÈ. µ Ì 7: end (Παρατηρήστε ότι στην περίπτωση τερµατικής κορυφής απλά γίνεται επίσκεψη στην κορυφή αυτή. Στη συνέχεια, για τις τερµατικές κορυφές θα δείχνω µόνο την επίσκεψη στην κορυφή και όχι όλα τα βήµατα του αλγορίθµου) µ Ì 5: r= ÂÍ apple È ÙË Ú µ Ì 6: preorder r ( ÎÏ ÛË ÙË È ÈÎ Û preorder ÌÂ Ú= ) µ Ì 1: Ë Ú ÂÓ Â Ó È ÎÂÓ, Û ÓÂappleÒ Ô ÏÁfiÚÈıÌÔ Û ÓÂ ÂÈ ÛÙÔ Ì 2. µ Ì 2: apple ÛÎÂ Ë ÛÙËÓ ÎÔÚ Ê Ú ( ) µ Ì 3: l= ÚÈÛÙÂÚfi apple È ÙË Ú µ Ì 4: preorder l ( ÎÏ ÛË ÙË È ÈÎ Û preorder ÌÂ Ú=ÎÂÓfi) µ Ì 1: Ë Ú Â Ó È ÎÂÓ, Û ÓÂappleÒ Ë ÙÚ Ô Û ÂÎÙ ÏÂÛË ÙË preorder ÙÂÚÌ Ù ÂÈ. µ Ì 5: r= ÂÍ apple È ÙË Ú µ Ì 6: preorder r ( ÎÏ ÛË ÙË È ÈÎ Û preorder ÌÂ Ú= ) apple ÛÎÂ Ë ÛÙËÓ ÎÔÚ Ê Ú ( ) µ Ì 7: end µ Ì 7: end Η διάσχιση συνεχίζει µε τον ίδιο τρόπο και στο δεξί υποδέντρο της ρίζας του δέντρου(σας ζητείται στη δραστηριότητα 5.7. Αλγόριθµος 5.6: Ενδοδιατεταγµένη διάσχιση (inorder traversal). Είσοδος. R, η ρίζα ενός δυαδικού δέντρου. Έξοδος. Εξαρτάται τι σηµαίνει «επίσκεψη» στην κορυφή. procedure inorder(r)

37 5.3 À π ƒ if R Â Ó È ÎÂÓ then 2. return 3. l:= ÚÈÛÙÂÚfi apple È ÙË R 4. inorder(l) 5. Âapple ÛÎÂ Ë(R) 6. r:= ÂÍ apple È ÙË R 7. inorder(r) end Ú ÂÈÁÌ 5.13 Εφαρµόζοντας την ενδοδιατεταγµένη διάσχιση στο δέντρο του σχήµατος 5.18, οι επισκέψεις στις κορυφές θα πραγµατοποιηθούν µε την ακόλουθη σειρά: ΓΒ ΕΑΖΙΘΚΗ Η εκτέλεση του αλγορίθµου της ενδοδιατεταγµένης διάσχισης στην περίπτωση του δέντρου του σχήµατος 5.18 εκτελείται ως εξής: procedure inorder Ú µ Ì 1: Ë Ú ÂÓ Â Ó È ÎÂÓ, Û ÓÂappleÒ Ô ÏÁfiÚÈıÌÔ Û ÓÂ ÂÈ ÛÙÔ Ì 2. µ Ì 2: l= ÚÈÛÙÂÚfi apple È ÙË Ú µ Ì 3: inorder l ( ÎÏ ÛË ÙË È ÈÎ Û inorder ÌÂ Ú= ) µ Ì 1: Ë Ú ÂÓ Â Ó È ÎÂÓ, Û ÓÂappleÒ Ô ÏÁfiÚÈıÌÔ Û ÓÂ ÂÈ ÛÙÔ Ì 2. µ Ì 2: l= ÚÈÛÙÂÚfi apple È ÙË Ú µ Ì 3: inorder l ( ÎÏ ÛË ÙË È ÈÎ Û inorder ÌÂ Ú= ) µ Ì 1: Ë Ú ÂÓ Â Ó È ÎÂÓ, Û ÓÂappleÒ Ô ÏÁfiÚÈıÌÔ Û ÓÂ ÂÈ ÛÙÔ Ì 2. µ Ì 2: l= ÚÈÛÙÂÚfi apple È ÙË Ú µ Ì 3: inorder l ( ÎÏ ÛË ÙË È ÈÎ Û inorder ÌÂ Ú=ÎÂÓfi) µ Ì 1: Ë Ú Â Ó È ÎÂÓ, Û ÓÂappleÒ Ë inorder ÙÂÚÌ Ù ÂÈ. µ Ì 4: apple ÛÎÂ Ë ÛÙËÓ ÎÔÚ Ê Ú ( ) µ Ì 5: r= ÂÍ apple È ÙË Ú µ Ì 6: inorder r ( ÎÏ ÛË ÙË È ÈÎ Û inorder ÌÂ Ú=ÎÂÓfi)

38 188 KEºA AIO 5: ƒ µ Ì 1: Ë Ú Â Ó È ÎÂÓ, Û ÓÂappleÒ Ë inorder ÙÂÚÌ Ù ÂÈ. µ Ì 7: end (Παρατηρήστε ότι στην περίπτωση τερµατικής κορυφής απλά γίνεται επίσκεψη στην κορυφή αυτή. Στη συνέχεια, για τις τερµατικές κορυφές απλά θα δείχνω την επίσκεψη στην κορυφή και όχι όλα τα βήµατα του αλγορίθµου) µ Ì 4: apple ÛÎÂ Ë ÛÙËÓ ÎÔÚ Ê Ú (B) µ Ì 5: r= ÂÍ apple È ÙË Ú µ Ì 6: inorder r ( ÎÏ ÛË ÙË È ÈÎ Û inorder ÌÂ Ú= ) µ Ì 1: Ë Ú ÂÓ Â Ó È ÎÂÓ, Û ÓÂappleÒ Ô ÏÁfiÚÈıÌÔ Û ÓÂ ÂÈ ÛÙÔ Ì 2. µ Ì 2: l= ÚÈÛÙÂÚfi apple È ÙË Ú µ Ì 3: preorder l ( ÎÏ ÛË ÙË È ÈÎ Û preorder ÌÂ Ú=ÎÂÓfi) µ Ì 1: Ë Ú Â Ó È ÎÂÓ, Û ÓÂappleÒ Ë ÙÚ Ô Û ÂÎÙ ÏÂÛË ÙË preorder ÙÂÚÌ Ù ÂÈ. µ Ì 4: apple ÛÎÂ Ë ÛÙËÓ ÎÔÚ Ê Ú ( ) µ Ì 5: r= ÂÍ apple È ÙË Ú µ Ì 6: inorder r ( ÎÏ ÛË ÙË È ÈÎ Û inorder ÌÂ Ú= ) apple ÛÎÂ Ë ÛÙËÓ ÎÔÚ Ê Ú ( ) µ Ì 7: end µ Ì 7: end Η διάσχιση συνεχίζει µε τον ίδιο τρόπο και στο δεξί υποδέντρο της ρίζας του δέντρου (σας ζητείται στη δραστηριότητα 5.7. Αλγόριθµος 5.7: Μεταδιατεταγµένη διάσχιση (postorder traversal). Είσοδος. R, η ρίζα ενός δυαδικού δέντρου. Έξοδος. Εξαρτάται τι σηµαίνει «επίσκεψη» στην κορυφή. procedure postorder(r) 1. if R is empty then 2. return 3. l:= ÚÈÛÙÂÚfi apple È ÙË R

39 5.3 À π ƒ postorder(l) 5. r:= ÂÍ apple È ÙË R 6. postorder(r) 7. Âapple ÛÎÂ Ë(R) end Ú ÂÈÁÌ 5.14 Εφαρµόζοντας τη µετα διατεταγµένη διάσχιση στο δέντρο του σχήµατος 5.18, οι επισκέψεις στις κορυφές θα πραγµατοποιηθούν µε την ακόλουθη σειρά: ΓΕ ΒΙΚΘΗΖΑ. Η εκτέλεση του αλγορίθµου της µεταδιατεταγµένης διάσχισης στην περίπτωση του δέντρου του σχήµατος 5.18 εκτελείται ως εξής: procedure postorder Ú µ Ì 1: Ë Ú ÂÓ Â Ó È ÎÂÓ, Û ÓÂappleÒ Ô ÏÁfiÚÈıÌÔ Û ÓÂ ÂÈ ÛÙÔ Ì 2. µ Ì 2: l= ÚÈÛÙÂÚfi apple È ÙË Ú µ Ì 3: postorder l ( ÎÏ ÛË ÙË È ÈÎ Û postorder ÌÂ Ú= ) µ Ì 1: Ë Ú ÂÓ Â Ó È ÎÂÓ, Û ÓÂappleÒ Ô ÏÁfiÚÈıÌÔ Û ÓÂ ÂÈ ÛÙÔ Ì 2. µ Ì 2: l= ÚÈÛÙÂÚfi apple È ÙË Ú µ Ì 3: postorder l ( ÎÏ ÛË ÙË È ÈÎ Û postorder ÌÂ Ú= ) µ Ì 1: Ë Ú ÂÓ Â Ó È ÎÂÓ, Û ÓÂappleÒ Ô ÏÁfiÚÈıÌÔ Û ÓÂ ÂÈ ÛÙÔ Ì 2. µ Ì 2: l= ÚÈÛÙÂÚfi apple È ÙË Ú µ Ì 3: postorder l ( ÎÏ ÛË ÙË È ÈÎ Û postorder ÌÂ Ú=ÎÂÓfi) µ Ì 1: Ë Ú Â Ó È ÎÂÓ, Û ÓÂappleÒ Ë ÙÚ Ô Û ÂÎÙ ÏÂÛË ÙË postorder ÙÂÚÌ Ù ÂÈ. µ Ì 4: r= ÂÍ apple È ÙË Ú µ Ì 5: postorder r ( ÎÏ ÛË ÙË È ÈÎ Û postorder ÌÂ Ú=ÎÂÓfi) µ Ì 1: Ë Ú Â Ó È ÎÂÓ, Û ÓÂappleÒ Ë ÙÚ Ô Û ÂÎÙ ÏÂÛË ÙË preorder ÙÂÚÌ Ù ÂÈ. µ Ì 6: apple ÛÎÂ Ë ÛÙËÓ ÎÔÚ Ê Ú ( ) µ Ì 7: end

40 190 KEºA AIO 5: ƒ (Παρατηρήστε ότι στην περίπτωση τερµατικής κορυφής απλά γίνεται επίσκεψη στην κορυφή αυτή. Στη συνέχεια, για τις τερµατικές κορυφές απλά θα δείχνω την επίσκεψη στην κορυφή και όχι όλα τα βήµατα του αλγορίθµου) µ Ì 4: r= ÂÍ apple È ÙË Ú µ Ì 5: postorder r ( ÎÏ ÛË ÙË È ÈÎ Û postorder ÌÂ Ú= ) µ Ì 1: Ë Ú ÂÓ Â Ó È ÎÂÓ, Û ÓÂappleÒ Ô ÏÁfiÚÈıÌÔ Û ÓÂ ÂÈ ÛÙÔ Ì 2. µ Ì 2: l= ÚÈÛÙÂÚfi apple È ÙË Ú µ Ì 3: preorder l ( ÎÏ ÛË ÙË È ÈÎ Û preorder ÌÂ Ú=ÎÂÓfi) µ Ì 1: Ë Ú Â Ó È ÎÂÓ, Û ÓÂappleÒ Ë ÙÚ Ô Û ÂÎÙ ÏÂÛË ÙË preorder ÙÂÚÌ Ù ÂÈ. µ Ì 4: r= ÂÍ apple È ÙË Ú µ Ì 5: postorder r ( ÎÏ ÛË ÙË È ÈÎ Û postorder ÌÂ Ú= ) apple ÛÎÂ Ë ÛÙËÓ ÎÔÚ Ê Ú ( ) µ Ì 6: apple ÛÎÂ Ë ÛÙËÓ ÎÔÚ Ê Ú ( ) µ Ì 7: end µ Ì 6: apple ÛÎÂ Ë ÛÙËÓ ÎÔÚ Ê Ú (µ) µ Ì 7: end Η διάσχιση συνεχίζει µε τον ίδιο τρόπο και στο δεξί υποδέντρο της ρίζας του δέντρου (σας ζητείται στη δραστηριότητα 5.7. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 5.6 Η παρούσα άσκηση αυτοαξιολόγησης αφορά στους τρόπους παράστασης αριθµητικών παραστάσεων κάνοντας χρήση δυαδικών δέντρων. Θα θεωρήσουµε παραστάσεις που αφορούν σε οποιοδήποτε αριθµό µεταβλητών ή σταθερών (αριθµών) και τους τέσσερις τελεστές +,, /, *. Ένα παράδειγµα µιας τέτοιας (πλήρους παρενθέσεων) παράστασης είναι η ακόλουθη: (((Α + Β)*Γ) ( /Ε)). (Ι) Η συνηθισµένη µορφή γραφής αριθµητικών παραστάσεων λέγεται ενθεµατική

41 5.3 À π ƒ 191 (infix) µορφή και χαρακτηρίζεται από το ότι ένας τελεστής βρίσκεται ανάµεσα στους αριθµούς στους οποίους εφαρµόζεται Η παράσταση (Ι) βρίσκεται σε ενθε- µατική µορφή. Μια αριθµητική παράσταση σαν την (Ι) µπορεί να παρασταθεί από ένα δυαδικό δέντρο. Οι τερµατικές κορυφές του δέντρου αντιστοιχούν στους αριθµούς και οι εσωτερικές κορυφές αντιστοιχούν στους τελεστές. Για παράδειγµα, η παράσταση (Ι) µπορεί να παρασταθεί από το δυαδικό δέντρο του σχήµατος Η ρίζα κάθε υποδέντρου ενός δυαδικού δέντρου που παριστά µια αριθµητική παράσταση είναι ένας τελεστής, ο οποίος εφαρµόζεται στο αριστερό και το δεξί υποδέντρο του. Η σειρά έχει σηµασία, διότι το αριστερό παιδί µιας κορυφής αντιστοιχεί στο αριστερό µέλος της αριθµητικής παράστασης, ενώ το δεξιό παιδί στο δεξί µέλος αυτής. Ì 5.19 A + B * Γ / E υαδικό δέντρο για την αναπαράσταση της αριθµητικής παράστασης (Ι) Εάν διασχίσουµε το δυαδικό δέντρο του σχήµατος 5.19, χρησιµοποιώντας ενδοδιατεταγµένη διάσχιση, και προσθέσουµε παρενθέσεις, τότε µπορούµε να πάρου- µε την πλήρη σε παρενθέσεις ενθεµατική µορφή της αριθµητικής παράστασης. Σε αυτή τη µορφή δεν είναι απαραίτητο να καθορίσουµε ποιες πράξεις θα τελεστούν, µε ποια προτεραιότητα, διότι αυτό καθορίζεται σαφέστατα από τις παρενθέσεις. Εάν διασχίσουµε το δυαδικό δέντρο του σχήµατος 5.19 µε µεταδιατεταγµένη διάσχιση, το αποτέλεσµα είναι η µεταθεµατική µορφή της αριθµητικής παράστασης (Ι). Τέλος, διασχίζοντας το δυαδικό δέντρο του σχήµατος 5.19 µε προδιατεταγµένη διάσχιση, το αποτέλεσµα είναι µια προθεµατική µορφή της αριθµητικής παράστασης (Ι). Να δοθεί αλγόριθµος για την παραγωγή της ενθεµατικής µορφής πλήρους παρενθέσεων από την παράσταση µιας αριθµητικής παράστασης σε δυαδικό δέντρο και να δοθεί η ενθεµατική πλήρους παρενθέσεων, η µεταθεµατική και η προθεµατική µορφή της αριθµητικής παράστασης (Ι).

42 192 KEºA AIO 5: ƒ Ú ÛÙËÚÈfiÙËÙ 5.7 είξτε µε λεπτοµέρεια την εκτέλεση των αλγορίθµων προδιατεταγµένης, ενδοδιατεταγµένης και µεταδιατεταγµένης διάσχισης στο δεξί υποδέντρο της ρίζας του δέντρου στο σχήµα Υπόδειξη: Χρησιµοποιείστε τον τρόπο που σας υποδεικνύουν τα παραδείγµατα 5.12, 5.13, ÓÔ Ë ÓfiÙËÙ Η ενότητα αυτή παρουσιάζει µια ιδιαίτερη κατηγορία δέντρων και εφαρµογές αυτών: τα δυαδικά δέντρα. Συγκεκριµένα παρουσιάζονται τα δυαδικά δέντρα αναζήτησης και αναλύεται η χρησιµότητά τους ως δοµή δεδοµένων αποθήκευσης και αναζήτησης δεδο- µένων. Τέλος, παρουσιάζονται ιδιαίτεροι αλγόριθµοι για τη διάσχιση δυαδικών δέντρων. ÓÔ Ë ÎÂÊ Ï Ô Στο κεφάλαιο αυτό παρουσιάστηκε µια ιδιαίτερη κατηγορία γραφηµάτων µε ιδιαίτερες εφαρµογές στην επιστήµη των υπολογιστών: τα δέντρα. Το κεφάλαιο παρουσιάζει τις ιδιότητες των δέντρων, εναλλακτικούς χαρακτηρισµούς αυτών, καθώς και αλγορίθµους αξιοποίησης της πληροφορίας που αποθηκεύονται στις κορυφές των δέντρων. Συγκεκριµένα η πρώτη ενότητα του κεφαλαίου παρουσιάζει βασικές έννοιες, ιδιότητες και εναλλακτικούς χαρακτηρισµούς των δέντρων, ενώ η δεύτερη ενότητα, δείχνοντας τη διαφορά µεταξύ ενός οποιοδήποτε γραφήµατος και ενός δέντρου, παρουσιάζει την έννοια του συνδετικού δέντρου ενός γραφήµατος. Όπως ειπώθηκε και στην αντίστοιχη ενότητα, η έννοια του συνδετικού δέντρου έχει ιδιαίτερη σηµασία όταν, δεδοµένου ενός συνδεόµενου γραφήµατος, θέλουµε να βρούµε συνδεόµενο υπο γράφηµα αυτού που περιέχει όλες τις κορυφές του γραφήµατος, αλλά δεν περιέχει κύκλους. Η ενότητα παρουσιάζει ευρέως χρησιµοποιούµενους αλγόριθµους διάσχισης γραφηµάτων που χρησιµοποιούνται και για την εύρεση συνδετικών δέντρων σε συνδεόµενα γραφήµατα. Στην περίπτωση γραφηµάτων µε βάρη, µας ενδιαφέρουν τα συνδετικά δέντρα µε το µικρότερο δυνατό συνολικό βάρος. Για τον προσδιορισµό των συνδετικών αυτών δέντρων, η ενότητα παρουσίασε τον αλγόριθµο του Prim. Η τρίτη ενότητα του κεφαλαίου παρουσιάζει µια ιδιαίτερη κατηγορία δέντρων και

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

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

Διαβάστε περισσότερα

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Διαβάστε περισσότερα

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 (5.1-5.2 και 5.4-5.6) Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Δέντρα Βασικοί ορισµοί Μαθηµατικές ιδιότητες Διάσχιση δέντρων Preorder, postorder,

Διαβάστε περισσότερα

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα

Διαβάστε περισσότερα

ÚÔÛ ÔÎÒÌÂÓ appleôùâï ÛÌ Ù. Η µελέτη του παρόντος κεφαλαίου θα σας:

ÚÔÛ ÔÎÒÌÂÓ appleôùâï ÛÌ Ù. Η µελέτη του παρόντος κεφαλαίου θα σας: ÂˆÚ Ú ÊËÌ ÙˆÓ ÎÔapplefi Αν και η πρώτη επιστηµονική δηµοσίευση που αναφέρεται στη θεωρία γραφηµάτων χρονολογείται το 1736 και πολλά σηµαντικά αποτελέσµατα αποδείχθηκαν το δέκατο ένατο αιώνα, µέχρι το 1920

Διαβάστε περισσότερα

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 4η Θεωρία Γραφηµάτων

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 4η Θεωρία Γραφηµάτων ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 4η Θεωρία Γραφηµάτων Σκοπός της παρούσας εργασίας είναι η εξοικείωση µε τις σηµαντικότερες έννοιες και τους αλγορίθµους της Θεωρίας ένδρων.

Διαβάστε περισσότερα

Βασικές Έννοιες Θεωρίας Γραφημάτων

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

Διαβάστε περισσότερα

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 7 ο έντρο Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης έντρο Ορισµός Υλοποίηση µε Πίνακα Υλοποίηση µε είκτες υαδικό έντρο

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα

Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα Ορέστης Τελέλης tllis@unipi.r Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 1 / 27 έντρα έντρο είναι απλό συνδεδεµένο µη

Διαβάστε περισσότερα

12/1/2006 Διακριτά Μαθηματικά. Ορισμός. Υπό γράφημα Τ γραφήματος Γ καλείται συνδετικό (ή επικαλύπτον)

12/1/2006 Διακριτά Μαθηματικά. Ορισμός. Υπό γράφημα Τ γραφήματος Γ καλείται συνδετικό (ή επικαλύπτον) ΣΥΝΔΕΤΙΚΑ ΔΕΝΤΡΑ Ορισμός. Υπό γράφημα Τ γραφήματος Γ καλείται συνδετικό (ή επικαλύπτον) δέντρο (spanning tree) του Γ εάν αυτό είναι δέντρο και περιέχει όλες τις κορυφές του Γ. Παράδειγμα. Στο παρακάτω

Διαβάστε περισσότερα

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research ΑΛΓΟΡΙΘΜΟΙ ΜΕ C ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής CMOR Lab Computational Methodologies and Operations Research Δέντρα (5) Τ ένα δέντρο i ένας κόμβος στο επίπεδο k j ένας κόμβος στο επίπεδο k+1 } :

Διαβάστε περισσότερα

6η Διάλεξη Διάσχιση Γράφων και Δέντρων

6η Διάλεξη Διάσχιση Γράφων και Δέντρων ΘΕΩΡΙΑ ΓΡΑΦΩΝ 6 η Διάλεξη Διάσχιση Γράφων και Δέντρων Αλγόριθμος αναζήτησης σε Βαθος Αλγόριθμος αναζήτησης κατά Πλάτος Αλγόριθμοι για Δένδρα Εύρεση ελαχίστων Γεννητορικών (Επικαλύπτοντα) Δένδρων Διάσχιση

Διαβάστε περισσότερα

3 Αναδροµή και Επαγωγή

3 Αναδροµή και Επαγωγή 3 Αναδροµή και Επαγωγή Η ιδέα της µαθηµατικής επαγωγής µπορεί να επεκταθεί και σε άλλες δοµές εκτός από το σύνολο των ϕυσικών N. Η ορθότητα της µαθηµατικής επαγωγής ϐασίζεται όπως ϑα δούµε λίγο αργότερα

Διαβάστε περισσότερα

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών :

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών : Δένδρα Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών : Ανάλυση αλγορίθμων (π.χ. δένδρα αναδρομής) Δομές δεδομένων (π.χ. δένδρα αναζήτησης) ακμή Κατηγορίες (αύξουσα

Διαβάστε περισσότερα

Βασικές Προτάσεις. έντρα. υαδικά έντρα Αναζήτησης ( Α) Ισοζυγισµένα έντρα και Υψος. Κάθε δέντρο µε n κόµβους έχει n 1 ακµές.

Βασικές Προτάσεις. έντρα. υαδικά έντρα Αναζήτησης ( Α) Ισοζυγισµένα έντρα και Υψος. Κάθε δέντρο µε n κόµβους έχει n 1 ακµές. Βασικές Προτάσεις έντρα Ορέστης Τελέλης Κάθε δέντρο µε n κόµβους έχει n ακµές. ικαιολόγηση: Με επαγωγή στο πλήθος των κόµβων, n. έντρο µε k εσωτερικούς κόµβους και l ϕύλλα έχει n = k + l κόµβους. tllis@unipi.r

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα

Διδάσκων: Κωνσταντίνος Κώστα Διάλεξη Ε4: Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, Δυαδικά Δένδρα Αναζήτησης Ισοζυγισμένα Δένδρα & 2-3 Δένδρα Διδάσκων: Κωνσταντίνος

Διαβάστε περισσότερα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 3: Δένδρα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 3: Δένδρα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 3: Δένδρα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το

Διαβάστε περισσότερα

À π. apple Ú Â ÁÌ Ù. π À Ã ª ªπ À À À. ÂÚ ÛÙÈÔ ÙÔ fiêâïô ÙˆÓ appleúôóôèòó ÙË

À π. apple Ú Â ÁÌ Ù. π À à ª ªπ À À À. ÂÚ ÛÙÈÔ ÙÔ fiêâïô ÙˆÓ appleúôóôèòó ÙË ÂÚ ÛÙÈÔ ÙÔ fiêâïô ÙˆÓ appleúôóôèòó ÙË À π Àªµ 2008-2010 π À à ª ªπ À À À appleâíëáëì ÙÈÎ apple Ú Â ÁÌ Ù Η υπογραφή της νέας Συλλογικής Σύµβασης µεταξύ ΕΤΥΚ ΚΕΣΤ για τα έτη 2008 2010 θεωρήθηκε µια µεγάλη

Διαβάστε περισσότερα

Βασικές Έννοιες Θεωρίας Γραφημάτων

Βασικές Έννοιες Θεωρίας Γραφημάτων Βασικές Έννοιες Θεωρίας Γραφημάτων Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Φεβρουαρίου 0 / ένδρα Ενα δένδρο είναι

Διαβάστε περισσότερα

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

Γ. Κορίλη Αλγόριθµοι ροµολόγησης - Γ. Κορίλη Αλγόριθµοι ροµολόγησης http://www.seas.upenn.edu/~tcom50/lectures/lecture.pdf ροµολόγηση σε ίκτυα εδοµένων Αναπαράσταση ικτύου µε Γράφο Μη Κατευθυνόµενοι Γράφοι Εκτεταµένα έντρα Κατευθυνόµενοι

Διαβάστε περισσότερα

ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις

ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις Δημήτρης Φωτάκης Διακριτά Μαθηματικά και Μαθηματική Λογική Πληροφορική Ελληνικό Ανοικτό Πανεπιστήμιο Δέντρα Δέντρο: πρότυπο ιεραρχικής δομής. Αναπαράσταση (ιεραρχικών)

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Μαΐου 201 1 / Απληστοι (Greedy) Αλγόριθµοι

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή

Διαβάστε περισσότερα

οµές εδοµένων 3 ο Εξάµηνο ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ

οµές εδοµένων 3 ο Εξάµηνο ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ 1 ένδρα εσωτερικός κόµβος u το δένδρο έχει ύψος 4 u έχει ύψος 3 w έχει βάθος 2 κόµβος ένδρο: γράφηµα χωρίς κύκλους o Ρίζα (root) o Κόµβος (node) o Ακµή (edge) o Γονέας (parent) Παιδί (child)

Διαβάστε περισσότερα

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, ορισμοί, πράξεις και αναπαράσταση στη μνήμη ΔυαδικάΔένδρακαιΔυαδικάΔένδραΑναζήτησης ΕΠΛ 231 Δομές

Διαβάστε περισσότερα

Μονοπάτια και Κυκλώµατα Euler. Στοιχεία Θεωρίας Γραφηµάτων (3,4) Παραδείγµατα. Κριτήρια Υπαρξης.

Μονοπάτια και Κυκλώµατα Euler. Στοιχεία Θεωρίας Γραφηµάτων (3,4) Παραδείγµατα. Κριτήρια Υπαρξης. Μονοπάτια και Κυκλώµατα Eulr Σε γράφηµα G(V, E): Στοιχεία Θεωρίας Γραφηµάτων (3,4) Ορέστης Τελέλης tllis@unipi.r Κύκλωµα Eulr: Απλό κύκλωµα που διασχίζει κάθε ακµή του G. Μονοπάτι Eulr: Απλό µονοπάτι που

Διαβάστε περισσότερα

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης Δοµές Δεδοµένων 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων Ε. Μαρκάκης Περίληψη Quicksort Χαρακτηριστικά επιδόσεων Μη αναδροµική υλοποίηση Δέντρα Μαθηµατικές ιδιότητες Δοµές Δεδοµένων 11-2

Διαβάστε περισσότερα

Γενικό πλάνο. Μαθηµατικά για Πληροφορική. Παράδειγµα αναδροµικού ορισµού. οµική επαγωγή ΠΑΡΑ ΕΙΓΜΑ. 3ο Μάθηµα

Γενικό πλάνο. Μαθηµατικά για Πληροφορική. Παράδειγµα αναδροµικού ορισµού. οµική επαγωγή ΠΑΡΑ ΕΙΓΜΑ. 3ο Μάθηµα Γενικό πλάνο Μαθηµατικά για Πληροφορική 3ο Μάθηµα Ηλίας Κουτσουπιάς, Γιάννης Εµίρης Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 14/10/2008 1 Παράδειγµα δοµικής επαγωγής 2 Ορισµός δοµικής

Διαβάστε περισσότερα

q={(1+2)/2}=1 A(1,2)= MERGE( 4, 6 ) = 4 6 q=[(3+4)/2]=3 A(1,4)= MERGE( 4 6, 5 8 ) = q=[(5+6)/2]=5 A(5,6)= MERGE( 2, 9 ) = 2 9

q={(1+2)/2}=1 A(1,2)= MERGE( 4, 6 ) = 4 6 q=[(3+4)/2]=3 A(1,4)= MERGE( 4 6, 5 8 ) = q=[(5+6)/2]=5 A(5,6)= MERGE( 2, 9 ) = 2 9 R 0 0 Ερώτηση 1 Να εκτελεστούν όλα τα βήµατα του παρακάτω αλγορίθµου στον µονοδιάστατο πίνακα: "!$ Στην κάθε κλήση της procedure εισάγεται ο %&') Ο συµϐολισµός υπονοεί τον υποπίνακα από την ϑέση % έως

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 26 Ιουνίου 201 1 / Απληστοι (Greedy) Αλγόριθµοι

Διαβάστε περισσότερα

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης (ΔΔΑ) Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου Εισαγωγή στοιχείου

Διαβάστε περισσότερα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

Μαθηµατικά για Πληροφορική

Μαθηµατικά για Πληροφορική Μαθηµατικά για Πληροφορική 3ο Μάθηµα Ηλίας Κουτσουπιάς, Γιάννης Εµίρης Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 14/10/2008 14/10/2008 1 / 24 Γενικό πλάνο 1 Παράδειγµα δοµικής επαγωγής

Διαβάστε περισσότερα

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

ιαφάνειες παρουσίασης #11 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (pat

ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (pat ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (path) o Πρόγονος απόγονος (ancestor, descendant)

Διαβάστε περισσότερα

ÂÚÈÂ fiìâó. ã ÂÚ Ô Ô ã ÂÚ Ô Ô ã ÂÚ Ô Ô ã ÂÚ Ô Ô ã ÂÚ Ô Ô. μã ÂÚ Ô Ô μã ÂÚ Ô Ô μã ÂÚ Ô Ô μã ÂÚ Ô Ô μã ÂÚ Ô Ô

ÂÚÈ fiìâó. ã ÂÚ Ô Ô ã ÂÚ Ô Ô ã ÂÚ Ô Ô ã ÂÚ Ô Ô ã ÂÚ Ô Ô. μã ÂÚ Ô Ô μã ÂÚ Ô Ô μã ÂÚ Ô Ô μã ÂÚ Ô Ô μã ÂÚ Ô Ô ÂÚÈ fiìâó ã ÂÚ Ô Ô ã ÂÚ Ô Ô ã ÂÚ Ô Ô ã ÂÚ Ô Ô ã ÂÚ Ô Ô È ÚÈıÌÔ Ì ÚÈ ÙÔ ÃÒÚÔ Î È Û Ì Ù ÂÊ Ï ÈÔ : ÚÔÛ Ó ÙÔÏÈÛÌfi ÛÙÔ ÒÚÔ... ÂÊ Ï ÈÔ : ˆÌÂÙÚÈÎ Û Ì Ù... ÂÊ Ï ÈÔ : ÁÎÚÈÛË Î È ÂÎÙ ÌËÛË appleôûôù ÙˆÓ... ÂÊ

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος Επιµέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήµατα Μοντελοποίηση πολλών σηµαντικών προβληµάτων (π.χ. δίκτυα

Διαβάστε περισσότερα

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 3η Θεωρία Γραφηµάτων

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 3η Θεωρία Γραφηµάτων ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ Ε ρ γ α σ ί α η Θεωρία Γραφηµάτων Α π α ν τ ή σ ε ι ς Ε ρ ω τ η µ ά τ ω ν Ερώτηµα. Στο παρακάτω γράφηµα µε βάρη, να βρεθεί το µήκος του µικρότερου µονοπατιού

Διαβάστε περισσότερα

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό. Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» Κεφάλαιο : Ακολουθίες πραγµατικών αριθµών Α Οµάδα Εξετάστε αν οι παρακάτω προτάσεις είναι αληθείς ή ψευδείς αιτιολογήστε πλήρως την απάντησή σας α Κάθε

Διαβάστε περισσότερα

υαδικό έντρο Αναζήτησης (BSTree)

υαδικό έντρο Αναζήτησης (BSTree) Εργαστήριο 6 υαδικό έντρο Αναζήτησης (BSTree) Εισαγωγή Οι περισσότερες δοµές δεδοµένων, που εξετάσαµε µέχρι τώρα (λίστες, στοίβες, ουρές) ήταν γραµ- µικές (ή δοµές δεδοµένων µιας διάστασης). Στην παράγραφο

Διαβάστε περισσότερα

ένδρα (tail, head) Γονέας Παιδί (ancestor, descendant) Φύλλο Εσωτερικός Κόµβος (leaf, non-leaf) που αποτελεί το γονέα του v.

ένδρα (tail, head) Γονέας Παιδί (ancestor, descendant) Φύλλο Εσωτερικός Κόµβος (leaf, non-leaf) που αποτελεί το γονέα του v. ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ΗΥ240 - Παναγιώτα Φατούρου 1 ένδρα Κόµβοι (nodes) Ακµές (edges) Ουρά και κεφαλή ακµής (tail, head) Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) Μονοπάτι (path) Πρόγονος απόγονος

Διαβάστε περισσότερα

Î È appleúô Ï Ì Ù ÓÙ ÍË 36

Î È appleúô Ï Ì Ù ÓÙ ÍË 36 ƒπ ÃOª ƒo O π O ª πøª 9 º πo ƒøδo: Δ À ƒª Δ π ÀΔπ π π π 1.1 ÓÓÔÈ ÙÔ appleâúì ÛÔ 16 1.2 ÀappleÂÚÌ Û, ÎÔÈÓˆÓ Î È ÂÎapple  ÛË 18 1.3 ÂˆÚ Â Ì ıëûë Î È appleâúì Û 27 1.4 ÚfiÙ apple Ú ÛË appleôïôáèûùòó Î È

Διαβάστε περισσότερα

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

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

Διαβάστε περισσότερα

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα Δένδρα Δένδρα Ειδική κατηγορία γραφημάτων: συνεκτικά γραφήματα που δεν περιέχουν απλά κυκλώματα [1857] Arthur Cayley: για απαρίθμηση ορισμένων ειδών χημικών ενώσεων Χρησιμοποιούνται σε πληθώρα προβλημάτων,

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου / 18

Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου / 18 Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 1 / 18 Βέλτιστα (στατικά) δυαδικά δένδρα αναζήτησης Παράδειγµα: Σχεδιασµός προγράµµατος

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 4 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

Πίνακες και ερµάρια. διανοµής. ƒ 2010. Plexo 3 στεγανοί πίνακες από 2 έως 72 στοιχεία (σ. 59) Practibox χωνευτοί πίνακες από 6 έως 36 τοιχεία (σ.

Πίνακες και ερµάρια. διανοµής. ƒ 2010. Plexo 3 στεγανοί πίνακες από 2 έως 72 στοιχεία (σ. 59) Practibox χωνευτοί πίνακες από 6 έως 36 τοιχεία (σ. χωνευτοί σ. 56 Nedbox χωνευτοί από 12 έως 56 στοιχεία σ. 58 από 1 έως 6 στοιχεία σ. 62 XL 3 160 από 48 έως 144 στοιχεία και ερµάρια διανοµής ισχύος XL 3 σ. 68 Ράγες, πλάτες στήριξης και µετώπες σ. 77 0

Διαβάστε περισσότερα

Αλγόριθµοι Γραφηµάτων

Αλγόριθµοι Γραφηµάτων Αλγόριθµοι Γραφηµάτων Παύλος Σπυράκης Πανεπιστήµιο Πατρών Τοµέας Θεµελιώσεων και Εφαρµογών της Επιστήµης των Υπολογιστών Ερευνητικό Ακαδηµαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Γραφήµατα Μοντελοποίηση

Διαβάστε περισσότερα

Ασκήσεις στους Γράφους. 2 ο Σετ Ασκήσεων. Δέντρα

Ασκήσεις στους Γράφους. 2 ο Σετ Ασκήσεων. Δέντρα Ασκήσεις στους Γράφους 2 ο Σετ Ασκήσεων Δέντρα Ασκηση 1 η Ένας γράφος G είναι δέντρο αν και μόνο αν κάθε δυο κορυφές του συνδέονται με ένα μοναδικό μονοπάτι. Υποθέτουμε ότι ο γράφος G είναι δέντρο. Έστω

Διαβάστε περισσότερα

2 Αποδείξεις. 2.1 Εξαντλητική µέθοδος. Εκδοση 2005/03/22. Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές:

2 Αποδείξεις. 2.1 Εξαντλητική µέθοδος. Εκδοση 2005/03/22. Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές: 2 Αποδείξεις Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές: Εκδοση 2005/03/22 Εξαντλητική µέθοδος ή µέθοδος επισκόπησης. Οταν το πρόβληµα έχει πεπερασµένες αριθµό περιπτώσεων τις εξετάζουµε

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 23: οµές εδοµένων και Αλγόριθµοι Ενδιάµεση Εξέταση Ηµεροµηνία : ευτέρα, 3 Νοεµβρίου 2008 ιάρκεια : 2.00-4.00 ιδάσκουσα : Άννα Φιλίππου Ονοµατεπώνυµο: ΣΚΕΛΕΤΟΙ

Διαβάστε περισσότερα

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Άσκηση 1 Χρησιµοποιούµε τη δοµή Κατ οίκον Εργασία 3 Σκελετοί Λύσεων typedef struct Node int data; struct node *lchild; struct node *rbro; node; και υποθέτουµε πως ένα τυχαίο δένδρο είναι υλοποιηµένο ως

Διαβάστε περισσότερα

Ελάχιστο Συνδετικό έντρο

Ελάχιστο Συνδετικό έντρο Ελάχιστο Συνδετικό έντρο ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Ελάχιστο Συνδετικό έντρο (MST) Συνεκτικό μη-κατευθ. G(V, E, w) με βάρη Βάρος

Διαβάστε περισσότερα

ÓfiÙËÙ 1. ÚÈıÌÔ Î È appleú ÍÂÈ

ÓfiÙËÙ 1. ÚÈıÌÔ Î È appleú ÍÂÈ ÓfiÙËÙ ÚÈıÌÔ Î È appleú ÍÂÈ ª ı Óˆ: ÚÈıÌÔ Î È appleú ÍÂÈ º ÛÈÎÔ ÚÈıÌÔ È ÚÈıÌÔ 0,, 2, 3, 4, 5, 6, 7, 8, 9,... ÔÓÔÌ ÔÓÙ È Ê ÛÈÎÔ. ıâ Ê ÛÈÎfi ÚÈıÌfi, ÂÎÙfi applefi ÙÔ 0, appleúôî appleùâè applefi ÙÔÓ appleúôëáô

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 5 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

... a b c d. b d a c

... a b c d. b d a c ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΙΑΚΡΙΤA ΜΑΘΗΜΑΤΙΚΑ ιδάσκοντες: Φωτάκης, Σούλιου η Γραπτή Εργασία Θέµα (Αρχή του Περιστερώνα, 8 µονάδες) α) Σε ένα διάστηµα

Διαβάστε περισσότερα

Κανόνες παραγώγισης ( )

Κανόνες παραγώγισης ( ) 66 Κανόνες παραγώγισης Οι κανόνες παραγώγισης που ισχύουν για συναρτήσεις µιας µεταβλητής, ( παραγώγιση, αθροίσµατος, γινοµένου, πηλίκου και σύνθετων συναρτήσεων ) γενικεύονται και για συναρτήσεις πολλών

Διαβάστε περισσότερα

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές Κεφάλαιο Παραγοντοποίηση σε Ακέραιες Περιοχές Γνωρίζουµε ότι στο Ÿ κάθε στοιχείο εκτός από το 0 και τα ± γράφεται ως γινόµενο πρώτων αριθµών κατά τρόπο ουσιαστικά µοναδικό Από τη Βασική Άλγεβρα ξέρουµε

Διαβάστε περισσότερα

< 1 για κάθε k N, τότε η σειρά a k συγκλίνει. +, τότε η η σειρά a k αποκλίνει.

< 1 για κάθε k N, τότε η σειρά a k συγκλίνει. +, τότε η η σειρά a k αποκλίνει. Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» Κεφάλαιο 3: Σειρές πραγµατικών αριθµών Α Οµάδα. Εστω ( ) µια ακολουθία πραγµατικών αριθµών. Εξετάστε αν οι παρακάτω προτάσεις είναι αληθείς ή ψευδείς (αιτιολογήστε

Διαβάστε περισσότερα

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 1 2 3 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από

Διαβάστε περισσότερα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

5 ΔΕΝΤΡΑ (Trees) Σχήµα 5.1 : ενδροειδής αναπαράσταση αρχείων στα Windows. έντρα. \ {root directory} Accessories. Program Files.

5 ΔΕΝΤΡΑ (Trees) Σχήµα 5.1 : ενδροειδής αναπαράσταση αρχείων στα Windows. έντρα. \ {root directory} Accessories. Program Files. 5 ΔΕΝΤΡΑ (Trees) Oι περισσότερες δοµές δεδοµένων που εξετάσαµε µέχρι τώρα (λίστες, στοίβες, ουρές) ήταν γραµµικές (ή δοµές δεδοµένων µιας διάστασης). Στην παράγραφο αυτή θα ασχοληθούµε µε τις µή-γραµµικές

Διαβάστε περισσότερα

ø Ó ÒÛÂÙÂ π Δƒ ÛÙÔ apple ÏÏ ÏÔ Û 24 πª ª Δ Δπ π Δ ø Δ ƒ ø π Δ Δ Δ Ãøƒ ƒ π ANNE BRUCE

ø Ó ÒÛÂÙ π Δƒ ÛÙÔ apple ÏÏ ÏÔ Û 24 πª ª Δ Δπ π Δ ø Δ ƒ ø π Δ Δ Δ Ãøƒ ƒ π ANNE BRUCE ø Ó ÒÛÂÙ π Δƒ ÛÙÔ apple ÏÏ ÏÔ Û 24 πª ª Δ Δπ π Δ ø Δ ƒ ø π Δ Δ Δ Ãøƒ ƒ π ANNE BRUCE Àªμ À π ƒ Ã π Δƒø Δ ƒ Δπ À ªπ π Δ ƒ ø π Δ À ƒπ ƒ π π Δ ª ƒ ƒ ª πδàãπ Δ Δ πƒ π Ως διευθυντής, η επαγγελματική

Διαβάστε περισσότερα

Διάλεξη 11: Δέντρα Ι Εισαγωγή σε Δενδρικές Δομές Δεδομένων

Διάλεξη 11: Δέντρα Ι Εισαγωγή σε Δενδρικές Δομές Δεδομένων Διάλεξη 11: Δέντρα Ι Εισαγωγή σε Δενδρικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, Ορισμοί και πράξεις Αναπαράσταση δενδρικών δομών

Διαβάστε περισσότερα

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε.

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε. Ψηφιακά Δένδρα Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών τα οποία είναι ακολουθίες συμβάλλων από ένα πεπερασμένο αλφάβητο Ένα στοιχείο γράφεται ως, όπου κάθε. Μπορούμε να

Διαβάστε περισσότερα

f (x) = l R, τότε f (x 0 ) = l. = lim (0) = lim f(x) = f(x) f(0) = xf (ξ x ). = l. Εστω ε > 0. Αφού lim f (x) = l R, υπάρχει δ > 0

f (x) = l R, τότε f (x 0 ) = l. = lim (0) = lim f(x) = f(x) f(0) = xf (ξ x ). = l. Εστω ε > 0. Αφού lim f (x) = l R, υπάρχει δ > 0 Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» Κεφάλαιο 5: Παράγωγος Α Οµάδα. Εξετάστε αν οι παρακάτω προτάσεις είναι αληθείς ή ψευδείς (αιτιολογήστε πλήρως την απάντησή σας). (α) Αν η f είναι παραγωγίσιµη

Διαβάστε περισσότερα

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

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 2η

ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 2η ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ0 Ε ρ γ α σ ί α η Ε ρ ω τ ή µ α τ α Ερώτηµα 1. (1) Να διατυπώστε αλγόριθµο που θα υπολογίζει το ν-οστό όρο της ακολουθίας a ν : ν = 1,,3,..., όπου a 1 = 1, a

Διαβάστε περισσότερα

ΙΑΝΥΣΜΑΤΑ ΘΕΩΡΙΑ ΘΕΜΑΤΑ ΘΕΩΡΙΑΣ. Τι ονοµάζουµε διάνυσµα; αλφάβητου επιγραµµισµένα µε βέλος. για παράδειγµα, Τι ονοµάζουµε µέτρο διανύσµατος;

ΙΑΝΥΣΜΑΤΑ ΘΕΩΡΙΑ ΘΕΜΑΤΑ ΘΕΩΡΙΑΣ. Τι ονοµάζουµε διάνυσµα; αλφάβητου επιγραµµισµένα µε βέλος. για παράδειγµα, Τι ονοµάζουµε µέτρο διανύσµατος; ΙΝΥΣΜΤ ΘΕΩΡΙ ΘΕΜΤ ΘΕΩΡΙΣ Τι ονοµάζουµε διάνυσµα; AB A (αρχή) B (πέρας) Στη Γεωµετρία το διάνυσµα ορίζεται ως ένα προσανατολισµένο ευθύγραµµο τµήµα, δηλαδή ως ένα ευθύγραµµο τµήµα του οποίου τα άκρα θεωρούνται

Διαβάστε περισσότερα

Οι βασικές πράξεις που ορίζουν τον ΑΤ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:

Οι βασικές πράξεις που ορίζουν τον ΑΤ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες: υαδικά έντρα Αναζήτησης (Binary Search Trees) Ορισµός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόµενα στο αριστερό υποδέντρο του t είναι

Διαβάστε περισσότερα

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας ΚΕΦΑΛΑΙΟ 8: Αφηρηµένοι τύποι δεδοµένων 8.1 οµές δεδοµένων (data structures) 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας Αδόµητα δεδοµένα οδός Ζέας

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων (π.χ. δίκτυα συνεκτικότητα,

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 3-4 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητες 3 & 4: ένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε

Διαβάστε περισσότερα

Επαναληπτικές Ασκήσεις. Ρίζου Ζωή

Επαναληπτικές Ασκήσεις. Ρίζου Ζωή Επαναληπτικές Ασκήσεις Ρίζου Ζωή email: zrizou@ee.duth.gr Άσκηση 1 Τι πραγματεύεται το θεώρημα Euler; Απάντηση Ψευδογραφήματα που περιέχουν ένα κύκλωμα στο ψευδογραφήματα, των οποίων ο βαθμός κάθε κορυφής

Διαβάστε περισσότερα

jτο πλήθος των ταξιδιών που κάνει η αεροσυνοδός µέχρι την j ηµέρα. Σχηµατίζω µία ακολουθία που αποτελείται από τα a.

jτο πλήθος των ταξιδιών που κάνει η αεροσυνοδός µέχρι την j ηµέρα. Σχηµατίζω µία ακολουθία που αποτελείται από τα a. ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΙΑΚΡΙΤA ΜΑΘΗΜΑΤΙΚΑ ιδάσκοντες: Φωτάκης, Σούλιου, Θ Λιανέας η Γραπτή Εργασία Θέµα (Αρχή του Περιστερώνα, 8 µονάδες) α)

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ενότητα 3 Αλγόριθµοι Γραφηµάτων Prim-Kruskal Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Prim-Kruskal

Διαβάστε περισσότερα

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 4η Θεωρία Γραφηµάτων

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 4η Θεωρία Γραφηµάτων ικριτά Μηµτικά κι Μηµτική Λογική ΠΛΗ Ε ρ γ σ ί 4η Θεωρί Γρφηµάτων Α π ν τ ή σ ε ι ς Ε ρ ω τ η µ ά τ ω ν Ερώτηµ. ίετι το ένρο του πρκάτω σχήµτος. e d f b l i a k m p c g h n o Θεωρώντς σν ρίζ του ένρου

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ: ΠΛΗΡΟΦΟΡΙΚΗ ΘΕ: ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ Ι (ΠΛΗ 12) ΛΥΣΕΙΣ ΕΡΓΑΣΙΑΣ 3

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ: ΠΛΗΡΟΦΟΡΙΚΗ ΘΕ: ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ Ι (ΠΛΗ 12) ΛΥΣΕΙΣ ΕΡΓΑΣΙΑΣ 3 ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ: ΠΛΗΡΟΦΟΡΙΚΗ ΘΕ: ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ Ι (ΠΛΗ ) ΛΥΣΕΙΣ ΕΡΓΑΣΙΑΣ Άσκηση. ( µον.). Έστω z ο µιγαδικός αριθµός z i, µε, R. (α) ίνεται η εξίσωση: z

Διαβάστε περισσότερα

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1 KΕΦΑΛΑΙΟ 8 Προβλήµατα Μεταφοράς και Ανάθεσης 8. ΕΙΣΑΓΩΓΗ Μια ειδική κατηγορία προβληµάτων γραµµικού προγραµµατισµού είναι τα προβλήµατα µεταφοράς (Π.Μ.), στα οποία επιζητείται η ελαχιστοποίηση του κόστους

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #10 (β)

ιαφάνειες παρουσίασης #10 (β) ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ http://www.softlab.ntua.gr/~nickie/courses/progtech/ ιδάσκοντες: Γιάννης Μαΐστρος (maistros@cs.ntua.gr) Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)

Διαβάστε περισσότερα

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

Διαβάστε περισσότερα

E π A π π ª π. È ÎÚÈÙ M ıëì ÙÈÎ. Î È M ıëì ÙÈÎ ÔÁÈÎ. TfiÌÔ A' È ÎÚÈÙ M ıëì ÙÈÎ ÂÒÚÁÈÔ BÔ ÚÔ

E π A π π ª π. È ÎÚÈÙ M ıëì ÙÈÎ. Î È M ıëì ÙÈÎ ÔÁÈÎ. TfiÌÔ A' È ÎÚÈÙ M ıëì ÙÈÎ ÂÒÚÁÈÔ BÔ ÚÔ E π A π π ª π È ÎÚÈÙ M ıëì ÙÈÎ Î È M ıëì ÙÈÎ ÔÁÈÎ TfiÌÔ A' ÂÒÚÁÈÔ BÔ ÚÔ È ÎÚÈÙ M ıëì ÙÈÎ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστηµών και Τεχνολογίας Πρόγραµµα Σπουδών ΠΛΗΡΟΦΟΡΙΚΗ Θεµατική Eνότητα

Διαβάστε περισσότερα

14 Εφαρµογές των ολοκληρωµάτων

14 Εφαρµογές των ολοκληρωµάτων 14 Εφαρµογές των ολοκληρωµάτων 14.1 Υπολογισµός εµβαδών µε την µέθοδο των παράλληλων διατοµών Θεωρούµε µια ϕραγµένη επίπεδη επιφάνεια A µε οµαλό σύνορο, δηλαδή που περιγράφεται από µια συνεχή συνάρτηση.

Διαβάστε περισσότερα

Ελάχιστο Συνδετικό Δέντρο

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

Διαβάστε περισσότερα

Κυρτές Συναρτήσεις και Ανισώσεις Λυγάτσικας Ζήνων Βαρβάκειο Ενιαίο Πειραµατικό Λύκειο e-mail: zenon7@otenetgr Ιούλιος-Αύγουστος 2004 Περίληψη Το σχολικό ϐιβλίο της Γ Λυκείου ορίζει σαν κυρτή (αντ κοίλη)

Διαβάστε περισσότερα

Κάθε εξίσωση, η οποία περιλαµβάνει παραγώγους, είναι διαφορική εξίσωση. Έτσι οι εξισώσεις

Κάθε εξίσωση, η οποία περιλαµβάνει παραγώγους, είναι διαφορική εξίσωση. Έτσι οι εξισώσεις ΠΑΡΑΡΤΗΜΑ Β: ΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ µ ÂÓÈÎ ÓÓÔÈÂ Κάθε εξίσωση, η οποία περιλαµβάνει παραγώγους, είναι διαφορική εξίσωση Έτσι οι εξισώσεις d = + t d = 5 (Β) (Β3) d e t = cos (Β) d d = 5 + (Β4) είναι όλες διαφορικές

Διαβάστε περισσότερα

Διάλεξη 11: Δέντρα Ι - Εισαγωγή σε Δενδρικές Δομές Δεδομένων

Διάλεξη 11: Δέντρα Ι - Εισαγωγή σε Δενδρικές Δομές Δεδομένων ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 11: Δέντρα Ι - Εισαγωγή σε Δενδρικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Εισαγωγή σε δενδρικές δομές δεδομένων, -

Διαβάστε περισσότερα

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

Διαβάστε περισσότερα

Γεωγραφία Ε Δημοτικού. Μαθαίνω για την Ελλάδα

Γεωγραφία Ε Δημοτικού. Μαθαίνω για την Ελλάδα Γεωγραφία Ε Δημοτικού Μαθαίνω για την Ελλάδα ΣΥΓΓΡΑΦΕΙΣ ΚΡΙΤΕΣ-ΑΞΙΟΛΟΓΗΤΕΣ ΕΙΚΟΝΟΓΡΑΦΗΣΗ ΦΙΛΟΛΟΓΙΚΗ ΕΠΙΜΕΛΕΙΑ ΥΠΕΥΘΥΝOΣ TOY ΜΑΘΗΜΑΤΟΣ ΚΑΤΑ ΤΗ ΣΥΓΓΡΑΦΗ KAI ΥΠΕΥΘΥΝOΣ TOY ΥΠΟΕΡΓΟΥ ΕΞΩΦΥΛΛΟ Κωστής Κουτσόπουλος,

Διαβάστε περισσότερα

u v 4 w G 2 G 1 u v w x y z 4

u v 4 w G 2 G 1 u v w x y z 4 Διάλεξη :.0.06 Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος. Εισαγωγικοί ορισμοί Ορισμός. Γράφημα G καλείται ένα ζεύγος G = (V, E) όπου V είναι το σύνολο των κορυφών (ή κόμβων) και E

Διαβάστε περισσότερα

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange 64 Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrage Ας υποθέσουµε ότι ένας δεδοµένος χώρος θερµαίνεται και η θερµοκρασία στο σηµείο,, Τ, y, z Ας υποθέσουµε ότι ( y z ) αυτού του χώρου δίδεται από

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Στοιχεία Θεωρίας Γράφων (Graph Theory) Στοιχεία Θεωρίας Γράφων (Graph Theory) Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας plam@inf.teilam.gr, Οι διαφάνειες βασίζονται στα βιβλία:. Αλγόριθμοι, Σχεδιασμός & Ανάλυση, η έκδοση,

Διαβάστε περισσότερα

Ελάχιστο Συνδετικό έντρο

Ελάχιστο Συνδετικό έντρο Ελάχιστο Συνδετικό έντρο ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Ελάχιστο Συνδετικό Δέντρο

Ελάχιστο Συνδετικό Δέντρο Ελάχιστο Συνδετικό Δέντρο Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Ελάχιστο Συνδετικό Δέντρο (MST) Συνεκτικό μη-κατευθ. G(V, E, w) με βάρη Βάρος

Διαβάστε περισσότερα

Α. ΑΠΑΡΑΙΤΗΤΕΣ ΓΝΩΣΕΙΣ ΘΕΩΡΙΑΣ

Α. ΑΠΑΡΑΙΤΗΤΕΣ ΓΝΩΣΕΙΣ ΘΕΩΡΙΑΣ 8 Παραβολή Α. ΑΠΑΡΑΙΤΗΤΕΣ ΓΝΩΣΕΙΣ ΘΕΩΡΙΑΣ Ορισµός Παραβολή είναι ο γεωµετρικός τόπος των σηµείων Μ του επιπέδου τα οποία ισαπέχουν από µια σταθερή ευθεία (δ) που λέγεται διευθετούσα της παραβολής και από

Διαβάστε περισσότερα

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 22: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης - Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

Διαβάστε περισσότερα

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Περίληψη Επίλυση προβληµάτων χρησιµοποιώντας Greedy Αλγόριθµους Ελάχιστα Δέντρα Επικάλυψης Αλγόριθµος του Prim Αλγόριθµος του Kruskal Πρόβληµα Ελάχιστης Απόστασης

Διαβάστε περισσότερα