Ενότητα 10 Γράφοι (ή Γραφήµατα)

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

Download "Ενότητα 10 Γράφοι (ή Γραφήµατα)"

Transcript

1 Ενότητα 10 Γράφοι (ή γραφήµατα) ΗΥ240 - Παναγιώτα Φατούρου 1 Γράφοι (ή Γραφήµατα) Ένας γράφος αποτελείται από ένα σύνολο από σηµεία (που λέγονται κόµβοι) και ένα σύνολο από γραµµές (που λέγονται ακµές) οι οποίες συνδέουν ζεύγη κόµβων. Εφαρµογές Μοντελοποίηση πολλών προβληµάτων: Αεροπορικές πτήσεις µεταξύ κάποιων πόλεων. Συνηθίζεται στη δηµιουργία χαρτών να ζωγραφίζονται γειτονικές χώρες (νοµοί) µε διαφορετικό χρώµα. Το πρόβληµα αυτό µπορεί να µοντελοποιηθεί σαν ένα πρόβληµα γράφων. Πολλά παιχνίδια µπορούν να µοντελοποιηθούν µε χρήση γράφων. Traveling Salesman Problem (Πρόβληµα περιπλανώµενου πωλητή): εδοµένου ενός συνόλου από πόλεις και της απόστασης µεταξύ κάθε ζεύγους πόλεων, βρείτε τη συντοµότερη διαδροµή που επισκέπτεται κάθε πόλη (δηλαδή εκείνη στην οποία διανύεται η µικρότερη απόσταση). ΗΥ240 - Παναγιώτα Φατούρου 2 1

2 Παραδείγµατα Γράφων ΗΥ240 - Παναγιώτα Φατούρου 3 Χρήσιµη Ορολογία Ένας γράφος G χαρακτηρίζεται από δύο σύνολα V και E. Το σύνολο V είναι ένα πεπερασµένο σύνολο, που περιέχει ως στοιχεία τις κορυφές (vertices) ή κόµβους (nodes) ή σηµεία (points) του γράφου. Το σύνολο Ε περιέχει τα ζεύγη κορυφών του γράφου, τα οποία ορίζουν τις ακµές (edges) ή τόξα (arcs) ή συνδέσµους (links) του. Οι κόµβοι ή οι ακµές ενός γράφου χαρακτηρίζονται από ένα µοναδικό όνοµα που ονοµάζεται ετικέτα (label). V(G) ή V: το σύνολο των κόµβων ενός γράφου G E(G) ή E: το σύνολο των ακµών ενός γράφου G G(V,E): γράφος µε σύνολο κόµβων V και σύνολο ακµών Ε Παραδείγµατα V(G 1 ) = {1,2,3,4, E(G 1 ) = {(1,2),(1,3),(1,4),(2,3),(2,4),(3,4) V(G 2 ) = {1,2,3,4,5,6,7, E(G 2 ) = {(1,2), (1,3), (2,4), (2,5), (3,6), (3,7) Γράφος µε βάρη στις ακµές (weighted graph) λέγεται ένας γράφος, όπου µε κάθε ακµή του έχει συσχετισθεί ένας αριθµός που ονοµάζεται βάρος (weight). ΗΥ240 - Παναγιώτα Φατούρου 4 2

3 Χρήσιµη Ορολογία Ένας γράφος είναι µη κατευθυνόµενος αν τα ζεύγη των κορυφών που ορίζουν τις ακµές του στερούνται διάταξης, π.χ., τα ζεύγη (v, u) και (u, v) αναφέρονται στην ίδια ακµή. Στους κατευθυνόµενους γράφους κάθε ακµή συµβολίζεται µε το κατευθυνόµενο ζεύγος <v, u>, όπου v είναι η ουρά (tail) και u είναι η κεφαλή (head) της ακµής (έτσι, οι ακµές <v, u> και <u, v> είναι δυο διαφορετικές ακµές). Ένας µη κατευθυνόµενος γράφος µπορεί να θεωρηθεί ως ένας συµµετρικός κατευθυνόµενος γράφος. Παράδειγµα Οι γράφοι G και G3 είναι κατευθυνόµενοι ενώ ο γράφος του σχήµατος (a) είναι µη-κατευθυνόµενος. V(G 3 ) = {1,2,3, E(G 3 ) = {<1,2>,<2,1>,<2,3> V(G) = {u,v,w,x,y, E(G) = {<u,w>, <w,u>, <w,y>, <x,w>, <y,v>,<v,u>. ΗΥ240 - Παναγιώτα Φατούρου 5 G Χρήσιµη Ορολογία Αν (v, u) Ε(G), τότε οι κορυφές v και u λέγονται διπλανές (adjacent) ή γειτονικές (neighboring) και η ακµή (v, u) ονοµάζεται προσκείµενη στις κορυφές v και u. Αν δύο κορυφές v και u δεν συνδέονται µεταξύ τους µε ακµή λέγονται ανεξάρτητες (independent). Αν (v, u) είναι µια ακµή τότε η κορυφή v λέγεται διπλανή (adjacent) της u. Επίσης, οι κορυφές v και u λέγονται γειτονικές. Αν <v,u> είναι µια ακµή ενός κατευθυνόµενου γράφου, τότε ο κόµβος v είναι γειτονικός του κόµβου u, αλλά το αντίστροφο ισχύει µόνο αν και η ακµή <u, v> υπάρχει επίσης στον κατευθυνόµενο γράφο. Ένας γράφος µε πολλές ακµές λέγεται πυκνός (συνήθως µε Θ(nlogn) ή περισσότερες ακµές). Ένας γράφος µε λίγες ακµές (συνήθως λιγότερες από O(n)) λέγεται αραιός. ΗΥ240 - Παναγιώτα Φατούρου 6 3

4 Θεµιτές Λειτουργίες σε Γράφους MakeGraph(V): επιστρέφει έναν γράφο µε σύνολο κορυφών V και καµία ακµή. Vertices(G): επιστρέφει V(G), το σύνολο των κορυφών του G. Εdges(G): επιστρέφει Ε(G), το σύνολο των ακµών του G. Neighbors(G,v): επιστρέφει το σύνολο των κορυφών που είναι γειτονικές του κόµβου v στον G. AddVertex(G,v): Προσθέτει ένα νέο κόµβο µε ετικέτα v στον G. AddDirectedEdge(G,u,v): προσθέτει µια νέα (κατευθυνόµενη) ακµή <u,v> που συνδέει τους κόµβους u και v στον G. AddUndirectedEdge(G,u,v): προσθέτει τη νέα ακµή (u,v) που συνδέει τους κόµβους u και v στον G. DeleteVertex(G,v): διαγράφει τον κόµβο v από τον G, µαζί µε όλες τις ακµές που πρόσκεινται σε αυτόν. DeleteEdge(G,u,v): διαγράφει την ακµή που συνδέει τους κόµβους u και v στον G. ΗΥ240 - Παναγιώτα Φατούρου 7 Αναπαράσταση Γράφων Παραδείγµατα Έστω ένας γράφος G του οποίου οι κόµβοι έχουν αριθµηθεί από το 1 ως το V κατά αυθαίρετο τρόπο. Ο πίνακας γειτνίασης Α του G είναι ένας V x V Κατευθυνόµενος γράφος G 1 πίνακας µε στοιχεία: 1 αν (i,j) E A[ i, j] = 0 διαφορετικά Ορίζουµε ως ανάστροφο ενός πίνακα γειτνίασης Α τον πίνακα Α Τ = {a ijt, όπου a ijt = a ji, για κάθε i,j {1,.., V. Πίνακας γειτνίασης του G 1 Ο πίνακας γειτνίασης ενός µη-κατευθυνόµενου γράφου ισούται µε τον ανάστροφό του. Για κάθε εγγραφή A[i,j] του πίνακα που είναι ίση µε 1, η εγγραφή Α[j,i] ισούται επίσης µε 1. ΗΥ240 - Παναγιώτα Φατούρου 8 4

5 Θετικά & Αρνητικά Πινάκων Γειτνίασης Θετικά Αν δεν χρειάζεται να αποθηκευτούν επιπρόσθετες πληροφορίες για κάθε κόµβο του γράφου, η µέθοδος είναι πολύ ελκυστική. Κάθε κόµβος χαρακτηρίζεται από έναν ακέραιο και οι ακέραιοι αυτοί χρησιµοποιούνται για διευθυνσιοδότηση του πίνακα γειτνίασης. Πολλές λειτουργίες υλοποιούνται απλά και αποτελεσµατικά. Αρνητικά Κάθε διαγραφή ή εισαγωγή κόµβου στο γράφο προκαλεί αλλαγή στο µέγεθος του πίνακα. Η µέθοδος πίνακα γειτνίασης είναι απλή, αλλά δεν υποστηρίζει αποτελεσµατικά όλες τις λειτουργίες. Ποια η πολυπλοκότητα της λειτουργίας εύρεσης των γειτονικών κόµβων ενός κόµβου υ? Θα µπορούσαµε να υλοποιήσουµε τη λειτουργία αυτή πιο αποτελεσµατικά αν γνωρίζαµε πως ο κόµβος δεν έχει καθόλου γειτονικούς κόµβους ή έχει πολύ λίγους? ΗΥ240 - Παναγιώτα Φατούρου 9 Λίστες Γειτνίασης Οι κόµβοι αποθηκεύονται σε µια (στατική ή δυναµική) λίστα. Σε κάθε κόµβο v της λίστας αποθηκεύεται δείκτης στο πρώτο στοιχείο µιας λίστας που περιέχει τους γειτονικούς κόµβους του v στο γράφο. Η λίστα γειτνίασης είναι µια λίστα από λίστες! Λίστα Γειτνίασης G 1 Λίστα Γειτνίασης G 3 Θετικά Ένας κόµβος µπορεί να εισαχθεί ή να διαγραφεί µε την ίδια ευκολία όπως µια ακµή. Οδηγεί σε καλή χωρική πολυπλοκότητα για την αναπαράσταση αραιών γράφων. Αρνητικά Η χρονική πολυπλοκότητα της λειτουργίας «Εύρεση αν δύο κόµβοι είναι γειτονικοί» είναι µεγαλύτερη από όταν χρησιµοποιείται πίνακας γειτνίασης. Ακριβή µέθοδος ως προς τη χωρική πολυπλοκότητα για πυκνούς γράφους. ΗΥ240 - Παναγιώτα Φατούρου 10 5

6 Πολυπλοκότητα Αλγορίθµων Γράφων Πρόταση: Το µέγιστο πλήθος ακµών για κάθε µη κατευθυνόµενο γράφο µε n κορυφές είναι E max = n(n-1)/2. Γιατί; Τι ισχύει αν ένας γράφος G είναι κατευθυνόµενος? Ο G µπορεί να έχει το πολύ διπλάσιο πλήθος ακµών από τον αντίστοιχο µη κατευθυνόµενο γράφο. Τι θα ήταν καλύτερο, ένας αλγόριθµος που τρέχει σε χρόνο Θ(n 2 ) ή σε Θ(m)? Αλγόριθµοι µε πολυπλοκότητα Θ(m) συνήθως δεν µπορούν να σχεδιαστούν, αφού αν το E είναι µικρό, δεν αρκεί ο χρόνος ούτε για να εξεταστεί κάθε κόµβος. Πολλές φορές η γνώση του αν ο γράφος είναι πυκνός ή αραιός βοηθάει στο σχεδιασµό αποτελεσµατικών αλγόριθµων. Η χρονική πολυπλοκότητα γράφων είναι συνήθως συνάρτηση τόσο του αριθµού των κόµβων, όσο και του αριθµού των ακµών, π.χ. Θ(n+m). Άλλοι παράγοντες που επηρεάζουν σηµαντικά την πολυπλοκότητα είναι η υλοποίηση (δηλαδή η µέθοδος αναπαράστασης που χρησιµοποιείται). Πως θα µπορούσε να υλοποιηθεί µια εντολή ανακύκλωσης του τύπου για κάθε ακµή e στον G δεδοµένου ότι ο G υλοποιείται µε: Πίνακα γειτνίασης; Λίστες γειτνίασης; ΗΥ240 - Παναγιώτα Φατούρου 11 ιάσχιση «Κατά Πλάτος»(Breath First Search ή BFS) εδοµένων ενός γραφήµατος G=(V,E) και ενός κόµβου s V (κόµβος ρίζα ή κόµβος εκκίνησης), η διάσχιση κατά πλάτος συνίσταται στον εντοπισµό (δηλαδή τη διάσχιση) όλων των κόµβων που είναι προσπελάσιµοι από τον s. Κατά την εκτέλεση µιας διάσχισης κατά πλάτος στον G: δηµιουργείται ένα δένδρο µε ρίζα τον κόµβο s που περιέχει όλους τους κόµβους του G που είναι προσπελάσιµοι από τον s (το δένδρο αυτό ονοµάζεται δένδρο «κατά πλάτος»), υπολογίζεται η απόσταση, δηλαδή το µήκος του συντοµότερου µονοπατιού, από τον s προς οποιονδήποτε κόµβο v (την οποία θα συµβολίζουµε µε δ(s,v)). Η διάσχιση των κόµβων γίνεται «κατά πλάτος»: «Η διάσχιση οποιουδήποτε κόµβου σε απόσταση k+1 από τον s πραγµατοποιείται µόνο όταν όλοι οι κόµβοι σε απόσταση k από τον s έχουν διασχισθεί». ΗΥ240 - Παναγιώτα Φατούρου 12 6

7 ιάσχιση «Κατά Πλάτος» Σηµαντικότερα σηµεία του αλγορίθµου Ο αλγόριθµος χρωµατίζει κάθε κόµβο του γράφου λευκό, γκρίζο ή µαύρο. Λευκοί κόµβοι: είναι αυτοί που δεν έχουν ακόµη εξερευνηθεί. Ένας κόµβος θεωρείται πως έχει εξερευνηθεί την πρώτη φορά που συναντάται στη διάσχιση, οπότε και καθίσταται µη λευκός. Γκρίζοι κόµβοι: είναι κόµβοι που έχουν εξερευνηθεί αλλά ίσως έχουν γείτονες που δεν έχουν ακόµη εξερευνηθεί (δηλαδή που είναι ακόµη λευκοί). Αποτελούν το σύνορο µεταξύ µαύρων και λευκών κόµβων. Μαύροι κόµβοι: είναι κόµβοι των οποίων όλοι οι γείτονες έχουν εξερευνηθεί (δηλαδή οι γειτονικοί κόµβοι αυτών είναι είτε γκρίζοι ή µαύροι). Ο διαχωρισµός µεταξύ γκρίζων και µαύρων κόµβων γίνεται για να εξασφαλισθεί ότι η διάσχιση των κόµβων θα γίνει «κατά πλάτος». ΗΥ240 - Παναγιώτα Φατούρου 13 ιάσχιση «Κατά Πλάτος» Βασικές Ιδέες Αλγορίθµου Αρχικά, ο µοναδικός γκρίζος κόµβος είναι ο s. Κάθε χρονική στιγµή, οι γκρίζοι κόµβοι είναι αποθηκευµένοι σε µια ουρά Q (που αρχικά περιέχει µόνο τον s). Επαναληπτικά, εκτελούνται τα εξής: 1. Εξαγωγή ενός γκρίζου κόµβου u από την Q; 2. ιερεύνηση των γειτονικών κόµβων του u και εισαγωγή στην ουρά όσων εξ αυτών είναι λευκοί. 3. Ακριβώς πριν την εισαγωγή στην Q ενός λευκού κόµβου v εκτελούνται τα εξής: Το χρώµα του v αλλάζει σε γκρίζο. Ο u ορίζεται να είναι ο γονικός κόµβος του v στο «κατά πλάτος» δένδρο που δηµιουργείται και η ακµή (u,v) εισάγεται στο δένδρο (ο u ονοµάζεται προκάτοχος του v στο δένδρο). Η απόσταση του v από τον κόµβο εκκίνησης s υπολογίζεται και καταχωρείται σε ένα κατάλληλο πεδίο του struct του κόµβου v. 4. Όταν όλοι οι γειτονικοί κόµβοι του u έχουν εξετασθεί (και οι ενέργειες του βήµατος 3 έχουν εκτελεστεί για όσους εξ αυτών είναι λευκοί), το χρώµα του u αλλάζει σε µαύρο. ΗΥ240 - Παναγιώτα Φατούρου 14 7

8 ιάσχιση «Κατά Πλάτος» Η διάσχιση «κατά πλάτος» σας θυµίζει κάποια από τις διασχίσεις που έχουν µελετηθεί σε δένδρα; ιάσχιση ένδρου κατά Επίπεδα (κατά πλάτος) Επισκέπτεται τους κόµβους κατά αύξον βάθος. Χρήση Ουράς Αρχικά η ουρά περιέχει µόνο τη ρίζα. Επαναληπτικά: κάνουµε Deque ένα στοιχείο της ουράς και προσθέτουµε τα παιδιά από αριστερά προς τα δεξιά του στοιχείου αυτού. Procedure LevelOrder(pointer r) { Queue Q; pointer P; MakeEmptyQueue(Q); Enqueue(Q,r); while (! IsEmptyQueue(Q)) { P = Dequeue(Q); Visit(P); foreach child c of P, in order, do Enqueue(c); Παράδειγµα Περιεχόµενα Ουράς Α B, C, D C, D, E, F D, E, F E, F, G F, G G, H, I H, I, J, K I, J, K J, K K, L L <empty> ΗΥ240 - Παναγιώτα Φατούρου 15 ιάσχιση «Κατά Πλάτος» Ο κώδικας υποθέτει ότι ο γράφος G αναπαρίσταται µέσω λίστας γειτνίασης. Σε κάθε κόµβο v του γράφου διατηρούνται διάφορες πληροφορίες: o v->c: το χρώµα του κόµβου v o v->d: η απόσταση του κόµβου v από τον s o v->p: ο γονικός κόµβος του v στο κατά πλάτος δένδρο Ο αλγόριθµος χρησιµοποιεί µια ουρά Q για τη διαχείριση του συνόλου των γκρίζων κόµβων. procedure BFS(graph G, node s) { Queue Q; node u, v; foreach node u V(G) {s { u->c = WHITE; u->d = ; u->p = nil; s->c = GRAY; s->d = 0; s->p = nill; MakeEmptyQueue(Q); Enqueue(Q, s); while (!IsEmptyQueue(Q)) { u = Dequeue(Q); // διάσχιση λίστας γειτονικών κόµβων του u foreach v u->adj { if (v->c = WHITE) { v->c = GRAY; v->d = u->d+1; v->p = u; Enqueue(Q,v); u->c = BLACK; ΗΥ240 - Παναγιώτα Φατούρου 16 // αρχικοποίηση // των κόµβων // του γράφου // αρχικοποίηση κόµβου // s και ουράς Q 8

9 ιάσχιση «Κατά Πλάτος» Αναπαράσταση τρόπου λειτουργίας της BFS() σε µη κατευθυνόµενο γράφο. ΗΥ240 - Παναγιώτα Φατούρου 17 ιάσχιση «Κατά Πλάτος» Ta αποτελέσµατα της διάσχισης «κατά πλάτος» είναι πιθανό να εξαρτώνται από τη σειρά µε την οποία εξετάζονται οι γείτονες ενός δεδοµένου κόµβου. το τελικό δένδρο µπορεί να ποικίλλει αλλά οι αποστάσεις που προκύπτουν είναι πάντα οι ίδιες. Χρονική Πολυπλοκότητα Κάθε κόµβος εισάγεται στην ουρά και αφαιρείται από αυτήν το πολύ µια φορά -> Ο(1) Συνολικός χρόνος που αναλώνεται στις λειτουργίες της ουράς -> Ο(n) Η λίστα γειτνίασης κάθε κόµβου διατρέχεται µία µόνο φορά. Το άθροισµα των µεγεθών όλων των λιστών γειτνίασης είναι Ο(m). Επιβάρυνση από την απόδοση αρχικών τιµών -> Ο(n). Ο συνολικός χρόνος εκτελέσης της διάσχισης «Κατά πλάτος» είναι Ο(n+m). ΗΥ240 - Παναγιώτα Φατούρου 18 9

10 ιάσχιση «Κατά βάθος» (Depth First Search) Η διάσχιση επεκτείνεται (όσο αυτό είναι δυνατό) προς κόµβους σε µεγαλύτερα «βάθη» στο γράφο. Οι ακµές εξερευνούνται µε αφετηρία τον πιο πρόσφατα εντοπισµένο κόµβο v από τον οποίο εκκινούν µη εξερευνηµένες ακµές. Αφού εξερευνηθούν όλες οι ακµές του v, η διάσχιση επιστρέφει τον κόµβο από τον οποίο εντοπίστηκε ο v και συνεχίζεται µε τις τυχόν άλλες ακµές που εκκινούν από αυτόν. Αν εξακολουθούν να υπάρχουν µη-εντοπισµένοι κόµβοι, επιλέγεται ένας από αυτούς και η διάσχιση συνεχίζεται από αυτόν. Η όλη διαδικασία επαναλαµβάνεται έως ότου να πραγµατοποιηθεί η διάσχιση όλων των κόµβων. ΗΥ240 - Παναγιώτα Φατούρου 19 ιάσχιση «Κατά βάθος» Κατά τη διάρκεια της διάσχισης, αποδίδονται στους κόµβους χρώµατα τα οποία υποδεικνύουν την κατάστασή τους. λευκοί κόµβοι (ανεξερεύνητοι κόµβοι) γκρίζοι κόµβοι (εντοπισµένοι κόµβοι των οποίων η εξερεύνηση δεν έχει ακόµη τελειώσει) µαύροι κόµβοι (η εξερεύνηση τους έχει τελειώσει) Κάθε κόµβος συσχετίζεται µε δύο χρονοσφραγίδες: d[v]: καταγράφει τη χρονική στιγµή που εντοπίζεται για πρώτη φορά ο v f[v]: καταγράφει τη χρονική στιγµή που ολοκληρώνεται η εξέταση του καταλόγου γειτνίασης του v 1 d[u] < f[u] 2n ΗΥ240 - Παναγιώτα Φατούρου 20 10

11 ιάσχιση «Κατά βάθος» DFS(Graph G) { for each vertex u V[G] { u -> c = WHITE; u -> p = nil; time = 0; for each vertex u V[G] { if (u -> c == WHITE) DFS-Visit(u); DFS-Visit(Node u) { u -> c = GRAY; time = time + 1; u -> d = time; for each v Adj[u] { if (v -> c == WHITE) { v -> p = u; DFS-Visit(v); u -> c = BLACK; u->f = time + 1; ΗΥ240 - Παναγιώτα Φατούρου 21 ιάσχιση «Κατά βάθος» Χρόνος Εκτέλεσης DFS Χρόνος εκτέλεσης 1ου for της DFS() -> Ο(n) Χρόνος εκτέλεσης 2ου for της DFS() χωρίς να υπολογίζουµε τον χρόνο που απαιτείται για την Dfs- Visit() -> Ο(n) Η DFS-Visit() καλείται ακριβώς µια φορά για κάθε κόµβο (αφού καλείται µόνο αν ο κόµβος είναι λευκός) και αµέσως µετά την κλήση της ο κόµβος χρωµατίζεται γκρίζος και δεν ξαναγίνεται ποτέ λευκός. Το συνολικό κόστος για την εκτέλεση της for της DFS- Visit() είναι Θ(m). Το συνολικό κόστος εκτέλεσης της DFS είναι O(n+m). ΗΥ240 - Παναγιώτα Φατούρου 22 11

12 ιάσχιση «Κατά βάθος» ΗΥ240 - Παναγιώτα Φατούρου 23 12

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10β: Αλγόριθμοι Γραφημάτων-Γραφήματα- Αναπαράσταση Γραφημάτων- Διερεύνηση Πρώτα σε Πλάτος (BFS) Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το

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

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

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα

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

Γράφοι. Ένας γράφος ή αλλιώς γράφηµα αποτελείται απο. Εφαρµογές: Τηλεπικοινωνιακά και Οδικά ίκτυα, Ηλεκτρονικά Κυκλώµατα, Β.. κ.ά.

Γράφοι. Ένας γράφος ή αλλιώς γράφηµα αποτελείται απο. Εφαρµογές: Τηλεπικοινωνιακά και Οδικά ίκτυα, Ηλεκτρονικά Κυκλώµατα, Β.. κ.ά. Γράφοι Ένας γράφος ή αλλιώς γράφηµα αποτελείται απο πλευρές (ακµές) και κορυφές (κόµβους). Εφαρµογές: Τηλεπικοινωνιακά και Οδικά ίκτυα, Ηλεκτρονικά Κυκλώµατα, Β.. κ.ά. Graph Drawing 4 πιθανές αναπαραστάσεις

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

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή Εργαστήριο 10 Γράφηµα (Graph) Εισαγωγή Στην πληροφορική γράφηµα ονοµάζεται µια δοµή δεδοµένων, που αποτελείται από ένα σύνολο κορυφών ( vertices) (ή κόµβων ( nodes» και ένα σύνολο ακµών ( edges). Ενας

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

h/2. Άρα, n 2 h/2-1 h 2log(n+1). Πως υλοποιούµε τη LookUp()? Πολυπλοκότητα?

h/2. Άρα, n 2 h/2-1 h 2log(n+1). Πως υλοποιούµε τη LookUp()? Πολυπλοκότητα? Κόκκινα-Μαύρα ένδρα (Red-Black Trees) Ένα κόκκινο-µαύρο δένδρο είναι ένα δυαδικό δένδρο αναζήτησης στο οποίο οι κόµβοι µπορούν να χαρακτηρίζονται από ένα εκ των δύο χρωµάτων: µαύρο-κόκκινο. Το χρώµα της

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

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

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

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

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

Κεφάλαιο 3. Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισµοί και Εφαρµογές γραφήµατα γράφηµα G: ένας τρόπος κωδικοποίησης των σχέσεων

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

Ενότητα 7 Ουρές Προτεραιότητας

Ενότητα 7 Ουρές Προτεραιότητας Ενότητα Ουρές Προτεραιότητας ΗΥ4 - Παναγιώτα Φατούρου Ουρές Προτεραιότητας Θεωρούµε ένα χώρο κλειδιών U και έστω ότι µε κάθε κλειδί Κ (τύπου Key) έχει συσχετισθεί κάποια πληροφορία Ι (τύπου Type). Έστω

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

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

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

Ελάχιστα Γεννητορικά ένδρα

Ελάχιστα Γεννητορικά ένδρα λάχιστα Γεννητορικά ένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος του Prim και ο αλγόριθµος του Kruskal για εύρεση λάχιστων Γεννητορικών ένδρων ΠΛ 23 οµές εδοµένων και Αλγόριθµοι

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 18 Dijkstra s Shortest Path Algorithm 1 / 12 Ο αλγόριθμος εύρεσης της συντομότερης διαδρομής του Dijkstra

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

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό

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

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 8: Γραμμική Αναζήτηση και Δυαδική Αναζήτηση-Εισαγωγή στα Δέντρα και Δυαδικά Δέντρα-Δυαδικά Δέντρα Αναζήτησης & Υλοποίηση ΔΔΑ με δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνολα Συναρτήσεις και Σχέσεις Γραφήματα Λέξεις και Γλώσσες Αποδείξεις ΕΠΛ 211 Θεωρία

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

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

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 20 Huffman codes 1 / 12 Κωδικοποίηση σταθερού μήκους Αν χρησιμοποιηθεί κωδικοποίηση σταθερού μήκους δηλαδή

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

Δομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα

Δομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

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

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Δρομολόγηση Και Πολύχρωματισμός Μονοπατιών Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Εισαγωγή. Το πρόβλημα με το οποίο θα ασχοληθούμε εδώ είναι γνωστό σαν: Δρομολόγηση και Πολύ-χρωματισμός Διαδρομών (Routing

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

Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27)

Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27) Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: ίκτυα ροής και το πρόβληµα της µέγιστης ροής Η µεθοδολογία Ford-Fulkerson Ο αλγόριθµος Edmonds-Karps ΕΠΛ 232

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

ΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND)

ΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND) ΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND) Ένωση Ξένων Συνόλων (Disjoint Sets with Union) S 1,, S k : ξένα υποσύνολα ενός συνόλου U δηλ., S i S j =, αν i j, και S 1 S k = U. Λειτουργίες που θέλουµε

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

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

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Εισαγωγή στους Αλγορίθμους Ενότητα 9η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Ελάχιστα Γεννητικά Δένδρα Ελάχιστο Γεννητικό

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

ΗΥ240 - Παναγιώτα Φατούρου 2

ΗΥ240 - Παναγιώτα Φατούρου 2 ΕΝΟΤΗΤΑ ΥΛΟΠΟΙΗΣΗ ΛΕΞΙΚΩΝ ΜΕ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ ΗΥ24 - Παναγιώτα Φατούρου 1 Ισοζυγισµένα ένδρα Χρονική Πολυπλοκότητα αναζήτησης σε δοµές που έχουν ήδη διδάχθει: Στατική Μη-Ταξινοµηµένη Λίστα -> Ο(n), όπου

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

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Τι θα δούμε Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί Σωροί Ουρές Fibonacci Αναπαράσταση Πράξεις Ανάλυση Συγκρίσεις Ουρές προτεραιότητας

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

Συλλογές, Στοίβες και Ουρές

Συλλογές, Στοίβες και Ουρές Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση οποιουδήποτε στοιχείου. Συλλογή (bag) : Επιστρέφει

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

ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων

ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων ημήτρης Φωτάκης ιακριτά Μαθηματικά και Μαθηματική Λογική Πληροφορική Ελληνικό Ανοικτό Πανεπιστήμιο 4 η Εργασία: Γενική Εικόνα Αντίστοιχη βαθμολογικά και ποιοτικά με την

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

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

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

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

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25) Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος των BellmanFord Ο αλγόριθµος του Dijkstra ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 61

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

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είναι οι γράφοι; Εφαρµογές των γράφων. 22 - Γράφοι

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είναι οι γράφοι; Εφαρµογές των γράφων. 22 - Γράφοι HY118- ιακριτά Μαθηµατικά Θεωρία γράφων / γραφήµατα Τρίτη, 19/05/2015 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 5/21/2015 1 1 5/21/2015 2 2 Τι είναι οι γράφοι; Mία ειδική κλάση διακριτών δοµών (που

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

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

Αλγόριθμοι Τυφλής Αναζήτησης Τεχνητή Νοημοσύνη 04 Αλγόριθμοι Τυφλής Αναζήτησης Αλγόριθμοι Τυφλής Αναζήτησης (Blind Search Algorithms) Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει αξιολόγηση των καταστάσεων.

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

Δομές Δεδομένων. Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα. Καθηγήτρια Μαρία Σατρατζέμη

Δομές Δεδομένων. Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα. Καθηγήτρια Μαρία Σατρατζέμη Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Κεφάλαιο 3 Αλγόριθµοι Τυφλής Αναζήτησης Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Αλγόριθµοι Τυφλής Αναζήτησης Οι αλγόριθµοι τυφλής αναζήτησης (blind

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

Ε ανάληψη. Ορισµοί της Τεχνητής Νοηµοσύνης (ΤΝ) Καταβολές. Ιστορική αναδροµή. Πράκτορες. Περιβάλλοντα. κριτήρια νοηµοσύνης

Ε ανάληψη. Ορισµοί της Τεχνητής Νοηµοσύνης (ΤΝ) Καταβολές. Ιστορική αναδροµή. Πράκτορες. Περιβάλλοντα. κριτήρια νοηµοσύνης ΠΛΗ 405 Τεχνητή Νοηµοσύνη Αναζήτηση Search Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Ορισµοί της Τεχνητής Νοηµοσύνης (ΤΝ) κριτήρια νοηµοσύνης Καταβολές συνεισφορά

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

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

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

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

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

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

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

βασικές έννοιες (τόμος Β)

βασικές έννοιες (τόμος Β) θεωρία γραφημάτων Παύλος Εφραιμίδης 1 περιεχόμενα βασικές έννοιες (τόμος Α) βασικές έννοιες (τόμος Β) 2 Θεωρία Γραφημάτων Βασική Ορολογία Τόμος Α, Ενότητα 4.1 Βασική Ορολογία Γραφημάτων Γράφημα Γ = (E,V)

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

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/ Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

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

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

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 14: Δέντρα IV B Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: 2 3 Δένδρα, Εισαγωγή και άλλες πράξεις Άλλα Δέντρα: Β δένδρα, Β+ δέντρα, R δέντρα Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231

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

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π. Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων CO.RE.LAB. ΣΗΜΜΥ - Ε.Μ.Π. Άσκηση 1 η : Παιχνίδι επιλογής ακμών Έχουμε ένα ακυκλικό κατευθυνόμενο γράφο, μια αρχική κορυφή και δυο παίκτες. Οι παίκτες διαδοχικά

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

ΙΚΑΝΟΠΟΙΗΣΗ ΠΕΡΙΟΡΙΣΜΩΝ

ΙΚΑΝΟΠΟΙΗΣΗ ΠΕΡΙΟΡΙΣΜΩΝ ΙΚΑΝΟΠΟΙΗΣΗ ΠΕΡΙΟΡΙΣΜΩΝ (ΜΕ ΒΑΣΗ ΤΟ ΚΕΦ. 6 ΤΟΥ ΒΙΒΛΙΟΥ «ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ» ΤΩΝ ΒΛΑΧΑΒΑ, ΚΕΦΑΛΑ, ΒΑΣΙΛΕΙΑ Η, ΚΟΚΚΟΡΑ & ΣΑΚΕΛΛΑΡΙΟΥ) Ι. ΧΑΤΖΗΛΥΓΕΡΟΥ ΗΣ ΠΡΟΒΛΗΜΑΤΑ ΙΚΑΝΟΠΟΙΗΣΗΣ ΠΕΡΙΟΡΙΣΜΩΝ Είναι γνωστές µερικές

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

Διερεύνηση γραφήματος

Διερεύνηση γραφήματος Διερεύνηση γραφήματος Διερεύνηση γραφήματος Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος ή κατά βάθος. Καθοδική διερεύνηση

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

8.6 Κλάσεις και αντικείμενα 8.7 Δείκτες σε γλώσσα μηχανής

8.6 Κλάσεις και αντικείμενα 8.7 Δείκτες σε γλώσσα μηχανής ΚΕΦΑΛΑΙΟ 8: Αφαιρετικές έννοιες δεδομένων 8.1 Βασικές έννοιες δομών δεδομένων 8.2 Σχετικές έννοιες 8.3 Υλοποίηση δομών δεδομένων 8.4 Μια σύντομη μελέτη περίπτωσης 8.4 Προσαρμοσμένοι τύποι δεδομένων 8.6

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

Ουρά Προτεραιότητας: Heap

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #2: Πολυωνυμικοί Αλγόριθμοι, Εισαγωγή στα Γραφήματα, Αναζήτηση κατά Βάθος, Τοπολογική Ταξινόμηση

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

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

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

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

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εισαγωγή, εύρεση, διαγραφή) Ευθύγραμμες Διπλά Συνδεδεμένες Λίστες

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

Ανάλυση Ηλεκτρικών Κυκλωμάτων με Αντιστάσεις

Ανάλυση Ηλεκτρικών Κυκλωμάτων με Αντιστάσεις Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-2: Ηλεκτρονικά Κυκλώματα Γιώργος Δημητρακόπουλος Άνοιξη 2008 Ανάλυση Ηλεκτρικών Κυκλωμάτων με Αντιστάσεις H ανάλυση ενός κυκλώματος με αντιστάσεις στη

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 9-1

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 9-1 Σωροί Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ουρές Προτεραιότητας Σωροί υλοποίηση και πράξεις Ο αλγόριθµος ταξινόµησης HeapSort Παραλλαγές Σωρών ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι

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

Το Πρόβλημα της Πινακοθήκης (The Art Gallery Problem)

Το Πρόβλημα της Πινακοθήκης (The Art Gallery Problem) Το Πρόβλημα της Πινακοθήκης (The Art Gallery Problem) Τι είναι το Πρόβλημα της Πινακοθήκης; Σας ανήκει μια πινακοθήκη και επιθυμείτε να τοποθετήσετε κάμερες ασφαλείας έτσι ώστε όλη η γκαλερί να είναι προστατευμένη

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου, Τμήμα Μηχανικών Πληροφορικής ΤΕ Χειμερινό Εξάμηνο 2014-2015 (Παρουσίαση 5) 1 / 17 Απόδοση προγραμμάτων Συχνά χρειάζεται να εκτιμηθεί η απόδοση

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

ΕΝΟΤΗΤΑ 5 ΥΝΑΜΙΚΑ ΛΕΞΙΚΑ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ

ΕΝΟΤΗΤΑ 5 ΥΝΑΜΙΚΑ ΛΕΞΙΚΑ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ ΕΝΟΤΗΤΑ 5 ΥΝΑΜΙΚΑ ΛΕΞΙΚΑ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ ενδρικές οµές για Υλοποίηση υναµικών Λεξικών υναµικά λεξικά λειτουργίες LookUp( ), Insert( ) και Delete( ) Αναζητούµε δένδρα για την αποτελεσµατική υλοποίηση

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

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

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

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Άπληστοι Αλγόριθμοι Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Άπληστοι Αλγόριθμοι Είναι δύσκολο να ορίσουμε ακριβώς την έννοια του άπληστου

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

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος Αλγόριθµοι Τύπου Μείωσης Προβλήµατος Περίληψη Αλγόριθµοι Τύπου Μείωσης Προβλήµατος ( Decrease and Conquer ) Μείωση κατά µια σταθερά (decrease by a constant) Μείωση κατά ένα ποσοστό (decrease by a constant

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

Οι δομές δεδομένων στοίβα και ουρά

Οι δομές δεδομένων στοίβα και ουρά Καθηγητής Πληροφορικής Απαγορεύεται η αναπαραγωγή των σημειώσεων χωρίς αναφορά στην πηγή Βίντεο: https://youtu.be/j8petzztqty Οι δομές δεδομένων στοίβα και ουρά Εισαγωγή Στα πλαίσια του μαθήματος της Ανάπτυξης

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #: Εύρεση Ελαχίστων Μονοπατιών σε Γραφήματα που Περιλαμβάνουν και Αρνητικά Βάρη: Αλγόριθμος

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

Κεφάλαιο 6. Ικανοποίηση Περιορισµών. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κεφάλαιο 6. Ικανοποίηση Περιορισµών. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Κεφάλαιο 6 Ικανοποίηση Περιορισµών Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Ικανοποίηση Περιορισµών Ένα πρόβληµα ικανοποίησης περιορισµών (constraint

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

Αιτιώδεις Σχέσεις και Χρονισµός Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Η Σχέση Happens-Before (Συµβαίνει-ϖριν) Οι εκτελέσεις, ως ακολουθίες γεγονότων, καθορίζουν µια καθολική διάταξη σε αυτά. Ωστόσο

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

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι; ΘΕΜΑΤΑ ΔΕΝΔΡΩΝ ΓΙΑ ΤΙΣ ΕΞΕΤΑΣΕΙΣ ΠΛΗ0 ΑΣΚΗΣΗ Για τις ερωτήσεις - θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι; Β Ε Α 6 Δ 5 9 8 0 Γ 7 Ζ Η. Σ/Λ Δυο από τα συνδετικά

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

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε "Ναι" Τέλος Α2

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε Ναι Τέλος Α2 Διδακτική πρόταση ΕΝΟΤΗΤΑ 2η, Θέματα Θεωρητικής Επιστήμης των Υπολογιστών Κεφάλαιο 2.2. Παράγραφος 2.2.7.4 Εντολές Όσο επανάλαβε και Μέχρις_ότου Η διαπραγμάτευση των εντολών επανάληψης είναι σημαντικό

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

Υλοποίηση Λιστών. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

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

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

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

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

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

Ευφυείς Τεχνολογίες Πράκτορες

Ευφυείς Τεχνολογίες Πράκτορες Ευφυείς Τεχνολογίες Πράκτορες Ενότητα 2: Αναπαράσταση Γνώσης και Επίλυση Προβλημάτων Δημοσθένης Σταμάτης mos@it.tith.gr www.it.tith.gr/~mos Μαθησιακοί Στόχοι της ενότητας 2 Πως ορίζεται ένα πρόβλημα στα

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

1. Βάσεις αριθμητικών συστημάτων 2. Μετατροπές μεταξύ ξύβάσεων 3. Αρνητικοί δυαδικοί αριθμοί 4. Αριθμητικές πράξεις δυαδικών αριθμών

1. Βάσεις αριθμητικών συστημάτων 2. Μετατροπές μεταξύ ξύβάσεων 3. Αρνητικοί δυαδικοί αριθμοί 4. Αριθμητικές πράξεις δυαδικών αριθμών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΥΑ ΙΚΟΙ ΑΡΙΘΜΟΙ (ΑΚΕΡΑΙΟΙ ΑΡΙΘΜΟΙ) Γ. Τσιατούχας Παράρτηµα A ιάρθρωση 1. Βάσεις αριθμητικών συστημάτων 2. Μετατροπές μεταξύ ξύβάσεων 3. Αρνητικοί

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

Ε ανάληψη. Καταβολές. Ιστορική αναδροµή. Πράκτορες. Περιβάλλοντα. συνεισφορά άλλων επιστηµών στην ΤΝ. 1956 σήµερα

Ε ανάληψη. Καταβολές. Ιστορική αναδροµή. Πράκτορες. Περιβάλλοντα. συνεισφορά άλλων επιστηµών στην ΤΝ. 1956 σήµερα ΠΛΗ 405 Τεχνητή Νοηµοσύνη Α ληροφόρητη Αναζήτηση Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Καταβολές συνεισφορά άλλων επιστηµών στην ΤΝ Ιστορική αναδροµή 1956

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

Χρονικά Γραφήματα Π Π Δ Ε. Συγγραφέας: Ελένη Ακρίδα. Επιβλέπων: Παύλος Σπυράκης, Κ

Χρονικά Γραφήματα Π Π Δ Ε. Συγγραφέας: Ελένη Ακρίδα. Επιβλέπων: Παύλος Σπυράκης, Κ . Π Π Δ Ε Χρονικά Γραφήματα Συγγραφέας: Ελένη Ακρίδα Επιβλέπων: Παύλος Σπυράκης, Κ Υποβάλλεται προς εκπλήρωση των απαιτήσεων για το Μεταπτυχιακό Δίπλωμα Ειδίκευσης στο Τμήμα Μαθηματικών 4 Ιουνίου 2013

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

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -

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

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών 1 Συναρτήσεις και ο υπολογισµός τους 2 Μηχανές Turing 3 Καθολικές γλώσσες προγραµµατισµού 4 Μια µη υπολογίσιµη συνάρτηση 5 Πολυπλοκότητα προβληµάτων 1 Συναρτήσεις Μία συνάρτηση

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

ΠΡΟΛΟΓΟΣ. Θεσσαλονίκη, Μάρτιος 2009. Οι συγγραφείς. Κ. Παπαρρίζος, Ν. Σαμαράς, Α. Σιφαλέρας.

ΠΡΟΛΟΓΟΣ. Θεσσαλονίκη, Μάρτιος 2009. Οι συγγραφείς. Κ. Παπαρρίζος, Ν. Σαμαράς, Α. Σιφαλέρας. ΠΡΟΛΟΓΟΣ Το βιβλίο «Δικτυακή Βελτιστοποίηση» γράφτηκε με κύριο στόχο να καλύψει τις ανάγκες της διδασκαλίας του μαθήματος «Δικτυακός Προγραμματισμός», που διδάσκεται στο Τμήμα Εφαρμοσμένης Πληροφορικής,

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

ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ

ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΗΥ240 - Παναγιώτα Φατούρου Σύνολα (Sets) Τα µέλη ενός συνόλου προέρχονται από κάποιο χώρο U αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών αποτελούµενων από έναν

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

Πανεπιστήμιο Πατρών Πολυτεχνική Σχολή Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Μιχαήλ Παναγιώτης (Α.Μ.: 607) Νέος Δυναμικός Τύπος Γραφημάτων Ευρείας Κλίμακας και Εφαρμογές του Επιβλέπων

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

ΑΝΤΙΣΤΟΙΧΗΣΕΙΣ ΟΡΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙOΥΝΤΑΙ ΣΤΟΥΣ ΤΟΜΟΥΣ Α ΚΑΙ Β ΤΗΣ ΘΕ «ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ» Ένα γράφημα αποτελείται από ένα σύνολο 94.

ΑΝΤΙΣΤΟΙΧΗΣΕΙΣ ΟΡΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙOΥΝΤΑΙ ΣΤΟΥΣ ΤΟΜΟΥΣ Α ΚΑΙ Β ΤΗΣ ΘΕ «ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ» Ένα γράφημα αποτελείται από ένα σύνολο 94. ΑΝΤΙΣΤΟΙΧΗΣΕΙΣ ΟΡΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙOΥΝΤΑΙ ΣΤΟΥΣ ΤΟΜΟΥΣ Α ΚΑΙ Β ΤΗΣ ΘΕ «ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ» ΤΟΜΟΣ Α ΤΟΜΟΣ Β ΑΓΓΛΙΚΗ Γράφημα, Γράφος, Ένα γράφημα αποτελείται από ένα σύνολο 94 11 κορυφών και ένα σύνολο ακμών.

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

ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS

ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS Χρήστος Δ. Ταραντίλης Αν. Καθηγητής ΟΠΑ ACO ΑΛΓΟΡΙΘΜΟΙ Η ΛΟΓΙΚΗ ΑΝΑΖΗΤΗΣΗΣ ΛΥΣΕΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΙΑΤΑΞΗΣ (1/3) Ε..Ε. ΙΙ Oι ACO

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

Θεωρία Γράφων - Εισαγωγή

Θεωρία Γράφων - Εισαγωγή Θεωρία Γράφων - Εισαγωγή Τοπολογιές απειονίσεις Τοπολογία Κλάδος των μαθηματιών που μελετά ανάμεσα σε άλλα τις ιδιότητες εείνες των γεωμετριών σχημάτων οι οποίες παραμένουν αναλλοίωτες ατά τις τοπολογιές

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ σε ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (ΑΕΠΠ) Σημειώσεις Θεωρίας

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ σε ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (ΑΕΠΠ) Σημειώσεις Θεωρίας ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ σε ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (ΑΕΠΠ) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ σε ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ (ΑΕΠΠ) Δημιουργία - Συγγραφή Costas Chatzinikolas www.costaschatzinikolas.gr info@costaschatzinikolas.gr

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

Σχέσεις. Διμελής Σχέση. ΣτοΊδιοΣύνολο. Αναπαράσταση

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

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

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα Κεφάλαιο 7. 7.1 ομές εδομένων για Γραφικά Υπολογιστών. Οι δομές δεδομένων αποτελούν αντικείμενο της επιστήμης υπολογιστών. Κατά συνέπεια πρέπει να γνωρίζουμε πώς οργανώνονται τα γεωμετρικά δεδομένα, προκειμένου

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

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

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης Περιεχόμενα Δομές δεδομένων 37. Δομές δεδομένων (θεωρητικά στοιχεία)...11 38. Εισαγωγή στους μονοδιάστατους πίνακες...16 39. Βασικές επεξεργασίες στους μονοδιάστατους πίνακες...25 40. Ασκήσεις στους μονοδιάστατους

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

Περιεχόμενα. Περιεχόμενα

Περιεχόμενα. Περιεχόμενα Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...

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

Αλγόριθµοι Brute-Force και Διεξοδική Αναζήτηση

Αλγόριθµοι Brute-Force και Διεξοδική Αναζήτηση Αλγόριθµοι Brute-Force και Διεξοδική Αναζήτηση Περίληψη Αλγόριθµοι τύπου Brute-Force Παραδείγµατα Αναζήτησης Ταξινόµησης Πλησιέστερα σηµεία Convex hull Βελτιστοποίηση Knapsack problem Προβλήµατα Ανάθεσης

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

ΔΙΚΤΥΑ (13) Π. Φουληράς

ΔΙΚΤΥΑ (13) Π. Φουληράς ΔΙΚΤΥΑ (13) Π. Φουληράς Τεχνολογίες WAN και Δρομολόγηση LAN Επεκτείνεται μόνον σε ένα κτίριο ή ομάδα κτιρίων WAN (Wide Area Network) Επεκτείνονται σε μεγάλες περιοχές MAN Ενδιάμεσο ως προς το μέγεθος της

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

Παράλληλοι Αλγόριθμοι: Ανάλυση Εικόνας και Υπολογιστική Γεωμετρία. Πέτρος Ποτίκας CoReLab 4/5/2006

Παράλληλοι Αλγόριθμοι: Ανάλυση Εικόνας και Υπολογιστική Γεωμετρία. Πέτρος Ποτίκας CoReLab 4/5/2006 Παράλληλοι Αλγόριθμοι: Ανάλυση Εικόνας και Υπολογιστική Γεωμετρία Πέτρος Ποτίκας CoReLab 4/5/2006 Επισκόπηση Ετικέτες σε συνιστώσες (Component labelling) Hough μετασχηματισμοί (transforms) Πλησιέστερος

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

Δημιουργία Δυαδικών Δέντρων Αναζήτησης

Δημιουργία Δυαδικών Δέντρων Αναζήτησης Δημιουργία Δυαδικών Δέντρων Αναζήτησης Τα Δυαδικά δέντρα αναζήτησης είναι διατεταγμένα δυαδικά δέντρα όπου έχει σημασία η διάταξη των παιδιών κάθε κόμβου. Συγκεκριμένα για τα Δυαδικά δέντρα αναζήτησης,

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

Ισοζυγισµένο έντρο (AVL Tree)

Ισοζυγισµένο έντρο (AVL Tree) Εργαστήριο 7 Ισοζυγισµένο έντρο (AVL Tree) Εισαγωγή Εκτός από τα δυαδικά δέντρα αναζήτησης (inry serh trees) που εξετάσαµε σε προηγούµενο εργαστήριο, υπάρχουν αρκετά είδη δέντρων αναζήτησης µε ξεχωριστό

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

Προγραµµατισµός Η/Υ. Μέρος2

Προγραµµατισµός Η/Υ. Μέρος2 Προγραµµατισµός Η/Υ Μέρος2 Περιεχόμενα Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής Αλγόριθμος Ψευδοκώδικας Παραδείγματα Αλγορίθμων Γλώσσες προγραμματισμού 2 Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής

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

Στοίβες με Δυναμική Δέσμευση Μνήμης

Στοίβες με Δυναμική Δέσμευση Μνήμης ΕΠΛ 231 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ 10/02/10 Παύλος Αντωνίου Στοίβες με Δυναμική Δέσμευση Μνήμης Στοίβα: Στοίβα είναι μια λίστα που έχει ένα επιπλέον περιορισμό. Ο περιορισμός είναι ότι οι εισαγωγές

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

Κεφάλαιο 14. οµές Ευρετηρίων για Αρχεία. ιαφάνεια 14-1

Κεφάλαιο 14. οµές Ευρετηρίων για Αρχεία. ιαφάνεια 14-1 ιαφάνεια 14-1 Κεφάλαιο 14 οµές Ευρετηρίων για Αρχεία Copyright 2007 Ramez Elmasri and Shamkant B. NavatheΕλληνικήΈκδοση, ιαβλος, Επιµέλεια Μ.Χατζόπουλος 1 Θα µιλήσουµε για Τύποι Ταξινοµηµένων Ευρετηρίων

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 11: ΠΡΟΒΛΗΜΑ ΔΙΑΤΡΕΞΗΣ ΓΡΑΦΗΜΑΤΟΣ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 11: ΠΡΟΒΛΗΜΑ ΔΙΑΤΡΕΞΗΣ ΓΡΑΦΗΜΑΤΟΣ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 11: ΠΡΟΒΛΗΜΑ ΔΙΑΤΡΕΞΗΣ ΓΡΑΦΗΜΑΤΟΣ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών

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

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2015 Β ΦΑΣΗ ÁÈÇÍÁ ΑΠΑΝΤΗΣΕΙΣ

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2015 Β ΦΑΣΗ ÁÈÇÍÁ ΑΠΑΝΤΗΣΕΙΣ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Α1. 1. Λάθος 2. Λάθος 3. Σωστό 4. Λάθος 5. Σωστό Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Κυριακή 19 Απριλίου

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

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

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες

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

3 Degree Centrality. 4 Closeness Centrality. Degree: (out-degree). In-Degree: Out-Degree: c D (v) = deg(v) c Din (v) = deg (v) c Dout (v) = deg + (v)

3 Degree Centrality. 4 Closeness Centrality. Degree: (out-degree). In-Degree: Out-Degree: c D (v) = deg(v) c Din (v) = deg (v) c Dout (v) = deg + (v) Centrality Measures Θεωρία Γράφων Πίσκας Γεώργιος - ΑΕΜ 2087 4 Ιουνίου 2013 1 Γενικά Τα Centrality Measures είναι ενα σύνολο από μετρικές που διευκολύνουν την εξαγωγή στατιστικών για γράφους. Ουσιαστικά,

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 10: ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΜΕ ΑΠΑΓΟΡΕΥΤΙΚΟ ΑΡΙΘΜΟ ΠΕΡΙΠΤΩΣΕΩΝ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 10: ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΜΕ ΑΠΑΓΟΡΕΥΤΙΚΟ ΑΡΙΘΜΟ ΠΕΡΙΠΤΩΣΕΩΝ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 10: ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΜΕ ΑΠΑΓΟΡΕΥΤΙΚΟ ΑΡΙΘΜΟ ΠΕΡΙΠΤΩΣΕΩΝ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων

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

ΚΕΦΑΛΑΙΟ 3 ο ΣΥΝΑΡΤΗΣΕΙΣ, ΤΡΙΓΩΝΟΜΕΤΡΙΑ( FUNCTIONS,TRIGONOMETRY)

ΚΕΦΑΛΑΙΟ 3 ο ΣΥΝΑΡΤΗΣΕΙΣ, ΤΡΙΓΩΝΟΜΕΤΡΙΑ( FUNCTIONS,TRIGONOMETRY) ΚΕΦΑΛΑΙΟ 3 ο ΣΥΝΑΡΤΗΣΕΙΣ, ΤΡΙΓΩΝΟΜΕΤΡΙΑ( FUNCTIONS,TRIGONOMETRY) 3.1 ΘΕΩΡΙΑ-ΤΥΠΟΛΟΓΙΟ-ΠΑΡΑΔΕΙΓΜΑΤΑ ΣΥΝΑΡΤΗΣΕΙΣ Συνάρτηση, ή απεικόνιση όπως ονομάζεται διαφορετικά, είναι μια αντιστοίχιση μεταξύ δύο συνόλων,

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

Μεταθέσεις και πίνακες μεταθέσεων

Μεταθέσεις και πίνακες μεταθέσεων Παράρτημα Α Μεταθέσεις και πίνακες μεταθέσεων Το παρόν παράρτημα βασίζεται στις σελίδες 671 8 του βιβλίου: Γ. Χ. Ψαλτάκης, Κβαντικά Συστήματα Πολλών Σωματιδίων (Πανεπιστημιακές Εκδόσεις Κρήτης, Ηράκλειο,

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

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2009-10 Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 2 ο και 3 ο Μέρος

ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 2009-10 Παναγιώτα Φατούρου. Προγραμματιστική Εργασία 2 ο και 3 ο Μέρος ΗΥ240: Δομές Δεδομένων Χειμερινό Εξάμηνο Ακαδημαϊκό Έτος 09- Παναγιώτα Φατούρου Προγραμματιστική Εργασία 2 ο και ο Μέρος Ημερομηνία Παράδοσης: Παρασκευή, 18 Δεκεμβρίου 09, ώρα 08:00 (το πρωί) Τρόπος Παράδοσης:

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

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