Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Σχετικά έγγραφα
Γπέθηαζε ηςκ Ονίςκ ηεξ Γπηιοζημόηεηαξ

1 η Ε π α ν α λ η π τ ι κ ή Ά σ κ η σ η

i, ημ μκμμάδμομε ζύκμιμ ηςκ

Λύζεηξ αζθήζεςκ ζενμόηεηαξ

Οκμμάδμομε δηαηεηαγμέκμ δεύγμξ με πνώημ ζημηπείμ ημ θαη δεύηενμ ημ (ζομβμιηθά:(, ) ), ημ δηζύκμιμ: { },{, . Δειαδή:

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

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

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Multiple Choice Examination

Επακαιεπηηθό ζέμα ζημ 1 0 θεθάιαημ

Καηακμώκηαξ ηα Νέα Μέζα. Εογεκία Σηαπένα

Οδεγόξ Φνήζεξ Webmail

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Μέηνα Αημμηθήξ Πνμζηαζίαξ

Δηαπείνηζε πμιιαπιώκ ειεθηνμκηθώκ δηεοζύκζεωκ

Κεθάιαημ 11. Πνμζεγγηζηηθμί Αιγόνηζμμη

ΙΑΘΕΙΑ Β1.1 Μ ΝΘΑΚΕΠΕΟ ΓΕ

Π α ζ ο κ ζ ή μ α η α μ ε κ ύ μ α η α ή η α κ ή δ ε γ κ ς ζ η ά : Γ ι ε ο ζ ε ν ί α, Δ ε μ μ θ ν α η ί α, α δ μ ύ ι ς η ε Γ ι ι ά δ α.

ΑΣΚΗΣΕΙΣ ΣΤΟΥΣ ΜΙΓΑΔΙΚΟΥΣ AΡΙΘΜΟΥΣ

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΩΤΟΣΚΛΗΡΥΝΣΗ. Δρ Εμμανουθλ Χατζημανώλης. Ωτορινολαρυγγολόγος-Χειρουργός Κεφαλής και Τραχήλου. Δ/τής της Κλινικής Κεφαλής και Τραχήλου νοσ.

Παραγωγή Τελικού Κώδικα. Γιώργος Μανής

Η ΠΡΟΝΟΟΚΟΜΔΙΑΚΗ ΦΡΟΝΣΙΓΑ. με ηην έγκριζη ηοσ Εθνικού Κένηροσ PHTLS διοργανώνει ζηις Ιανοσαρίοσ 2012

Τίτλος Μαθήματος: Θεωρία Πολυπλοκότητας. Ενότητα: H κλάση ΝΡ. Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος. Τμήμα: Μαθηματικών

Μυοπάθεια και τατίνες

Πνμθόπημξ Mαγηάηεξ,

Αλάιπζε Αιγνξίζκωλ. Κεθ. 13: Τπραίνη Αιγόξηζκνη

ΘΕΜΑ 1 (μμκάδεξ 25) Η πενίμδμξ ηεξ ηαιάκηςζεξ ημο ζώμαημξ αοημύ είκαη: i) Τ = π/2s ii) Τ = 2/πs iii) Τ = 1/πs iv) Τ = 2s iv) Τ = πs (αηηημιόγεζε)

Πνμεγμύμεκεξ γκώζεηξ: Τα παηδηά λένμοκ κα δηαβάδμοκ θαη κα γνάθμοκ θάπμηεξ θςκμύιεξ θαη μνηζμέκα γνάμμαηα.

Θμγμηεπκία γηα Παηδηά Ζ

Φνήζημεξ Λεηημονγίεξ ηςκ. Windows 7

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

ΕΞΟΡΤΞΗ & ΚΑΣΑΚΕΤΕ ΣΗΝ ΕΤΡΩΠΗ ΜΑΘΗΜΑ 43

Tνόπμη δηαθοηηανηθήξ επηθμηκςκίαξ

Εισαγωγή στους Αλγορίθμους

HY-335 : Δίθηοα Υπμιμγηζηώκ

Άπιεζημη αιγόνηζμμη. Μάνζα Σηδένε

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 3

Ιαιιηένγεηα βαθηενίςκ

1. Camtasia. 2. Audacity. 3. Movie Maker

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7

Γοθεμία Παπαδμπμύιμο-Αιαηάθε

Δηάιελε 6: Δηαπείνηζε Μκήμεξ & Δοκαμηθέξ Δμμέξ Δεδμμέκςκ

Κα ακαγκςνίζμομε ημ ηηηάκημ ένγμ (όιςκ) ηςκ ενγαδμμέκςκ ζημ CERN. Να απμθηήζμομε βηςμαηηθέξ γκώζεηξ γηα πενίπιμθεξ έκκμηεξ ηςκ Φοζηθώκ Γπηζηεμώκ.

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

Κεθάλαιο 3 Κρσπηογραθία δημόζιοσ κλειδιού και πιζηοποίηζη ασθεμηικόηηηας μημσμάηφμ

Τβοιδικό Ιζξδύμαμξ Μξμηέλξ transistor BJT & εκηζποηέξ. Ειεθηνμκηθή Γ Σάλε /Β ελάμεκμ Γπίθ. Ηαζεγήηνηα Γ. Ηαναγηάκκε

Κοσμάς Λιάμος Γενικός Ιατρός Επιμελητής Β Περιυερειακό Ιατρείο Βελβεντού Κέντρο Τγείας ερβίων

GANODERMA LUCIDUM «μακηηάνη ηςκ ζεώκ» Τμ θαζμιηθό θάνμαθμ ηεξ θύζεξ

ΕΙΗΓΗΗ: Σα Πληροθοριακά σζηήμαηα ηων Νοζοκομείων ζηην Ελλάδα ηης κρίζης: Ο ρόλος ηοσ cloud computing & ηοσ Εζωηερικού Ελέγτοσ

Μελέηη Ηλεκηοικήπ Εγκαηάζηαζηπ. Δκπαιδεςηήρ: αββίδεο Μηράιεο. Σερληθή ρνιή Απγόξνπ. Μάθημα: Σερλνινγία Ηιεθηξηθώλ Εγθαηαζηάζεσλ

Μικροβιολογία & Υγιεινή Τροφίμων

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων

Τα έλη παηδηά γεμίδμοκ με πανά ηηξ θηωπέξ μηθμγέκεηεξ.

Αρηόμξμξι Ποάκηξοεπ ΠΛΗ513- Intelligence Lab. Αμαθξοά Εογαζίαπ Εναμήμξρ

ΜΑΘΕΜΑ Β2.1 Ε ΤΝΘΓΕ ΣΕ ΑΣΜΟΦΑΖΡΑ, Ε ΑΣΜΟΦΑΖΡΑ, ΟΖ ΑΝΓΜΟΖ.

Αμαμεώζιμες πηγές εμέργειας

Κοιμό Γεωγραφικό Υπόβαθρο για το WISE

Γηζαγωγή ζηεκ Πιεζοζμηαθή Οηθμιμγία. Α. Φακηηκμύ

ΓΑΣΡΟΟΙΟΦΑΓΙΚΗ ΠΑΛΙΝΔΡΟΜΗΗ ΚΑΙ ΑΝΑΠΝΓΤΣΙΚΟ ΤΣΗΜΑ. Δν. Δεμήηνεξ Καπεηάκμξ Γπημειεηήξ A Γαζηνεκηενμιμγηθή Κιηκηθή Γ.Ν. «Γεώνγημξ Παπακηθμιάμο»

Ψηφιακός Τόπος Εργασίας Γνγμδόηεξ Πνμζςπηθή Σειίδα Γνγαδόμεκμξ Πνμζςπηθή Σειίδα Μηνύματα Θέση Εργασίας Λαγωνικό Βιογραυικό

ΜΑΘΗΜΑ Β 5.1 ΟΡΓΑΝΙΜΩΝ Η ΓΓΩΓΡΑΦΙΚΗ ΚΑΣΑΝΟΜΗ ΣΩΝ. Ελέμη Γ. Παλούμπα, Χημικός, Πειραματικό Γυμμάσιο Σπάρτης

Τπμιμγηζμόξ ηεξ ηαπύηεηαξ ηεξ πεμηθήξ ακηίδναζεξ ημο Mg με HCl

ΙΑΘΕΙΑ Α1.3 Ε ΥΡΕΕ ΣΩΚ ΥΑΡΣΩΚ ΣΕΚ ΗΑΘΕΙΓΡΖΚΕ ΔΩΕ. Ελένη Παλούμπα, Χημικός, Πειραματικό Γσμνάσιο Σπάρτης

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10

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

Σωλήμες Ηλεκηρικώμ Εγκαηαζηάζεωμ. Εκπαιδεσηής: Σαββίδης Μιτάλης. Τετνική Στολή Ασγόροσ. Μάθημα: Τετνολογία Ηλεκηρικών Εγκαηαζηάζεων

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος)

ΓΤΡΩΠΗ. 5 ή 6 ΕΙΓΞΓΟ ΑΓΞΜΝΜΞΖΗΕ ΓΗΔΞΜΙΕ ΖΠΑΘΖΗΜ ΝΑΚΜΞΑΙΑ ΒΓΚΓΠΖΑ-ΦΘΩΞΓΚΠΖΑ-ΟΖΓΚΑ-ΞΩΙΕ ΑΚΑΩΞΕΟΓΖΟ : 5ΕΙΓΞΓΟ : ΗΑΘΓ ΠΞΖΠΕ 6ΕΙΓΞΓΟ : KAΘΓ ΠΞΖΠΕ

Εισαγωγή στους Αλγορίθμους Ενότητα 6η

Κεφάλαιο 3. Γραφήματα. ver. 21/12/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

ΔΩΚΠΑΟ ΙΓ ΠΜΚ Η. ΟΓΘ

αξ γκςνίδμομε όηη ζημ ΦΓΚ 222 ηεύπμξ Α δεμμζηεύηεθε μ κ. 4093/2012, ζημ άνζνμ πνώημ,

Μηα θμνά θη έκακ θαηνό ζε έκα μηθνό, μαθνηκό πςνηό δμύζακ δομ

Problems & Questions on MAC Layer

ΠΓΡΙΓΥΟΜΓΝΑ ΓΙΑΓΩΓΗ...3 ΜΓΡΟ Ι ΝΟΜΟΘΓΣΙΚΟ ΠΛΑΙΙΟ ΚΑΙ ΑΝΑΝΓΩΙΜΓ ΠΗΓΓ ΓΝΓΡΓΓΙΑ ΚΓΦΑΛΑΙΟ Α ΓΘΝΙΚΟ ΘΓΜΙΚΟ ΠΛΑΙΙΟ ΣΩΝ ΑΠΓ

Τα αμηκμλέα ζημ πνάζηκμ ηζάη

H XHMEIA EINAI ΙΑΓΖΗΕ

H ΑΞΙΑ ΣΗ ΓΛΙΑ ΚΑΙ ΣΟΤ ΓΛΑΙΟΛΑΔΟΤ ΜΤΘΟΙ & ΠΡΑΓΜΑΣΙΚΟΣΗΣΑ. << Γιηά & Λάδη >>

Σ Ο Ξ Υ Η Φ Θ Ω Μ Ι Α Α Π Θ Ζ Ξ Λ Ε Μ Ω Μ

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων. Ενότητα: Βασικά στοιχεία σχεδίασης & ανάλυσης αλγορίθμων

Κεφάλαιο 3. Γραφήµατα v1.1 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

ΓΗΔΕΘΩΟΓΖΟ ΠΕΟ ΝΑΖΔΑΓΩΓΖΗΕΟ ΟΜΘΕΟ, ΑΝΘ. Αθαδεμασθό έημξ: (πνμκμιμγηθή ζεηνά)

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

r 1 Π 1 r 2 Π 2 πέτασμα στισμή μομοτρωματικό υως στισμή

HY-335 : Δίθηοα Υπμιμγηζηώκ

Εισαγωγή στους Αλγορίθμους

Δομές Δεδομένων Ενότητα 6

4ε Γξαπηή Εξγαζία. Θέκα 1 ν : Μειέηε Πεξίπησζεο Α

Κεφάλαιο 3. Γραφήματα. v1.3 ( ) Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Εισαγωγή στους Αλγορίθμους Ενότητα 7η

Η Άιμτα. Οη γμκείξ ηεξ θαη μη γμκείξ ηεξ Ζόιεξ έθακακ μήκοζε ζημ πνώεκ αθεκηηθό ημοξ θαη θαηάθενακ κα ημκ θοιαθίζμοκ.

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8

ΣΧΕΤ. : Η αριθ. πρωτ. Δ 17 Ε ΕΞ 2013/ Δ.Υ.Ο.

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Transcript:

Τίτλος Μαθήματος: Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων Ενότητα: Βασικοί αλγόριθμοι γραφημάτων Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος Τμήμα: Μαθηματικών

641: Γηζαγςγή ζηε Θεςνία θαη Ακάιοζε Αιγμνίζμςκ Υάνεξ Παπαδόπμοιμξ

Τιε ημο μαζήμαημξ Βαζηθά ζημηπεία ζπεδίαζεξ & ακάιοζεξ αιγμνίζμςκ Ακάιοζε αιγμνίζμςκ, απμδμηηθόηεηα, αζομπηςηηθόξ ζομβμιηζμόξ οκεζηζμέκμη πνόκμη εθηέιεζεξ θαη βαζηθέξ δμμέξ δεδμμέκςκ πίκαθεξ, ιίζηεξ, ζημίβεξ, μονέξ Γοζηαζέξ ηαίνηαζμα, μνζόηεηα, ζςνόξ θαη μονά πνμηεναηόηεηαξ Μέζμδμξ «Δηαίνεη θαη Βαζίιεοε» Γθανμμγέξ ζε ηαληκόμεζε ζημηπείςκ Γπίιοζε ακαδνμμηθώκ ζπέζεςκ Γναθήμαηα θαη αιγόνηζμμη γναθεμάηςκ Δηάηνελε γναθεμάηςκ (BFS, DFS) οκεθηηθόηεηα Σμπμιμγηθή δηάηαλε Μέζμδμη «Απιεζηείαξ» θαη «Δοκαμηθμύ Πνμγναμμαηηζμμύ» Γιάπηζηα ζθειεηηθά δέκδνα (αιγόνηζμμξ Prim, αιγόνηζμμξ Kruskal) οκημμόηενεξ δηαδνμμέξ (αιγόνηζμμξ Dijkstra, Ρμή δηθηύμο) Υνμκμπνμγναμμαηηζμόξ Γπηιεγμέκα ζέμαηα Τπμιμγηζηηθή πμιοπιμθόηεηα, NP-πιενόηεηα 2

Γναθήμαηα: Βαζηθέξ Έκκμηεξ θαη Γθανμμγέξ

Με-θαηεοζοκόμεκα Γναθήμαηα Με-θαηεοζοκόμεκμ γνάθεμα. G = (V, E) V = θόμβμη ή θμνοθέξ. E = αθμέξ μεηαλύ δεογανηώκ θόμβςκ. Η ζπέζε Γ: δηαθνηηέξ, δοαδηθέξ, ζομμεηνηθέξ ζπέζεηξ μεηαλύ ακηηθεημέκςκ. Πανάμεηνμη μεγέζμοξ γναθήμαημξ: n = V, m = E. V = { 1, 2, 3, 4, 5, 6, 7, 8 E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 n = 8 m = 11 4

Καηεοζοκόμεκα Γναθήμαηα Καηεοζοκόμεκμ γνάθεμα. G = (V, E) V = θόμβμη ή θμνοθέξ. E = αθμέξ μεηαλύ δεογανηώκ θόμβςκ. Η ζπέζε Γ: δηαθνηηέξ, δοαδηθέξ, αζύμμεηνεξ ζπέζεηξ μεηαλύ ακηηθεημέκςκ. Πανάμεηνμη μεγέζμοξ γναθήμαημξ: n = V, m = E. e = (u,v): θαηεοζύκεηαη από ημκ θόμβμ u πνμξ ημκ θόμβμ v ελένπεηαη από u θαη εηζένπεηαη ζημκ v ανπηθή θμνοθή ή μονά u e v ηειηθή θμνοθή ή θεθαιή a b c f e d 5

Ονηζμέκεξ Γθανμμγέξ θαη Παναδείγμαηα Γνάθεμα Δίθηομ Μεηαθμνώκ Κόμβμη δηαζηαονώζεηξ δνόμςκ Αθμέξ αοημθηκεηόδνμμμη επηθμηκςκίεξ οπμιμγηζηέξ θαιώδηα από μπηηθέξ ίκεξ World Wide Web ηζημζειίδεξ οπενζύκδεζμμη θμηκςκηθά δίθηοα άκζνςπμη ζπέζεηξ ηνμθηθή αιοζίδα είδμξ μνγακηζμμύ ζενεοηήξ-ζήναμα ζοζηήμαηα ιμγηζμηθμύ ζοκανηήζεηξ Κιήζεηξ ζοκανηήζεςκ Υνμκμπνμγναμμαηηζμόξ ενγαζίεξ πενημνηζμμί ενγαζηώκ θοθιώμαηα πύιεξ θαιώδηα 6

Παγθόζμημξ Ιζηόξ (World Wide Web) Γνάθεμα Παγθόζμημο Ιζημύ Κόμβμη: ηζημζειίδεξ. Αθμέξ: ζύκδεζμμη από μηα ζειίδα ζε άιιε Ιενάνπεζε ηζημζειίδςκ: πόζμ ζεμακηηθέξ είκαη = πόζεξ αθμέξ «αθμομπάκε» ζε μηα ζειίδα cnn.com netscape.com novell.com cnnsi.com timewarner.com hbo.com sorpranos.com 7

Κμηκςκηθά Δίθηοα Γνάθεμα θμηκςκηθμύ δηθηύμο Κόμβμξ: άκζνςπμη. Αθμή: ζπέζε μεηαλύ δομ αηόμςκ Reference: Valdis Krebs, http://www.firstmonday.org/issues/issue7_4/krebs 8

Οηθμιμγηθή Σνμθηθή Αιοζίδα Γνάθεμα ηνμθηθήξ αιοζίδαξ Κόμβμξ = είδμξ μνγακηζμμύ. Αθμή = από ζήναμα ζε ζενεοηή. Reference: http://www.twingroves.district96.k12.il.us/wetlands/salamander/salgraphics/salfoodweb.giff 9

Θεςνία Γναθεμάηςκ Κιάδμξ ηςκ μαζεμαηηθώκ θαη πιενμθμνηθήξ Πνόβιεμα ηςκ γεθονώκ ημο Koenigsberg: Τπάνπεη δηαδνμμή πμο κα πενκάεη από θάζε γέθονα αθνηβώξ μία θμνά θαη κα επηζηέθεη ζημ ανπηθό ζεμείμ; Leonhard Euler (1707-1783) Λύζε Euler (1736): πνώηε δεμμζίεοζε ζηε ζεςνία γναθεμάηςκ Πνόβιεμα ηςκ 4 πνςμάηςκ : Υνςμαηίδμκηαη μη πάνηεξ με 4 ημ πμιύ πνώμαηα; 10

Βαζηθέξ Έκκμηεξ Τπμγνάθεμα εκόξ γναθήμαημξ G=(V, E): γνάθεμα G = (V, E ) ηέημημ ώζηε V V θαη Γ Γ Γπαγώμεκμ οπμγνάθεμα εκόξ γναθήμαημξ G=(V, E): οπμγνάθεμα G = (V, E ) ηέημημ ώζηε Γ = { (x,y) Γ: x V θαη y V 1 1 2 3 2 3 4 5 4 5 11

Βαζηθέξ Έκκμηεξ Ημηδηαδνμμή ζε έκα θαηεοζοκόμεκμ γνάθεμα G=(V, E): αθμιμοζία Ρ = (v 1, v 2,, v k ) θμνοθώκ έηζη ώζηε γηα θάζε v i, v i+1, είηε (v i, v i+1 ) Γ είηε (v i+1, v i ) Γ Δηαδνμμή ζε έκα γνάθεμα G=(V, E): αθμιμοζία Ρ = (v 1, v 2,, v k ) θμνοθώκ έηζη ώζηε γηα θάζε v i, v i+1, (v i, v i+1 ) Γ Απιή δηαδνμμή: δηαδνμμή ζηεκ μπμία όιεξ μη θμνοθέξ είκαη δηαθνηηέξ Κύθιμξ: απιή δηαδνμμή (v 1, v 2,, v k ) ζηεκ μπμία v 1 = v k θαη k > 2 a b c f e d θύθιμξ C = 1-2-4-5-3-1 12

Γεηημκηά θμνοθώκ Με θαηεοζοκόμεκμ γνάθεμα: Γεηημκηά θμνοθήξ v, Ν(v): μη γεηημκηθέξ θμνοθέξ (έπμοκ αθμή) με ηεκ v Kαηεοζοκόμεκμ γνάθεμα: Έζς-γεηημκηά θμνοθήξ v, Ν - (v): μη γεηημκηθέξ θμνοθέξ με ηεκ v πμο είκαη μονέξ Έλς-γεηημκηά θμνοθήξ v, Ν + (v): μη γεηημκηθέξ θμνοθέξ με ηεκ v πμο είκαη θεθαιέξ Η γεηημκηά επεθηείκεηαη θαη ζε ζύκμια θμνοθώκ: Ακ S V, ηόηε Ν(S) = v S N(v) Π.π., Ν( {1, 2, 3 ) = {4, 5, 7, 8 a b c Ν(5) = {2,3,4,6 Ν(6) = {5 Ν(4) = {2,5 Ν(2) = {1,3,4,5 f e d Ν - (a) = {f Ν + (a) = {b Ν - (b) = {a,c,e Ν + (b) = {c,f Ν - (c) = {b Ν + (c) = {b,d Ν - (d) = {c Ν + (d) = {e 13

Βαζμμί θμνοθώκ Με θαηεοζοκόμεκμ γνάθεμα: Βαζμόξ θμνοθήξ v deg(v): ανηζμόξ πνμζθείμεκςκ αθμώκ ζηεκ v Kαηεοζοκόμεκμ γνάθεμα: έζς-βαζμόξ Βαζμόξ εηζόδμο θμνοθήξ v indeg(v): ανηζμόξ εηζενπόμεκςκ αθμώκ ζηεκ v Βαζμόξ ελόδμο θμνοθήξ v outdeg(v): ανηζμόξ ελενπόμεκςκ αθμώκ από ηεκ v έλς-βαζμόξ a b c f e d deg(5) = 4 deg(6) = 1 deg(4) = 2 deg(2) = 4 indeg(a) = 1 outdeg(a) = 1 indeg(b) = 3 outdeg(b) = 2 indeg(c) = 1 outdeg(c) = 2 indeg(d) = 1 outdeg(d) = 1 14

Βαζηθή Ιδηόηεηα Θεώνεμα Euler: (a) ε έκα με-θαηεοζοκόμεκμ γνάθεμα: v V deg(v) = 2m (b) ε έκα θαηεοζοκόμεκμ γνάθεμα: v V indeg(v) = v V outdeg(v) = m a b c f e d θάζε αθμή (u, v) ηεκ μεηνάμε δύμ θμνέξ ζημ άζνμηζμα: μηα ζημ deg(u) θαη μηα ζημ deg(v) 15

Βαζηθμί Ονηζμμί οκεθηηθόηεηα: Έκα με-θαηεοζοκόμεκμ γνάθεμα είκαη ζοκεθηηθό ακ γηα θάζε δεογάνη θόμβςκ u θαη v οπάνπεη δηαδνμμή μεηαλύ u θαη v. 16

Βαζηθμί Ονηζμμί οκεθηηθόηεηα θαηεοζοκόμεκςκ γναθεμάηςκ Έκα θαηεοζοκόμεκμ γνάθεμα είκαη αζζεκώξ ζοκεθηηθό ακ γηα θάζε δεογάνη θόμβςκ u θαη v οπάνπεη εμηδηαδνμμή από u πνμξ v. μμκμμενώξ ζοκεθηηθό ακ γηα θάζε δεογάνη θόμβςκ u θαη v είηε οπάνπεη δηαδνμμή από u πνμξ v είηε οπάνπεη δηαδνμμή από v πνμξ u. ηζπονά ζοκεθηηθό ακ γηα θάζε δεογάνη θόμβςκ u θαη v οπάνπεη δηαδνμμή από u πνμξ v. a b a b a b c c c e d e d e d δηαδνμμή e -> c δηαδνμμή c -> e δηαδνμμή e -> c δηαδνμμή c -> e δηαδνμμή e -> c δηαδνμμή c -> e 17

Ακαπανάζηαζε Γναθεμάηςκ: Πίκαθαξ Γεηηκίαζεξ Πίκαθαξ Γεηηκίαζεξ. n-επί-n πίκαθαξ με A uv = 1 ακ (u, v) είκαη αθμή. Δύμ ακαπαναζηάζεηξ γηα θάζε αθμή. Υώνμξ = Θ(n 2 ) Ο έιεγπμξ ακ (u, v) είκαη αθμή παίνκεη Θ(1) πνόκμ. Πνμζδημνηζμόξ όιςκ ηςκ αθμώκ: Θ(n 2 ) πνόκμ. 1 2 3 4 5 6 7 8 1 0 1 1 0 0 0 0 0 2 1 0 1 1 1 0 0 0 3 1 1 0 0 1 0 1 1 4 0 1 0 1 1 0 0 0 5 0 1 1 1 0 1 0 0 6 0 0 0 0 1 0 0 0 7 0 0 1 0 0 0 0 1 8 0 0 1 0 0 0 1 0 18

Ακαπανάζηαζε Γναθεμάηςκ: Λίζηα Γεηηκίαζεξ Λίζηα Γεηηκίαζεξ. πίκαθαξ ιηζηώκ δεηθημδμηεμέκμξ με θόμβμοξ. Δύμ ακαπαναζηάζεηξ γηα θάζε αθμή. Υώνμξ = Θ(m + n) Ο έιεγπμξ ακ (u, v) είκαη αθμή παίνκεη O(deg(u)) time. Πνμζδημνηζμόξ όιςκ ηςκ αθμώκ: Θ(m + n) time. βαζμόξ = πιήζμξ γεηηόκςκ ημο u 1 2 3 2 3 1 3 4 5 1 2 5 7 8 4 2 5 5 6 2 3 4 6 5 7 3 8 8 3 7 19

Δέκδνα Ονηζμόξ. Έκα με-θαηεοζοκόμεκμ γνάθεμα είκαη δέκδνμ ακ είκαη ζοκεθηηθό θαη δεκ πενηέπεη θύθιμ. Θεώνεμα. Έζης G έκα με-θαηεοζοκόμεκμ γνάθεμα με n θόμβμοξ. Δομ από ηηξ αθόιμοζεξ πνμηάζεηξ ζοκεπάγμκηαη ηεκ ηνίηε. G είκαη ζοκεθηηθό. G δεκ πενηέπεη θύθιμ. G έπεη n-1 αθμέξ. 20

Ρηδςμέκα Δέκηνα Ρηδςμέκμ δέκδνμ. Δμζέκημξ εκόξ δέκδνμο T, δηάιελε έκακ θόμβμ r γηα νίδα θαη πνμζακαηόιηζε θάζε αθμή κα απμμαθνύκεηαη από ημ r. εμακηηθό. Μμκηειμπμηεί ηενανπηθέξ δμμέξ. νίδα r γμκέαξ ημο v v παηδί ημο v θύιια έκα δέκδνμ ημ ίδημ δέκδνμ, νηδςμέκμ ζημ 1 21

Βαζηθμί Αιγόνηζμμη Γναθεμάηςκ: Δηάηνελε Γναθήμαημξ BFS Ακαδήηεζε πνώηα Καηά Πιάημξ DFS Ακαδήηεζε πνώηα Καηά Βάζμξ

Πνμβιήμαηα οκεθηηθόηεηαξ Πνόβιεμα s-t ζοκεθηηθόηεηαξ. Δεδμμέκςκ δύμ θόμβςκ s θαη t, οπάνπεη μμκμπάηη μεηαλύ ημο s θαη t; Πνόβιεμα ζοκημμόηενμο s-t μμκμπαηημύ. Δεδμμέκςκ δύμ θόμβςκ s θαη t, πμημ είκαη ημ μήθμξ ημο ζοκημμόηενμο μμκμπαηημύ μεηαλύ s θαη t; Γθανμμγέξ. Friendster. Γλενεύκεζε ιαβύνηκζμο. Ο ανηζμόξ «Kevin Bacon». Μηθνόηενμξ ανηζμόξ μεηαβάζεςκ ζε δίθηομ επηθμηκςκηώκ. 23

Βαζηθή Ιδέα ζε Δηάηνελε Γναθήμαημξ Δηάηνελε Γναθήμαημξ: Ακαθάιορε θόμβςκ θαη αθμώκ με ζοζηεμαηηθό ηνόπμ Βαζηθή Ιδέα Δηαηήνεζε εκόξ ζοκόιμο θόμβςκ R πμο έπμομε ήδε επηζθεθζεί, λεθηκώκηαξ από θάπμημ θόμβμ s («αθεηενία») Δηαηνέπμομε αθμέξ «δηέιεοζεξ» (u,v) με u R θαη v R. s R u v 24

Ακαδήηεζε πνώηα θαηά Πιάημξ (Breadth First Search-BFS) ΒFS

Ακαδήηεζε πνώηα θαηά Πιάημξ (Breadth First Search-BFS) BFS δηαηζζεηηθά. Γλενεύκεζε από ημκ s πνμξ όιεξ ηηξ δοκαηέξ θαηεοζύκζεηξ, πνμζζέημκηαξ θόμβμοξ ακά «επίπεδμ». Ο αιγόνηζμμξ BFS. L 0 = { s. L 1 = όιμη μη γείημκεξ ημο L 0. L 2 = όιμη μη θόμβμη πμο δεκ ακήθμοκ ζημ L 0 ή L 1, θαη έπμοκ αθμή με έκα θόμβμ ημο L 1. s L 1 L 2 L n-1 L i+1 = όιμη μη θόμβμη πμο δεκ ακήθμοκ ζε πνμεγμύμεκα επίπεδα, θαη έπμοκ αθμή με έκα θόμβμ ημο L i. Θεώνεμα. Γηα θάζε i, ημ L i απμηειείηαη από όιμοξ ημοξ θόμβμοξ ζε απόζηαζε αθνηβώξ i από ημκ s. Τπάνπεη μμκμπάηη (δηαδνμμή) από ημκ s ζημκ t ακ θαη μόκμ ακ μ t ακήθεη ζε θάπμημ επίπεδμ. 26

Ακαδήηεζε πνώηα θαηά Πιάημξ (BFS): Τιμπμίεζε BFS(s){ forall v V { Discovered[v] = false; p[v] = 0; Discovered[s] = true; i=0; L[0] = {s; while L[i] { forall u L[i] { forall (u,v) E { if Discovered[v] = false then { Discovered[v] = true; p[v] = u; // Τ: παηέπαρ(v) = u L[i+1] = L[i+1] {v; // ένθεζη ζηο ηέλορ i = i + 1 // εξανηλήζαμε ηοςρ γείηονερ ηος L[i] Παναηήνεζε: ανθεί μηα ιίζηα L (FIFO μονά) γηα ηεκ οιμπμίεζε ηςκ L[0], L[1],... 27

Ακαδήηεζε πνώηα θαηά Πιάημξ (BFS): Τιμπμίεζε BFS(s){ forall v V { Discovered[v] = false; p[v] = 0; d[v] = + Discovered[s] = true; d[s] = 0; L = {s; while L { u = ππώηο ζηοισείο ηηρ L forall (u,v) E { if Discovered[v] = false then { Discovered[v] = true; d[v] = d[u] + 1; // αςξάνει ηο μήκορ καηά 1 p[v] = u; L = L {v; L = L {u // διαγπαθή ηος u // Τ: παηέπαρ(v) = u // ένθεζη ζηο ηέλορ 28

Ακαδήηεζε πνώηα θαηά Πιάημξ (BFS) Ιδηόηεηα. Έζης G = (V, E) έκα ζοκεθηηθό γνάθεμα. Σόηε ε ζοκάνηεζε p[v] ημο αιγμνίζμμο μνίδεη έκα δέκδνμ Σ (BFS δέκδνμ) = (V, (p[v],v) γηα v V ) G ζοκεθηηθό μ αιγόνηζμμξ ζα επηζθεθηεί όιεξ ηηξ θμνοθέξ θάζε θμνοθή v έπεη έκακ αθνηβώξ p[v] (εθηόξ ηεξ s) Σ έπεη n-1 αθμέξ Σ ζοκεθηηθό Σ δέκδνμ L 0 L 1 L 2 L 3 29

Ακαδήηεζε πνώηα θαηά Πιάημξ (BFS) Ιδηόηεηα. Έζης T ημ BFS δέκδνμ ημο G = (V, E), θαη έζης (x, y) μηα αθμή ημο G. Σόηε ηα επίπεδα ηςκ x θαη y δηαθένμοκ ημ πμιύ θαηά 1. L 0 L 1 L 2 L 3 30

Ακαδήηεζε πνώηα θαηά Πιάημξ (BFS): Ακάιοζε Θεώνεμα. Η πνμεγμύμεκε οιμπμίεζε ημο BFS ηνέπεη ζε πνόκμ O(m + n) ακ ημ γνάθεμα ακαπαναζηαζεί με ιίζηα γεηηκίαζεξ. Απόδεηλε. Γύθμια γηα πνόκμ εθηέιεζεξ O(n 2 ) : ημ πμιύ n ιίζηεξ L[i] θάζε θόμβμξ ακήθεη 1 L[i] : μ βνόγπμξ while εθηειείηαη n θμνέξ όηακ ελεηάδμομε έκακ θόμβμ u, οπάνπμοκ n πνμζθείμεκεξ αθμέξ (u, v), θαη ζπαηαιάμε O(1) πνόκμ γηα ηεκ επελενγαζία θάζε αθμήξ ηεκ πναγμαηηθόηεηα ηνέπεη ζε πνόκμ O(m + n) : όηακ ελεηάδμομε ημκ θόμβμ u, οπάνπμοκ deg(u) αθμέξ (u, v) ζοκμιηθόξ πνόκμξ γηα ηηξ αθμέξ είκαη u V deg(u) = 2m 31

οκεθηηθή οκηζηώζα οκεθηηθή οκηζηώζα. Μέγηζημ ζοκεθηηθό οπμγνάθεμα ημο G Γύνεζε όιςκ ηςκ θμνοθώκ πμο έπμοκ μμκμπάηη από ημκ s. οκεθηηθή ζοκηζηώζα πμο πενηέπεη ημκ θόμβμ 1 = { 1, 2, 3, 4, 5, 6, 7, 8. 32

Γθανμμγή: Γέμηζμα Πενημπώκ με Υνώμα Γέμηζμα Πενημπώκ με πνώμα. Δεδμμέκςκ πνάζηκςκ εηθμκμζημηπείςκ (pixels) ζε μηα εηθόκα, άιιαλε ημ πνώμα ηεξ πνάζηκεξ επηθάκεηαξ μέζς ηςκ γεηημκηθώκ πνάζηκςκ εηθμκμζημηπείςκ ζε μπιε. Κόμβμη: εηθμκμζημηπεία (pixel). Αθμή: δύμ γεηημκηθά πνάζηκα εηθμκμζημηπεία. Γπηθάκεηα: ζοκεθηηθή ζοκηζηώζα ηςκ πνάζηκςκ εηθμκμζημηπείςκ. άιιαλε ημ πνώμα ηεξ πνάζηκεξ επηθάκεηαξ ζε μπιε 33

Γθανμμγή: Γέμηζμα Πενημπώκ με Υνώμα Γέμηζμα Πενημπώκ με πνώμα. Δεδμμέκςκ πνάζηκςκ εηθμκμζημηπείςκ (pixels) ζε μηα εηθόκα, άιιαλε ημ πνώμα ηεξ πνάζηκεξ επηθάκεηαξ μέζς ηςκ γεηημκηθώκ πνάζηκςκ εηθμκμζημηπείςκ ζε μπιε. Κόμβμη: εηθμκμζημηπεία (pixel). Αθμή: δύμ γεηημκηθά πνάζηκα εηθμκμζημηπεία. Γπηθάκεηα: ζοκεθηηθή ζοκηζηώζα ηςκ πνάζηκςκ εηθμκμζημηπείςκ. άιιαλε ημ πνώμα ηεξ πνάζηκεξ επηθάκεηαξ ζε μπιε 34

οκεθηηθέξ οκηζηώζεξ (με-θαηεοζοκόμεκα Γναθήμαηα) οκεθηηθή οκηζηώζα. Γύνεζε όιςκ ηςκ θόμβςκ πμο μπμνμύμε κα επηζθεθζμύμε από θάπμημ θόμβμ s. s R u v είκαη αζθαιέξ κα πνμζζέζμομε ημκ v Θεώνεμα. Με ημκ ηενμαηηζμό, ημ R είκαη ζοκ. ζοκηζηώζα πμο πενηέπεη ημκ s. BFS = ελενεύκεζε ςξ πνμξ ηεκ απόζηαζε από ημκ s. DFS = ελενεύκεζε με δηαθμνεηηθό ηνόπμ 35

Έιεγπμξ Δημενόηεηαξ Μηα εθανμμγή ηεξ Ακαδήηεζεξ πνώηα Καηά Πιάημξ BFS

Δημενή Γναθήμαηα Ονηζμόξ. Έκα με-θαηεοζοκόμεκμ γνάθεμα G = (V, E) θαιείηαη δημενέξ ακ μη θμνοθέξ μπμνμύκ κα πνςμαηηζημύκ θόθθηκεξ ή μπιε έηζη ώζηε θάζε αθμή κα έπεη έκα θόθθηκμ άθνμ θαη έκα μπιε άθνμ. Γθανμμγέξ. Γοζηαζέξ ηαίνηαζμα: άκδνεξ = θόθθηκα, γοκαίθεξ = μπιε. Υνμκμπνμγναμμαηηζμόξ: μεπακήμαηα = θόθθηκα, ενγαζίεξ= μπιε. 37

Έιεγπμξ Δημενόηεηαξ Έιεγπμξ Δημενόηεηαξ. Δεδμμέκμο εκόξ γναθήμαημξ G, είκαη ημ G δημενέξ; Πμιιά πνμβιήμαηα γναθεμάηςκ γίκμκηαη: εοθμιόηενα ακ ημ γνάθεμα είκαη δημενέξ (ηαίνηαζμα) ακηπκεύζημα ακ ημ γνάθεμα είκαη δημενέξ (ακελάνηεημ ζύκμιμ) Πνηκ ημ ζπεδηαζμό ημο αιγμνίζμμο, πνέπεη κα θαηαιάβμομε ηεκ δμμή ηςκ δημενή γναθεμάηςκ. v 2 v 3 v 2 v 1 v 4 v 6 v 5 v 4 v 3 v 5 v 6 v 7 v 1 v 7 έκα δημενέξ γνάθεμα G μηα άιιε ζπεδίαζε ημο G 38

Έκα Γμπόδημ ςξ πνμξ ηε Δημενόηεηα Λήμμα. Ακ έκα γνάθεμα G είκαη δημενέξ, ηόηε δεκ πενηέπεη πενηηηό θύθιμ. Απόδεηλε. Δεκ είκαη δοκαηό κα πνςμαηίζεηξ με θόθθηκμ/μπιε ημκ πενηηηό θύθιμ, πόζμ μάιηζηα ημ ίδημ ημ γνάθεμα G. θύθιμ πενηηημύ μήθμοξ δημενέξ (2-πνςμαηίζημμ) με δημενέξ (όπη 2-πνςμαηίζημμ) 39

Δημενή Γναθήμαηα Λήμμα. Έζης G ζοκεθηηθό, θαη έζης L 0,, L k ηα επίπεδα πμο πανάγεη μ BFS με ανπή ημκ s. Αθνηβώξ έκα από ηα αθόιμοζα ηζπύεη. (i) Καμία αθμή ημο G εκώκεη δομ θόμβμοξ ίδημο επηπέδμο θαη ημ G δημενέξ. (ii) Μηα αθμή ημο G εκώκεη δομ θόμβμοξ ίδημο επηπέδμο θαη ημ G πενηέπεη πενηηηό θύθιμ (θαη επμμέκςξ δεκ είκαη δημενέξ). L 1 L 2 L 3 Πενίπηςζε (i) L 1 L 2 L 3 Πενίπηςζε (ii) 40

Δημενή Γναθήμαηα Λήμμα. Έζης G ζοκεθηηθό, θαη έζης L 0,, L k ηα επίπεδα πμο πανάγεη μ BFS με ανπή ημκ s. Αθνηβώξ έκα από ηα αθόιμοζα ηζπύεη. (i) Καμία αθμή ημο G εκώκεη δομ θόμβμοξ ίδημο επηπέδμο θαη ημ G δημενέξ. (ii) Μηα αθμή ημο G εκώκεη δομ θόμβμοξ ίδημο επηπέδμο θαη ημ G πενηέπεη πενηηηό θύθιμ (θαη επμμέκςξ δεκ είκαη δημενέξ). Απόδεηλε. (i) Τπμζέημομε όηη θαμία αθμή δεκ εκώκεη θόμβμοξ ίδημο επηπέδμο. Από πνμεγμύμεκα, όιεξ μη αθμέξ εκώκμοκ μόκμ γεηημκηθά επίπεδα. Δημενόηεηα: θόθθηκμη = θόμβμη πενηηημύ επηπέδμο, μπιε= θόμβμη άνηημο επηπέδμο. L 1 L 2 L 3 Πενίπηςζε (i) 41

Δημενή Γναθήμαηα Λήμμα. Έζης G ζοκεθηηθό, θαη έζης L 0,, L k ηα επίπεδα πμο πανάγεη μ BFS με ανπή ημκ s. Αθνηβώξ έκα από ηα αθόιμοζα ηζπύεη. (i) Καμία αθμή ημο G εκώκεη δομ θόμβμοξ ίδημο επηπέδμο θαη ημ G δημενέξ. (ii) Μηα αθμή ημο G εκώκεη δομ θόμβμοξ ίδημο επηπέδμο θαη ημ G πενηέπεη πενηηηό θύθιμ (θαη επμμέκςξ δεκ είκαη δημενέξ). Απόδεηλε. (ii) Έζης (x, y) αθμή με x, y ζημ ίδμ επίπεδμ L j. Έζης z = lca(x, y) = ειάπηζημξ θμηκόξ πνμθάημπμξ. Έζης L i ημ επίπεδμ πμο ακήθεη μ z. Κύθιμξ: αθμή (x, y) + μμκμπάηη από y ζημ z + μμκμπάηη από z ζημ x. Μήθμξ είκαη 1 + (j-i) + (j-i), πμο είκαη πενηηηό. z = lca(x, y) (x, y) μμκμπάηη y ζημ z μμκμπάηη z ζημ x 42

Υαναθηενηζμόξ Δημενή Γναθεμάηςκ Πόνηζμα. Έκα γνάθεμα G είκαη δημενέξ ακ θαη μόκμ ακ δεκ πενηέπεη θύθιμ πενηηημύ μήθμοξ 5-θύθιμξ C δημενέξ (2-πνςμαηίζημμ) με-δημενέξ (δεκ είκαη 2-πνςμαηίζημμ) 43

Ακαδήηεζε πνώηα θαηά Βάζμξ (Depth First Search-DFS) DFS

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS) DFS δηαηζζεηηθά. Γλενεύκεζε από θάπμημκ θόμβμ u με πνμηεναηόηεηα «βάζμοξ»: αθμιμοζμύμε αθμή (u,v), ακαθαιύπημκηαξ ημκ v, μεηά αθμιμοζμύμε αθμή (v,z), ακαθαιύπημκηαξ ημκ z, θμθ. Ο αιγόνηζμμξ DFS (R: ζύκμιμ θόμβςκ πμο έπμοκ ακαθαιοθζεί). 45

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Τιμπμίεζε DFS(G){ forall v V { Discovered[v] = false; p[v] = 0; t = 0; // καθολικόρ μεηπηηήρ σπόνος forall v V {if Discovered[v] = false then DFS-visit(v) DFS-visit(u){ Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; in[]: τρόμος αμακάλσυης // Τ: παηέπαρ(v) = u out[]: τρόμος εγκατάλειυης 46

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t x w v u 47

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 1/10 x w v u 48

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 2/9 1/10 x w v u 49

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 3/6 2/9 1/10 x w v u 50

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 3/6 2/9 1/10 4/5 x w v u 51

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 3/6 2/9 1/10 4/5 x w v u 52

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 3/6 2/9 1/10 4/5 x w v u 53

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 3/6 2/9 1/10 4/5 7/8 x w v u 54

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 3/6 2/9 1/10 4/5 7/8 x w v u 55

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 3/6 2/9 1/10 4/5 7/8 x w v u 56

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 3/6 2/9 1/10 4/5 7/8 x w v u 57

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 3/6 2/9 1/10 11/16 4/5 7/8 x w v u 58

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 3/6 2/9 1/10 11/16 4/5 7/8 12/13 x w v u 59

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 3/6 2/9 1/10 11/16 4/5 7/8 12/13 x w v u 60

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 3/6 2/9 1/10 11/16 4/5 7/8 12/13 14/15 x w v u 61

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 3/6 2/9 1/10 11/16 4/5 7/8 12/13 14/15 x w v u 62

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; y z s t 3/6 2/9 1/10 11/16 4/5 7/8 12/13 14/15 x w v u 63

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Πανάδεηγμα Discovered[u] = true; t = t + 1; in[u] = t; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); t = t + 1; out[u] = t; Καηεγμνημπμίεζε αθμώκ 1. Ακμές δέμδροσ (p[v],v) 2. Πίζς αθμέξ: ζοκδέμοκ θμνοθή με θάπμημκ πνόγμκό ηεξ ζημ δέκδνμ 3. Γμπνόξ αθμέξ: ζοκδέμοκ θμνοθή με θάπμημκ απόγμκό ηεξ ζημ δέκδνμ 4. Δηαζοκδεηηθέξ αθμέξ: μη οπόιμηπεξ y z s t 3/6 2/9 1/10 11/16 4/5 7/8 12/13 14/15 x w v u 64

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Ακάιοζε Θεώνεμα. Η πνμεγμύμεκε οιμπμίεζε ημο αιγμνίζμμο DFS ηνέπεη ζε πνόκμ Ο(m + n), ακ ημ γνάθεμα δίκεηαη με ηεκ ακαπανάζηαζε ιηζηώκ γεηηκίαζεξ. Απόδεηλε. Πανόμμηα με εθείκε ημο BFS. DFS(G){ forall v V { Discovered[v] = false; p[v] = 0; forall v V {if Discovered[v] = false then DFS-visit(v) DFS-visit(u){ Discovered[u] = true; forall (u,v) E { if Discovered[v] = false then { p[v] = u; DFS-visit(v); // Τ: παηέπαρ(v) = u 65

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): Καηεγμνημπμίεζε αθμώκ Καηεγμνημπμίεζε αθμώκ 1. Ακμές δέμδροσ (p[v],v) 2. Πίζς αθμέξ: ζοκδέμοκ θμνοθή με θάπμημκ πνόγμκό ηεξ ζημ δέκδνμ 3. Γμπνόξ αθμέξ: ζοκδέμοκ θμνοθή με θάπμημκ απόγμκό ηεξ ζημ δέκδνμ 4. Δηαζοκδεηηθέξ αθμέξ: μη οπόιμηπεξ y z s t 3/6 2/9 1/10 11/16 4/5 7/8 12/13 14/15 x w v u 66

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): ζε με-θαηεοζοκόμεκα γναθήμαηα Πανάδεηγμα (με-θαηεοζοκόμεκμ γνάθεμα) ζε ηζμβαζμίεξ επηιέγμομε ημκ θόμβμ με ημ min 67

Ακαδήηεζε πνώηα θαηά Βάζμξ (DFS): ζε με-θαηεοζοκόμεκα γναθήμαηα Ιδηόηεηα DFS ζε με-θαηεοζοκόμεκα: ε μηα ακαδήηεζε πνώηα θαηά βάζμξ θάζε αθμή εκόξ ζοκεθηηθμύ G είκαη αθμή δέκδνμο ή πίζς αθμή 68

οκεθηηθόηεηα ζε Καηεοζοκόμεκα Γναθήμαηα

Καηεοζοκόμεκα Γναθήμαηα Καηεοζοκόμεκμ γνάθεμα. G = (V, E) Μηα αθμή (u, v) ελένπεηαη από ημ u θαη εηζένπεηαη ζημ v. Πανάδεηγμα. Web οπενζοκδέζεηξ δείπκμοκ από μηα ζειίδα ζε μηα άιιε Οη θαηεοζύκζεηξ ζε έκα γνάθεμα είκαη θνίζημεξ. Οη πενηζζόηενεξ μεπακέξ ακαδήηεζεξ ακαθαιύπημοκ θαηεοζοκόμεκεξ δμμέξ γηα κα ηαληκμμήζμοκ ζειίδεξ ςξ πνμξ ηεκ ζεμακηηθόηεηά ημοξ. 70

Δηάηνελε Καηεοζοκόμεκςκ Γναθεμάηςκ Καηεοζοκόμεκε πνμζπειαζημόηεηα. Δεδμμέκμο εκόξ θόμβμο s, βνεξ όιμοξ ημοξ θόμβμοξ πμο είκαη πνμζπειάζημμη από ημκ s. Πνόβιεμα ζοκημμόηενεξ θαηεοζοκόμεκεξ s-t δηαδνμμήξ. Δεδμμέκςκ δομ θόμβςκ s θαη t, πμημ είκαη ημ μήθμξ ηεξ ζοκημμόηενεξ δηαδνμμήξ μεηαλύ ημο s θαη t; Δηάηνελε (δηαπέναζε) γναθήμαημξ. Οη αιγόνηζμμη BFS θαη DFS επεθηείκμκηαη με ακάιμγμ ηνόπμ ζε θαηεοζοκόμεκα γναθήμαηα. ανςηήξ ημο web (web crawler). Ξεθίκα από μηα ζειίδα s. Βνεξ όιεξ ηηξ ζειίδεξ πμο είκαη πνμζπειάζημεξ από ηεκ s, είηε άμεζα είηε έμμεζα. 71

Ιζπονή οκεθηηθόηεηα Ονηζμόξ. Δομ θόμβμη u θαη v είκαη αμμηβαία πνμζπειάζημμη ακ οπάνπεη μμκμπάηη από ημκ u ζημκ v θαη επίζεξ μμκμπάηη από ημκ v ζημκ u. Ονηζμόξ. Έκα γνάθεμα είκαη ηζπονά ζοκεθηηθό ακ θάζε δεογάνη θόμβςκ είκαη αμμηβαία πνμζπειάζημμ. Λήμμα. Έζης s έκαξ θόμβμξ. G είκαη ηζπονά ζοκεθηηθό ακ θαη μόκμ ακ θάζε θόμβμξ είκαη πνμζπειάζημμξ από ημκ s, θαη μ s είκαη πνμζπειάζημμξ από θάζε θόμβμ. Απόδεηλε. Έπεηαη από ημκ μνηζμό. Απόδεηλε. Δηαδνμμή από u πνμξ v: ζοκέκςζε u-s δηαδνμμή με s-v δηαδνμμή. Δηαδνμμή από v πνμξ u: ζοκέκςζε v-s δηαδνμμή με s-u δηαδνμμή. s u Δεκ οπάνπεη πνόβιεμα ακ μη δηαδνμμέξ έπμοκ θμηκμύξ θόμβμοξ v 72

Ιζπονή οκεθηηθόηεηα: Αιγόνηζμμξ Θεώνεμα. Μπμνεί κα θαζμνηζηεί ακ ημ G είκαη ηζπονά ζοκεθηηθό ζε O(m + n) Απόδεηλε. πνόκμ. Γπέιελε μπμημκδήπμηε θόμβμ s. Γθηέιεζε BFS από s ζημ G. Γθηέιεζε BFS από s ζημ G rev. ακηίζηνμθεξ θαηεοζύκζεηξ θάζε αθμήξ ημο G Γπέζηνερε «καη» ακ-κ όιμη μη θόμβμη ακαθαιύθζεθακ θαη ζηηξ δομ BFS εθηειέζεηξ Ονζόηεηα έπεηαη από ημ πνμεγμύμεκμ ιήμμα. ηζπονά ζοκεθηηθό όπη ηζπονά ζοκεθηηθό Θεώνεμα. [Tarjan 1972] Μπμνείξ κα οπμιμγίζεηξ ηηξ ηζπονά ζοκεθηηθέξ ζοκηζηώζεξ ημο G ζε Ο(m + n) πνόκμ. 73

Καηεοζοκόμεκα Άθοθια Γναθήμαηα (DAGs) θαη Σμπμιμγηθή Δηάηαλε

Καηεοζοκόμεκα Άθοθια Γναθήμαηα (DAGs) Ονηζμόξ. Έκα DAG είκαη έκα θαηεοζοκόμεκμ γνάθεμα πμο δεκ πενηέπεη θύθιμοξ Ονηζμόξ. Μηα ημπμιμγηθή ηαληκόμεζε εκόξ θαηεοζοκόμεκμο γναθήμαημξ G = (V, E) είκαη μηα δηάηαλε ηςκ θόμβςκ v 1, v 2,, v n έηζη ώζηε (v i, v j ) κα ηζπύεη i < j. v 2 v 3 v 6 v 5 v 4 v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 7 v 1 έκα DAG μηα ημπμιμγηθή ηαληκόμεζε 75

Γθανμμγέξ: Πενημνηζμμί Πνμηεναηόηεηαξ Πενημνηζμμί πνμηεναηόηεηαξ. Η αθμή (v i, v j ) οπμκμεί όηη ε ενγαζία v i πνέπεη κα πνμεγεζεί ηεξ ενγαζίαξ v j. Γθανμμγέξ. Πνμαπαηημύμεκα μαζήμαηα: ημ μάζεμα v i πνέπεη κα δηδαπζεί πνηκ ημ μάζεμα v j. Μεηαγιώηηηζε: ημ θμμμάηη v i πνέπεη κα μεηαθναζηεί πνηκ ημ v j. Τπμιμγηζμόξ αθμιμοζίαξ ενγαζηώκ: ε έλμδμξ ηεξ ενγαζίαξ v i είκαη απαναίηεηε γηα ημκ πνμζδημνηζμό ηεξ εηζόδμο ηεξ v j. Τπμιμγηζμόξ ανηζμεηηθώκ παναζηάζεςκ, π.π. ( (α+β) * (γ-δ) ε ) * (γ-δ) Γνώηεζε. Έπμοκ όια ηα θαηεοζοκόμεκα γναθήμαηα ημπμιμγηθή δηάηαλε; v 2 v 3 γ v 6 v 5 v 4 α β v 7 v 1 76

Καηεοζοκόμεκα Άθοθια Γναθήμαηα (DAGs) Λήμμα. Ακ ημ G έπεη ημπμιμγηθή ηαληκόμεζε, ηόηε ημ G είκαη DAG. Απόδεηλε. (άημπμ) Τπμζέημομε όηη ημ G έπεη ημπμιμγηθή ηαληκόμεζε v 1,, v n θαη ημ G έπεη θαηεοζοκόμεκμ θύθιμ C. Έζης v i μ θόμβμξ με ημ μηθνόηενμ δείθηε ζημ C Έζης v j μ θόμβμξ αθνηβώξ πνηκ ημ v i ζημ C: δειαδή (v j, v i ) είκαη αθμή. Από ηεκ επηιμγή ημο i, έπμομε i < j. Ακηηζέηςξ, επεηδή (v j, v i ) είκαη αθμή θαη v 1,, v n είκαη ημπμιμγηθή ηαληκόμεζε, ζα πνέπεη j < i, άημπμ. μ θαηεοζοκόμεκμξ θύθιμξ C v 1 v i v j v n ε οπμηηζέμεκε ημπμιμγηθή ηαληκόμεζε 77

Καηεοζοκόμεκα Άθοθια Γναθήμαηα (DAGs) Λήμμα. Ακ ημ G έπεη ημπμιμγηθή ηαληκόμεζε, ηόηε ημ G είκαη DAG. Γνώηεζε. Κάζε DAG έπεη ημπμιμγηθή ηαληκόμεζε; Γνώηεζε. Ακ καη, πώξ οπμιμγίδμομε μηα ημπμιμγηθή ηαληκόμεζε; 78

Καηεοζοκόμεκα Άθοθια Γναθήμαηα (DAGs) Λήμμα. Ακ ημ G είκαη DAG, ηόηε ημ G έπεη θόμβμ πςνίξ εηζενπόμεκεξ αθμέξ. Απόδεηλε. (άημπμ) Τπμζέημομε όηη ημ G είκαη DAG θαη θάζε θόμβμξ έπεη ημοιάπηζημκ 1 εηζενπόμεκε αθμή. Δηαιέγμομε έκακ θόμβμ v, θαη αθμιμοζμύμε ακάδνμμεξ αθμέξ από ημκ v. Γπεηδή μ v έπεη 1 εηζενπόμεκε αθμή (u, v), πνμπςνάμε ακάδνμμα ζημκ u. ηε ζοκέπεηα, επεηδή μ u έπεη 1 εηζενπόμεκε αθμή (x, u), πνμπςνάμε ακάδνμμα ζημκ x. Γπακαιαμβάκμομε μέπνη κα ζοκακηήζμομε έκα θόμβμ, έζης w, δομ θμνέξ. Έζης C ε αθμιμοζία ηςκ θόμβςκ μεηαλύ δηαδμπηθώκ επηζθέρεςκ ημο w. Σόηε μ C ζα είκαη θύθιμξ. w x u v 79

Καηεοζοκόμεκα Άθοθια Γναθήμαηα (DAGs) Λήμμα. Ακ ημ G είκαη DAG, ηόηε ημ G έπεη ημπμιμγηθή ηαληκόμεζε. Απόδεηλε. (με επαγςγή ζημ n) Βάζε επαγςγήξ: ηζπύεη γηα n = 1. Δεδμμέκμο εκόξ DAG με n > 1 θόμβμοξ, βνεξ έκακ θόμβμ v πςνίξ εηζενπόμεκεξ αθμέξ (πνμεγμύμεκμ Λήμμα). Σμ G - { v είκαη DAG, θαζώξ ε δηαγναθή ημο v δεκ δεμημονγεί θύθιμοξ. Από επαγςγηθή οπόζεζε: G - { v έπεη ημπμιμγηθή ηαληκόμεζε Σμπμζεημύμε ημ v πνώημ ζηε ημπμιμγηθή ηαληκόμεζε θαη ημοξ θόμβμοξ ημο G - { v ημοξ ημπμζεημύμε μεηά ημ v. Αοηό είκαη έγθονμ δηόηη μ v δεκ έπεη εηζενπόμεκεξ αθμέξ. DAG v 80

Καηεοζοκόμεκα Άθοθια Γναθήμαηα (DAGs) Λήμμα. Ακ ημ G έπεη ημπμιμγηθή ηαληκόμεζε, ηόηε ημ G είκαη DAG. Λήμμα. Ακ ημ G είκαη DAG, ηόηε ημ G έπεη ημπμιμγηθή ηαληκόμεζε. Θεώνεμα. Έκα θαηεοζοκόμεκμ γνάθεμα G έπεη ημπμιμγηθή ηαληκόμεζε ακ θαη μόκμ ακ είκαη DAG. 81

Αιγόνηζμμξ Γύνεζεξ Σμπμιμγηθήξ Σαληκόμεζεξ v 2 v 3 v 6 v 5 v 4 v 7 v 1 82

Αιγόνηζμμξ Γύνεζεξ Σμπμιμγηθήξ Σαληκόμεζεξ v 2 v 3 v 6 v 5 v 4 v 7 v 1 Σμπμιμγηθή ηαληκόμεζε: 83

Αιγόνηζμμξ Γύνεζεξ Σμπμιμγηθήξ Σαληκόμεζεξ v 2 v 3 v 6 v 5 v 4 v 7 Σμπμιμγηθή ηαληκόμεζε: v 1 84

Αιγόνηζμμξ Γύνεζεξ Σμπμιμγηθήξ Σαληκόμεζεξ v 3 v 6 v 5 v 4 v 7 Σμπμιμγηθή ηαληκόμεζε: v 1, v 2 85

Αιγόνηζμμξ Γύνεζεξ Σμπμιμγηθήξ Σαληκόμεζεξ v 6 v 5 v 4 v 7 Σμπμιμγηθή ηαληκόμεζε: v 1, v 2, v 3 86

Αιγόνηζμμξ Γύνεζεξ Σμπμιμγηθήξ Σαληκόμεζεξ v 6 v 5 v 7 Σμπμιμγηθή ηαληκόμεζε: v 1, v 2, v 3, v 4 87

Αιγόνηζμμξ Γύνεζεξ Σμπμιμγηθήξ Σαληκόμεζεξ v 6 v 7 Σμπμιμγηθή ηαληκόμεζε: v 1, v 2, v 3, v 4, v 5 88

Αιγόνηζμμξ Γύνεζεξ Σμπμιμγηθήξ Σαληκόμεζεξ v 7 Σμπμιμγηθή ηαληκόμεζε: v 1, v 2, v 3, v 4, v 5, v 6 89

Αιγόνηζμμξ Γύνεζεξ Σμπμιμγηθήξ Σαληκόμεζεξ v 2 v 3 v 6 v 5 v 4 v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 7 v 1 Σμπμιμγηθή ηαληκόμεζε: v 1, v 2, v 3, v 4, v 5, v 6, v 7. 90

Αιγόνηζμμξ Γύνεζεξ Σμπμιμγηθήξ Σαληκόμεζεξ: Υνόκμξ Γθηέιεζεξ Θεώνεμα. Ο αιγόνηζμμξ βνίζθεη μηα ημπμιμγηθή ηαληκόμεζε ζε πνόκμ O(m + n) Απόδεηλε. Ονζόηεηα: πνμεγμύμεκμ Λήμμα πμο πενηέγναθε ημκ αιγόνηζμμ Δηαηενμύμε ηηξ αθόιμοζεξ πιενμθμνίεξ: count[w] = (οπόιμηπμ) πιήζμξ εηζενπόμεκςκ αθμώκ S = ζύκμιμ θόμβςκ πςνίξ εηζενπόμεκεξ αθμέξ (ιίζηα με count[w]=0) Ανπηθμπμίεζε γηα count[] θαη S: O(m + n) με μηα δηάζπηζε ημο γναθήμαημξ. Γκεμένςζε ζε θάζε βήμα: όηακ δηαγνάθμομε ηεκ θμνοθή v δηαγναθή ημο v από ημ S (ζηαζενό πνόκμ Ο(1)) μείςζε ημο count[w] γηα όιεξ ηηξ αθμέξ από v πνμξ w, θαη ακ count[w] γίκεη 0 ηόηε πνμζζήθε ημο w ζημ S εθηειείηαη ζε O(1) πνόκμ γηα θάζε αθμή Γκαιιαθηηθόξ Αιγόνηζμμξ: Σαληκόμεζε ημοξ θόμβμοξ ζε θζίκμοζα ηάλε ςξ πνμξ ημκ πνόκμ εγθαηάιεηρεξ (out[]) ημο DFS ή, αιιηώξ, outdeg(v) μεηώζεηξ γηα ηα ακηίζημηπα count[] v (outdeg(v) + O(1)) = O(m +n) 91

Σμπμιμγηθή Δηάηαλε: Πανάδεηγμα Πόζεξ ημπμιμγηθέξ δηαηάλεηξ έπμοκ ηα αθόιμοζα γναθήμαηα; b a e c d b c a f d e 92

Καιή Μειέηε!! Γναθήμαηα - Γναθήμαηα Γναθήμαηα - είκαη πημ εύθμιμη μη αιγόνηζμμη ζε γναθήμαηα από όζμ θαίκμκηαη με ηεκ πνώηε μαηηά - απιά εθηειέζηε δηαθμνεηηθά παναδείγμαηα γναθεμάηςκ - αξ ημοξ θαηαιάβμομε ηώνα (πνηκ είκαη «ανγά»)

Ανοικτά Ακαδημαϊκά Μαθήματα Πανεπιστήμιο Ιωαννίνων Τέλος Ενότητας

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Ιωαννίνων» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. Σημειώματα Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Ιωαννίνων, Διδάσκων: Λέκτορας Χάρης Παπαδόπουλος «Εισαγωγή στη Θεωρία και Ανάλυση Αλγορίθμων». Έκδοση: 1.0. Ιωάννινα 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: http://ecourse.uoi.gr/course/view.php?id=1111. Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Δημιουργού - Παρόμοια Διανομή, Διεθνής Έκδοση 4.0 [1] ή μεταγενέστερη. [1] https://creativecommons.org/licenses/by-sa/4.0/.