ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1

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

Download "ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1"

Transcript

1 Γράφοι Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Γράφοι - ορισµοί και υλοποίηση Διάσχιση Γράφων Τοπολογική Ταξινόµηση ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -

2 Γράφοι Η πιο γενική µορφή δοµής δεδοµένων, µε την έννοια ότι όλες οι προηγούµενες δοµές µπορούν να θεωρηθούν ως περιπτώσεις γράφων. Ένα γράφος αποτελείται από ένα σύνολο V κορυφών (vertices), ή σηµείων, ή κόµβων, και ένα σύνολο Ε ακµών (edges), ή τόξων, ή γραµµών. Μια ακµή είναι ένα ζεύγος (u,v) από κορυφές. Παράδειγµα γράφου: ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -2

3 Γράφοι Οι γράφοι προσφέρουν µια χρήσιµη µέθοδο για τη διατύπωση και λύση πολλών προβληµάτων, σε δίκτυα και συστήµατα τηλεπικοινωνιών (π.χ. το Internet), χάρτες - επιλογή δροµολογίων, προγραµµατισµό εργασιών (scheduling), ανάλυση προγραµµάτων (flow charts). Η µελέτη της θεωρίας γράφων θεωρείται ότι ξεκίνησε από τον Euler στις αρχές του 8ου αιώνα (736). ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -3

4 Ορισµοί Ένας γράφος ονοµάζεται κατευθυνόµενος (directed graph, digraph) αν κάθε µια από τις ακµές του είναι προσανατολισµένη προς µία κατεύθυνση. Ένας γράφος ονοµάζεται µη-κατευθυνόµενος (undirected) αν οι ακµές του δεν είναι προσανατολισµένες. Αν (u,v) είναι ακµή τότε λέµε ότι οι κορυφές u και v είναι γειτονικές (adjacent) ή ότι γειτνιάζουν. Μονοπάτι ή διαδροµή (path) ενός γράφου µήκους n, είναι µια ακολουθία κόµβων v, v,, v n, όπου για κάθε i, i < n, (v i, v i+ ) είναι ακµή του γράφου. Μήκος ενός µονοπατιού είναι ο αριθµός ακµών που περιέχει. Η απόσταση δύο κορυφών είναι το µήκος της συντοµότερης διαδροµής που οδηγεί από τη µια κορυφή στην άλλη. Μια διαδροµή ενός γράφου ονοµάζεται απλή (simple) αν όλες οι κορυφές της είναι διαφορετικές µεταξύ τους, εκτός από την πρώτη και την τελευταία οι οποίες µπορούν να είναι οι ίδιες. ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -4

5 Ορισµοί Κύκλος (cycle) ονοµάζεται µια διαδροµή µε µήκος > που ικανοποιεί v = v n. Ένας γράφος που δεν περιέχει κύκλους ονοµάζεται άκυκλος (acyclic) Έστω G=(V,E) και G = (V, E ) γράφοι, όπου V V και E E. Tότε ο γράφος G είναι υπογράφος (subgraph) του γράφου G. Ένας µη κατευθυνόµενος γράφος λέγεται συνεκτικός (connected) αν για κάθε ζευγάρι κορυφών υπάρχει διαδροµή που τις συνδέει. Ένας κατευθυνόµενος γράφος που ικανοποιεί την ίδια ιδιότητα ονοµάζεται ισχυρά συνεκτικός (strongly connected). Αν ο µηκατευθυνόµενος γράφος στον οποίο αντιστοιχεί είναι συνεκτικός, τότε ο γράφος ονοµάζεται ελαφρά συνεκτικός (weakly connected). ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -5

6 Ορισµοί Πόσες ακµές µπορεί να έχει ένας γράφος µε n κορυφές; Ένας γράφος λέγεται αραιός (sparse) αν ο αριθµός των ακµών του είναι της τάξης Ο(n), όπου n είναι ο αριθµός κορυφών του, διαφορετικά λέγεται πυκνός (dense). Συχνά συσχετίζουµε κάθε ακµή ενός γράφου µε κάποιο βάρος (weight). Τότε ο γράφος ονοµάζεται γράφος µε βάρη (weighted graph). Ποιες ιδιότητες ικανοποιούν οι πιο κάτω γράφοι; ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -6

7 Αναπαράσταση γράφων Αναπαράσταση γράφων µε πίνακες γειτνίασης (adjacency matrix) Ένας γράφος G=(V,E) µε n κορυφές µπορεί να αναπαρασταθεί ως ένας n n πίνακας που περιέχει τις τιµές και, και όπου αν η (i,j) είναι ακµή τότε A[(i,j)]=, διαφορετικά A[(i,j)]=. Αν ο γράφος είναι γράφος µε βάρη, και το βάρος κάθε ακµής είναι τύπου t, τότε για την αναπαράσταση του γράφου µπορεί να χρησιµοποιηθεί πίνακας τύπου t µε Α[(i,j)] = βάρος(i,j), αν υπάρχει ακµή (i,j) A[(i,j)] =, αν δεν υπάρχει ακµή (i,j) Αυτή η αναπαράσταση απαιτεί χώρο Ο(n 2 ), όπου n= V. Αν ο γράφος είναι αραιός η µέθοδος οδηγεί σε σπάταλη χώρου. ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -7

8 Αναπαράσταση γράφων Αναπαράσταση γράφων µε λίστες γειτνίασης (adjacency lists) Ένας γράφος G=(V,E) αναπαρίσταται ως ένας µονοδιάστατος πίνακας Α. Για κάθε κορυφή ω, Α[ω] είναι ένας δείκτης σε µια συνδεδεµένη λίστα στην οποία αποθηκεύονται οι κορυφές που γειτνιάζουν µε την ω. Η µέθοδος απαιτεί χώρο Ο( V + Ε ). Επιτυγχάνεται εξοικονόµηση χώρου για αραιούς γράφους. Στην περίπτωση γράφων µε βάρη στη λίστα γειτνίασης αποθηκεύουµε επίσης το βάρος κάθε ακµής. ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -8

9 ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -9 Αναπαράσταση γράφων Γράφος Πίνακας Γειτνίασης Λίστα Γειτνίασης

10 Δοµές Υλοποίησης Πίνακας Γειτνίασης struct graph{ int matrix[max][max]; int size; } Λίστα Γειτνίασης struct node{ struct graph2{ int vertex; struct node *head[max]; struct node *next ; int size; } } ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -

11 Διάσχιση Γράφων Αν θέλουµε να επισκεφτούµε όλους τους κόµβους ενός γράφου µπορούµε να χρησιµοποιήσουµε έναν από πολλούς τρόπους, οι οποίοι διαφέρουν στη σειρά µε την οποία εξετάζουν τους κόµβους. Διαδικασίες διάσχισης χρησιµοποιούνται για τη διακρίβωση ύπαρξης µονοπατιού µεταξύ δύο κόµβων κ.α. Έχουν πολλές εφαρµογές. Depth-First Search Γενίκευση της προθεµατικής διάσχισης δένδρων: Ξεκινώντας από ένα κόµβο v, επισκεπτόµαστε πρώτα τον v και ύστερα καλούµε αναδροµικά τη διαδικασία στο καθένα από τα παιδιά του. Πως επηρεάζει η ύπαρξη κύκλων την πιο πάνω ιδέα; Θα διατηρήσουµε ένα πίνακα Visited ο οποίος θα κρατά πληροφορίες ως προς το ποιους κόµβους έχουµε επισκεφθεί ανά πάσα στιγµή. ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -

12 Διαδικασία κατά βάθους διερεύνησης DepthFirstSearch(graph G,vertex v){ for each vertex w in G visited[w] = False; DFS(v); } DFS(vertex v){ } visited[v] = True; for each w adjacent to v if (visited[w]==false) DFS(w) ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -2

13 Εξειδίκευση DFS για πίνακες γειτνίασης DepthFirstSearch(struct graph *G, int v){ for (w=; w <= G->size; w++) visited[w] = ; DFS(G, visited, v); } DFS(struct graph *G, int *visited[max], int v){ } visited[v] = ; for (w=; w <= G->size; w++) if (G->matrix[v,w] == && visited[w]==) DFS(G, visited, w) Χρόνος Εκτέλεσης: O( V 2 ) ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -3

14 Εξειδίκευση DFS για λίστες γειτνίασης DepthFirstSearch(struct graph2 *G, int v){ for (w=; w <= G->size; w++) visited[w] = ; DFS(G, visited, v); } DFS(struct graph2 *G, int *visited[max], int v){ } visited[v] = ; for (p = G->head[v]; p!= NULL; p = p->next) w = p->vertex; if (Visited[w]==) DFS(G, visited, w) Χρόνος Εκτέλεσης: O( V + E ) ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -4

15 Κατά βάθος διερεύνηση Αν ο γράφος δεν είναι συνεκτικός αυτή η στρατηγική πιθανό να αγνοήσει µερικούς κόµβους. Αν ο στόχος µας είναι να επισκεφθούµε όλους τους κόµβους τότε µετά το τέλος της εκτέλεσης του DFS(v) θα πρέπει να ελέγξουµε τον πίνακα Visited να βρούµε τους κόµβους που δεν έχουµε επισκεφθεί και να καλέσουµε σε αυτούς τη διαδικασία DFS: DepthFirstSearch(graph G,vertex v){ for each vertex w in G Visited[w] = False; DFS(v); for each vertex w in G if (Visited[w]== False) DFS(w); } ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -5

16 Παράδειγµα Depth-First-Search A B Γ Ε Δ Ζ DepthFirstSearch(G, A) Α Β Γ Δ Ε Ζ Α Β Γ Δ Ε Ζ A B Γ 2 3 Δ 6 Ε 5 4 Ζ ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -6

17 ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -7 Παράδειγµα Depth-First-Search 2 DepthFirstSearch(G, A) 2 A B Ε Δ Γ A B Ε Δ Γ Ζ Ζ Α Β Γ Δ Ε Ζ Α Β Γ Δ Ε Ζ

18 Μερικά Σχόλια Η διαδικασία καλείται σε κάθε κόµβο το πολύ µια φορά. Χρόνος Εκτέλεσης: Ο( V + E ), δηλαδή γραµµικός ως προς τον αριθµό των ακµών και κορυφών (για λίστες γειτνίασης). Αρίθµηση DFS των κορυφών ενός γράφου ονοµάζεται η σειρά µε την οποία επισκέπτεται η διαδικασία DepthFirstSearch τις κορυφές του γράφου. Η διαδικασία µπορεί να κληθεί και για µη-κατευθυνόµενους και για κατευθυνόµενους γράφους. Αντί µε αναδροµή η διαδικασία µπορεί να υλοποιηθεί, ως συνήθως, µε τη χρήση στοιβών. ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -8

19 Κατά πλάτος διερεύνηση Ξεκινώντας από ένα κόµβο v, επισκεπτόµαστε πρώτα το v, ύστερα τους κόµβους που γειτνιάζουν µε τον v, ύστερα τους κόµβους που βρίσκονται σε απόσταση 2 από τον v, και ούτω καθεξής. Ε B A Δ Α Β Δ Γ Ε Θ Ζ Ζ Γ Θ Output: Α Β Δ Γ Ε Θ Ζ ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -9

20 Διαδικασία κατά πλάτους διερεύνησης BFSearch(graph G, vertex v){ Q=MakeEmptyQueue(); for each w in G Visited[w]=False; Visited[v]= True; Enqueue(v,Q); Χρόνος Εκτέλεσης:? while (!IsEmpty(Q)){ w = Dequeue(Q); Visit(w); for each u adjacent to w if (Visited[u]=False) Visited[u]=True; Enqueue(u,Q); } ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -2

21 Τοπολογική Ταξινόµηση (Topological Sort) Δίνεται ένα σύνολο εργασιών και θέλουµε να ορίσουµε τη σειρά µε την οποία πρέπει να εκτελέσει τις εργασίες ένας επεξεργαστής, δεδοµένης της ύπαρξης κάποιων περιορισµών. Κάθε εργασία έχει ένα σύνολο προαπαιτούµενων εργασιών, δηλαδή δεν µπορεί να εκτελεσθεί προτού συµπληρωθεί κάθε µια από τις προαπαιτούµενες. Μπορούµε να παραστήσουµε το πρόβληµα ως έναν κατευθυνόµενο γράφο: Οι κορυφές του γράφου αντιστοιχούν σε κάθε µια από τις εργασίες, και η ύπαρξη ακµής από την κορυφή Α στην κορυφή Β δηλώνει ότι η εργασία Α πρέπει να εκτελεστεί πριν από τη Β. Τοπολογική ταξινόµηση του γράφου είναι µια σειρά των κορυφών του, v,, v n,, ώστε αν (v i, v j ) είναι ακµή του γράφου τότε i<j. ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -2

22 Παράδειγµα V Τοπολογικές Ταξινοµήσεις του γράφου: V2 V3 V, V2, V4, V3, V5, V6, V7 V, V2, V3, V5, V6, V7, V4 V4 V5 V, V3, V2, V5, V6, V4, V7 V6 V7 ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -22

23 Αλγόριθµος για Τοπολογική Ταξινόµηση Ο βαθµός εισόδου (in-degree) ενός κόµβου είναι ο αριθµός των ακµών που καταλήγουν στον κόµβο. (Στο πρόβληµα µας, ο αριθµός των προαπαιτούµενων εργασιών) Για κάθε κορυφή u έστω I[u] ο βαθµός εισόδου της u. Επαναλαµβάνουµε τα εξής βήµατα:. διαλέγουµε κορυφή Α µε Ι[Α]=, 2. τυπώνουµε την Α, 3. για όλες τις κορυφές Β, µε (Α,Β) µειώνουµε την τιµή Ι[Β] κατά. Πως µπορούµε να διακρίνουµε την ύπαρξη κύκλων; ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -23

24 topsort( graph G ){ int I[ V ]; Προσπάθεια for each vertex u I[u]=; for each vertex u for each edge (u,v) I[v]++; Χρόνος Εκτέλεσης: O( V 2 ) for (i=; i <= V ; i++){ v = FindVertexOfIndegree; if (v == Not_a_Vertex) Error( Graph has a cycle ); return; output v; for each edge (v,w) I[w]--; }} ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -24

25 Προσπάθεια 2 (µε χρήση βοηθητικής δοµής) topologicalsort( graph G ){ queue Q; int I[ V ]; for each vertex u I[u]=; Χρόνος Εκτέλεσης:? for each vertex u for each edge (u,v) I[v]++; for each vertex u if (I[u]==) Enqueue(u, Q); while (! IsEmpty(Q)){ u = Dequeue(Q); output u; for each (u,v) I[v]--; if (I[v]==) Enqueue (v, Q); }} ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι -25

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, Γράφοι Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Γράφοι - ορισµοί και υλοποίηση Τοπολογική Ταξινόµηση ιάσχιση Γράφων ΕΠΛ 23 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 26 - Γράφοι Ηπιο

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 9: Εισαγωγή στους Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Γράφοι - ορισμοί και υλοποίηση Διάσχιση Γράφων Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

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

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

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

Διάλεξη 18: Γράφοι I Εισαγωγή

Διάλεξη 18: Γράφοι I Εισαγωγή Διάλεξη 18: Γράφοι I Εισαγωγή Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Γράφοι ορισμοί και υλοποίηση Διάσχιση Γράφων ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Εισαγωγή στους Γράφους Η πιο

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

Διάλεξη 18: Γράφοι I - Εισαγωγή

Διάλεξη 18: Γράφοι I - Εισαγωγή ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 18: Γράφοι I - Εισαγωγή Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Γράφοι - ορισμοί και υλοποίηση - Διάσχιση Γράφων Εισαγωγή στους Γράφους

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

Διάλεξη 21: Γράφοι II - Τοπολογική Ταξινόμηση

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

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

Διάλεξη 20: Γράφοι I - Εισαγωγή

Διάλεξη 20: Γράφοι I - Εισαγωγή ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 20: Γράφοι I - Εισαγωγή Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Γράφοι - ορισμοί και υλοποίηση - Διάσχιση Γράφων Εισαγωγή στους Γράφους

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 20: Τοπολογική Ταξινόμηση Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ολοκλήρωση Αλγορίθμων Διάσχισης Γράφων (Από Διάλεξη 19) Τοπολογική Ταξινόμηση Εφαρμογές, Παραδείγματα, Αλγόριθμοι

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

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 19: ΓράφοιII -ΤοπολογικήΤαξινόμηση Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Τοπολογική Ταξινόμηση - Εφαρμογές, Παραδείγματα, Αλγόριθμοι Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231 Δομές

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

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

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

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

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

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Άσκηση 1 (α) Ο αλγόριθµος χρησιµοποιεί τη διαδικασία DFS(v) η οποία, ως γνωστό, επισκέπτεται όλους τους κόµβους που είναι συνδεδεµένοι µε τον κόµβο v. Για να µετρήσουµε

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

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

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Άσκηση 1 Χρησιμοποιούμε τις δομές: struct hashtable { struct node array[maxsize]; int maxsize; int size; struct node{ int data; int status; Στο πεδίο status σημειώνουμε

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

Γράφοι. Ορολογία. Ορισµός: G = (V, E) όπου. Ορολογία (συνέχεια) γράφος ή γράφηµα (graph) V:ένα σύνολο E:µια διµελής σχέση στο V

Γράφοι. Ορολογία. Ορισµός: G = (V, E) όπου. Ορολογία (συνέχεια) γράφος ή γράφηµα (graph) V:ένα σύνολο E:µια διµελής σχέση στο V Γράφοι Ορολογία γράφος ή γράφηµα (graph) Ορισµός: G = (V, E) όπου V:ένα σύνολο E:µια διµελής σχέση στο V Ορολογία (συνέχεια) κάθε v V ονοµάζεται κορυφή (vertex) ή κόµβος (node) κάθε (v 1, v 2 ) Ε ονοµάζεται

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 4 Σωροί, Γράφοι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 4 Σωροί, Γράφοι ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2013 ΑΣΚΗΣΗ 4 Σωροί, Γράφοι Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου Ημερομηνία Υποβολής: 05/04/2013 Ημερομηνία

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

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ 2 Η ΔΙΑΛΕΞΗ Βασικές Έννοιες Γράφων - Ορισμοί (συνέχεια) - Ισομορφισμοί-Ομοιομορφισμοί Γράφων - Πράξεις - Αναπαράσταση Γράφων (Πίνακες

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

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

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

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

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035).

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035). Βασικές Δοµές Δεδοµένων Σύντοµη επανάληψη (ΕΠΛ 035). Περίληψη Γραµµικές Δοµές Δεδοµένων Πίνακες Λίστες Στοίβες Ουρές Γράφοι Δέντρα Γραµµικές Δοµές Πίνακας (array) A[0] A[1] A[2] A[ ] A[n-1] Προκαθορισµένη

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

ΑΛΓΟΡΙΘΜΟΙ  Άνοιξη I. ΜΗΛΗΣ ΑΛΓΟΡΙΘΜΟΙ http://eclass.aueb.gr/courses/inf161/ Άνοιξη 2017 - I. ΜΗΛΗΣ AΛΓΟΡΙΘΜΟΙ ΓΡΑΦΩΝ Ι ΕΞΕΡΕΥΝΗΣΗ 1 Graphs Ανά ζεύγη (pairwise) σχέσεις μεταξύ των στοιχείων ενός συνόλου 2 Graphs Εφαρμογές Χάρτες,

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

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

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

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

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

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

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

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

Αλγόριθμοι Γραφημάτων 11 Αλγόριθμοι Γραφημάτων Περιεχόμενα Κεφαλαίου 11.1 Βασικές Έννοιες....................... 330 11.2 Εσωτερική Παράσταση Γράφων.............. 333 11.3 Μέθοδοι Διάσχισης...................... 336 11.4 Τοπολογική

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

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

Εισαγωγή στη Θεωρία Γράφων Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εισαγωγή στη Θεωρία Γράφων Υλικό βασισμένο στις εξής πηγές: Βιβλίο «Μαθήματα Θεωρίας Γράφων», Γιάννη Μανωλόπουλου, Εκδόσεις Νέων

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

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

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων. Γραφήματα. Αναπαράσταση Γραφημάτων 3. Διερεύνηση σε Πρώτα σε Πλάτος (BFS) Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Γράφημα Ορισμός: Ένα γράφημα G είναι το διατεταγμένο ζεύγος

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

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

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

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

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

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

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

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

Κατ οίκον Εργασία 4 Σκελετοί Λύσεων Κατ οίκον Εργασία 4 Σκελετοί Λύσεων Άσκηση 1 α) Εφαρμογή της BuildHeap στον πίνακα [-,, 3, 5, 10, 17, 8, 1, 11,, 15] έχει τις εξής ενδιάμεσες καταστάσεις. Αρχική Κατάσταση: 10 17 8 1 11 15 Μετά από εφαρμογή

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

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

Ενότητα 10 Γράφοι (ή Γραφήµατα) Ενότητα 10 Γράφοι (ή γραφήµατα) ΗΥ240 - Παναγιώτα Φατούρου 1 Γράφοι (ή Γραφήµατα) Ένας γράφος αποτελείται από ένα σύνολο από σηµεία (που λέγονται κόµβοι) και ένα σύνολο από γραµµές (που λέγονται ακµές)

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

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

Κατ οίκον Εργασία 4 Σκελετοί Λύσεων Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Αναδρομική διαδικασία Η αναδρομική διαδικασία RecIsheap παίρνει ως παραμέτρους τον πίνακα, το μέγεθός του καθώς και το στοιχείο το οποίο θα τύχει επεξεργασίας.

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

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

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

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

(elementary graph algorithms)

(elementary graph algorithms) (elementary graph algorithms) Παύλος Εφραιμίδης 1 περιεχόμενα γραφήματα αναπαραστάσεις οριζόντια διερεύνηση καθοδική διερεύνηση 2 ΓΡΑΦΉΜΑΤΑ 3 αναπαράσταση δύο καθιερωμένοι τρόποι: πίνακας γειτνίασης συλλογή

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

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

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Διερεύνηση Πρώτα σε Βάθος (DFS) 2. Τοπολογική Ταξινόμηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Depth-First Search Πρώτα σε Βάθος διερεύνηση (Depth-First Search) είναι

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

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

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

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

Αυτοματοποιημένη Επαλήθευση

Αυτοματοποιημένη Επαλήθευση Αυτοματοποιημένη Επαλήθευση Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Έλεγχος Μοντέλου Αλγόριθμοι γράφων Αλγόριθμοι αυτομάτων Αυτόματα ως προδιαγραφές ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-1

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

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

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

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

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

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

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

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

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

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

Βασικές οµές εδοµένων

Βασικές οµές εδοµένων Βασικές οµές εδοµένων Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Αφηρηµένοι Τύποι εδοµένων Οι ΑΤ Στοίβα και Ουρά Υλοποίηση των ΑΤ Στοίβα και Ουρά µε ιαδοχική και υναµική Χορήγηση Μνήµης

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

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

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΟΛΙΤΙΣΜΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΚΑΙ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΚΤΙΚΗ ΕΝΟΤΗΤΑ 3 ΘΕΜΑ: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ ΓΡΑΦΗΜΑΤΑ Επίκουρος Καθηγητής ΠΕΡΙΕΧΟΜΕΝΟ

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

Γράφοι. Αλγόριθμοι και πολυπλοκότητα. Στάθης Ζάχος, Δημήτρης Φωτάκης

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

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

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 Θέματα μελέτης Πρόβλημα αναζήτησης σε γραφήματα Αναζήτηση κατά βάθος (Depth-first search DFS) Αναζήτηση κατά πλάτος (Breadth-first search BFS) 2 Γράφημα (graph) Αναπαράσταση συνόλου

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Θεωρία Υπολογισμού Ενότητα 3 : Γραφήματα & Αποδείξεις Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

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

Γράφοι. κόµβοι) και ένα σύνολο από γραµµές (που λέγονται ακµές) οι οποίες

Γράφοι. κόµβοι) και ένα σύνολο από γραµµές (που λέγονται ακµές) οι οποίες Ενότητα 11 Γράφοι (ή γραφήµατα) ΗΥ240 - Παναγιώτα Φατούρου 1 Γράφοι Ένας γράφος αποτελείται από ένα σύνολο από σηµεία (που λέγονται κόµβοι) και ένα σύνολο από γραµµές (που λέγονται ακµές) οι οποίες συνδέουν

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

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

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

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

Κεφάλαιο 4 Γραφήματα και Δένδρα

Κεφάλαιο 4 Γραφήματα και Δένδρα Κεφάλαιο 4 Γραφήματα και Δένδρα Περιεχόμενα 4.1 Γραφήματα... 60 4.2 Δομές δεδομένων για την αναπαράσταση γραφημάτων... 64 4.2.1 Υλοποίηση σε Java... 66 4.3 Διερεύνηση γραφήματος... 69 4.4 Δένδρα... 86

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

Γηάιεμε 19: Δηζαγσγή ζηνπο Γξάθνπο

Γηάιεμε 19: Δηζαγσγή ζηνπο Γξάθνπο ηάιεμε 9: Δηζαγσγή ζηνπο ξάθνπο Σηελ ελόηεηα απηή ζα κειεηεζνύλ ηα εμήο επηκέξνπο ζέκαηα: ράθοι - οριζμοί και σλοποίηζη Διάζτιζη ράθων ηδάζθσλ: εµήηξεο Εετλαιηπνύξ ΕΠΛ 35 Δομές Δεδομένων και Αλγόριθμοι

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΠΝΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΣ ΔΔΟΜΝΩΝ ΚΙ ΛΓΟΡΙΘΜΟΙ ΗΜΡΟΜΗΝΙ: 14/11/2018 ΔΙΓΝΩΣΤΙΚΟ ΠΝΩ Σ ΔΝΔΡΙΚΣ ΔΟΜΣ ΚΙ ΓΡΦΟΥΣ Διάρκεια: 45 λεπτά Ονοματεπώνυμο:. ρ. Ταυτότητας:. ΒΘΜΟΛΟΓΙ ΣΚΗΣΗ ΒΘΜΟΣ

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

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ισαγωγή στην πιστήμη των Υπολογιστών 2015-16 λγόριθμοι και ομές εδομένων (IΙ) (γράφοι και δένδρα) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης φηρημένες

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 10η: Γράφοι Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 10η: Γράφοι Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 10η: Γράφοι Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 10 Γράφοι ΗΥ240 - Παναγιώτα Φατούρου 2 Γράφοι (ή Γραφήματα) Ένας γράφος

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ιάλεξη : λάχιστα εννητορικά ένδρα Αλγόριθμος Prim Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: λάχιστα εννητορικά ένδρα () Minimum Spanning Trees Ο αλγόριθμος του Prim για εύρεση σε γράφους

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

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Σχεδίαση Αλγορίθμων Μείωσε και Βασίλευε http://delab.csd.auth.gr/~gounaris/courses/ad auth gounaris/courses/ad Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Μείωσε και Βασίλευε 1. Μειώνουμε

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

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

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

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

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

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Συντομότατα μονοπάτια 2. Αλγόριθμος Bellman-Ford 3. Αλγόριθμος Dijkstra 4. Floyd-Warshall Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Single-Source Shortest Path Πρόβλημα:

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

Βασικές Δομές Δεδομένων

Βασικές Δομές Δεδομένων Βασικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αφηρημένοι Τύποι Δεδομένων Οι ΑΤΔ Στοίβα και Ουρά Υλοποίηση των ΑΤΔ Στοίβα και Ουρά με Διαδοχική και Δυναμική Χορήγηση

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 3. Γραφήματα. ver. 21/12/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήματα ver. 21/12/2014 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισμοί και Εφαρμογές γραφήματα γράφημα G: ένας τρόπος κωδικοποίησης των σχέσεων ανά

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

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

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

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

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

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

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

Γράφοι (συνέχεια) Ο αλγόριθµος Dijkstra για εύρεση βραχυτέρων µονοπατιών Ta µονοπάτια Euler

Γράφοι (συνέχεια) Ο αλγόριθµος Dijkstra για εύρεση βραχυτέρων µονοπατιών Ta µονοπάτια Euler Γράφοι (συνέχεια) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος Dijkstra για εύρεση βραχυτέρων µονοπατιών Ta µονοπάτια Euler ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

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

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους Διάλεξη 2: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Βραχύτερα Μονοπάτια σε γράφους - Ο αλγόριθμος Dijkstra για εύρεση της βραχύτερης απόστασης

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

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 8: Αφηρημένοι Τύποι Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αφηρημένοι Τύποι Δεδομένων (ΑΤΔ) Οι ΑΤΔ Στοίβα και Ουρά Υλοποίηση των ΑΤΔ Στοίβα και Ουρά με Στατική Δέσμευση

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

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

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

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

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

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

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

Γράφοι: κατευθυνόμενοι και μη

Γράφοι: κατευθυνόμενοι και μη Γράφοι: κατευθυνόμενοι και μη (V,E ) (V,E ) Γράφος (ή γράφημα): ζεύγος (V,E), V ένα μη κενό σύνολο, Ε διμελής σχέση πάνω στο V Μη κατευθυνόμενος γράφος: σχέση Ε συμμετρική V: κορυφές (vertices), κόμβοι

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

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

Δομές Δεδομένων Ενότητα 6 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 6: Γράφοι Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

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

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

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

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

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

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

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

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

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

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

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

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

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόγχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόγχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου

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

Γραφήματα. Κεφάλαιο Εισαγωγικές έννοιες Ορισμός

Γραφήματα. Κεφάλαιο Εισαγωγικές έννοιες Ορισμός Κεφάλαιο 3 Γραφήματα 3.1 Εισαγωγικές έννοιες Ορισμός Ορισμός 3.1. Γράφος (ή γράφημα) G, ονομάζεται ένα διατεταγμένο ζεύγος συνόλων (V, E), όπου V είναι μη κενό σύνολο στοιχείων και E ένα σύνολο μη διατεταγμένων

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

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

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

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 3: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΓΡΑΦΗΜΑΤΑ

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

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

Κεφάλαιο 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: ένας τρόπος κωδικοποίησης των σχέσεων

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

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

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

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

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2017-2018. Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

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

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

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

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

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

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

Θεωρία και Αλγόριθμοι Γράφων

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

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

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο Σχεδίαση Αλγορίθμων Άπληστοι Αλγόριθμοι http://delab.csd.auth.gr/~gounaris/courses/ad 1 Άπληστοι αλγόριθμοι Προβλήματα βελτιστοποίησης ηςλύνονται με μια σειρά επιλογών που είναι: εφικτές τοπικά βέλτιστες

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

ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 2A Σκελετοί Λύσεων

ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 2A Σκελετοί Λύσεων ΕΠΛ 232: λγόριθµοι και Πολυπλοκότητα Κατ οίκον Εργασία 2A Σκελετοί Λύσεων 1. ια τη σαφή διατύπωση του αλγόριθµου απαιτούνται τα εξής: ιατήρηση της ροής που κτίζεται από τον αλγόριθµο. ιατήρηση της περίσσειας

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

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 12 16 2 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 13 1 με τις ακόλουθες ιδιότητες 4 14 9 7 4 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση

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

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

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

Δυναµικός Προγραµµατισµός (ΔΠ)

Δυναµικός Προγραµµατισµός (ΔΠ) Δυναµικός Προγραµµατισµός (ΔΠ) Περίληψη Δυναµικός Προγραµµατισµός Αρχή του Βέλτιστου Παραδείγµατα Δυναµικός Προγραµµατισµός ΔΠ (Dynamic Programming DP) Μέθοδος σχεδιασµού αλγορίθµων Είναι µια γενική µεθοδολογία

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

Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα

Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Λίστες -Υλοποίηση ταξινομημένης λίστας με δυναμική δέσμευση μνήμης ΕΠΛ035

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

Βασικές Έννοιες Δοµών Δεδοµένων

Βασικές Έννοιες Δοµών Δεδοµένων Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες

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

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 5: Μείωσε και Βασίλευε. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 5: Μείωσε και Βασίλευε. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 5: Μείωσε και Βασίλευε Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το παρόν

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

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

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

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

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

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

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

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

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

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

Αλγόριθμοι και πολυπλοκότητα Οριζόντια διερεύνηση

Αλγόριθμοι και πολυπλοκότητα Οριζόντια διερεύνηση ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Οριζόντια διερεύνηση Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Οριζόντια διερεύνηση readth irst Search readth-irst Search 1 Περιεχόμενα

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

Γέφυρες σε Δίκτυα. Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος. Γέφυρα του (με αφετηρία τον ) :

Γέφυρες σε Δίκτυα. Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος. Γέφυρα του (με αφετηρία τον ) : Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος και Γέφυρα του (με αφετηρία τον ) : Ακμή που περιέχεται σε κάθε μονοπάτι από το στο s a b c d e f g h i j k l Μας δίνεται ένα δίκτυο (κατευθυνόμενο

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