Τεχνολογίες Υλοποίησης Αλγορίθµων

Σχετικά έγγραφα
Προηγµένα Θέµατα Τεχνολογιών Υλοποίησης Αλγορίθµων

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

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

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

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

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

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

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

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

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

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

Διοικητική Λογιστική

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

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

Μηχανολογικό Σχέδιο Ι

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Ιστορία της μετάφρασης

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

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

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

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Βέλτιστος Έλεγχος Συστημάτων

Κβαντική Επεξεργασία Πληροφορίας

Διδακτική της Πληροφορικής

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Διοικητική Λογιστική

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Ψηφιακή Επεξεργασία Εικόνων

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Μάρκετινγκ Αγροτικών Προϊόντων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Εισαγωγή στους Υπολογιστές

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Βάσεις Περιβαλλοντικών Δεδομένων

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Ενότητα. Εισαγωγή στη Microsoft Access

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 6

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 3

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Τεχνικό Σχέδιο - CAD

Λογιστική Κόστους. Ενότητα 4: ΣΥΜΠΕΡΙΦΟΡΑ - ΦΥΣΗ ΚΟΣΤΟΥΣ. Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής

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

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Θέματα Εφαρμοσμένης. Ενότητα 14.2: Η ψήφος στα πρόσωπα. Θεόδωρος Χατζηπαντελής Τμήμα Πολιτικών Επιστημών ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Κβαντική Επεξεργασία Πληροφορίας

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

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

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Εφαρμογές πληροφορικής σε θέματα πολιτικού μηχανικού

Τεχνολογία Πολυμέσων. Ενότητα 8: Pool Table. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

Διδακτική Πληροφορικής

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

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Οικονομική Γεωργικών Εκμεταλλεύσεων

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

Τηλεματική και Νέες Υπηρεσίες

Διδακτική Πληροφορικής

Τεχνικό Σχέδιο - CAD

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Διδακτική Πληροφορικής

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Μηχανολογικό Σχέδιο Ι

Τεχνικό Σχέδιο - CAD

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Διοίκηση Επιχειρήσεων

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εκκλησιαστικό Δίκαιο

Διδακτική των εικαστικών τεχνών Ενότητα 1

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

Βάσεις Περιβαλλοντικών Δεδομένων

Ατμοσφαιρική Ρύπανση

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Μηχανολογικό Σχέδιο Ι

Transcript:

Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Γρηγόρης Πράσινος Υποψήφιος ιδάκτωρ Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών Ο τύπος GraphWin της LEDA 1 / 31

Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ϱητώς. 2 / 31

Χρηµατοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδηµαϊκά Μαθήµατα στο Πανεπιστήµιο Πατρών» έχει χρηµατοδοτήσει µόνο τη αναδιαµόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράµµατος «Εκπαίδευση και ια Βίου Μάθηση» και συγχρηµατοδοτείται από την Ευρωπαϊκή Ενωση (Ευρωπαϊκό Κοινωνικό Ταµείο) και από εθνικούς πόρους. 3 / 31

Περιεχόµενα Ο τύπος δεδοµένων GraphWin της LEDA Γραφικό περιβάλλον Χαρακτηριστικά σχεδίασης Συναρτήσεις χειρισµού γεγονότων 4 / 31

Ο τύπος δεδοµένων GraphWin της LEDA Ενα αντικείµενο τύπου GraphWin είναι τρία πράγµατα µαζί: ένα παράθυρο, ένα γράφηµα και ένας σχεδιασµός (απεικόνιση) ενός γραφήµατος. Το γράφηµα και η σχεδιαστική του απεικόνιση µπορούν να µεταβληθούν είτε µέσω χρήσης του ποντικιού, είτε τρέχοντας έναν αλγόριθµο στο γράφηµα. Ο τύπος GraphWin µπορεί να χρησιµοποιηθεί για: ηµιουργία και απεικόνιση γραφηµάτων Οπτικοποίηση γραφηµάτων και των αποτελεσµάτων αλγορίθµων γραφηµάτων Συγγραφή διαλογικών προγραµµάτων παρουσίασης (demos) αλγορίθµων γραφηµάτων Οπτικοποίηση λειτουργίας (animation) αλγορίθµων γραφηµάτων. 5 / 31

Αρχίζοντας µε το GraphWin # include <LEDA/ graphics / graphwin. h> u s i n g namespace leda ; i n t main ( ) { / / creates a graph window w i t h a new empty graph GraphWin gw ; / / d i s p l a y s the graph window at d e f a u l t p o s i t i o n gw. d i s p l a y ( ) ; } / / e n t e r s the e d i t mode f o r changing / / the graph i n t e r a c t i v e l y gw. e d i t ( ) ; 6 / 31

Αρχίζοντας µε το GraphWin - 2 Εικόνα 1 7 / 31

Αρχίζοντας µε το GraphWin - 3 Εικόνα 2 8 / 31

Αποθήκευση γραφήµατος σε αρχείο # include <LEDA/ graphics / graphwin. h> u s i n g namespace leda ; i n t main ( ) { GRAPH< i n t, i n t > G; GraphWin gw(g) ; gw. d i s p l a y ( ) ; gw. e d i t ( ) ; } / / Save the graph i n the f i l e / / " graph. gw" u s i n g the F i l e menu 9 / 31

Κατηγορήµατα Κορυφών Εικόνα 3 10 / 31

Κατηγορήµατα Πλευρών Εικόνα 4 11 / 31

Ανάγνωση γραφήµατος από αρχείο # include <LEDA/ graphics / graphwin. h> u s i n g namespace leda ; i n t main ( ) { GRAPH< i n t, i n t > G; G. read ( " graph. gw " ) ; GraphWin gw(g) ; / / the data l a b e l s of nodes and edges are displayed gw. set_node_label_type ( data_label ) ; gw. set_edge_label_type ( data_label ) ; } gw. d i s p l a y ( ) ; gw. e d i t ( ) ; 12 / 31

Βασικές λειτουργίες του GraphWin GraphWin gw; δηµιουργεί ένα γραφοπαράθυρο gw το οποίο χρησιµοποιεί ένα δικό του γράφηµα G και παράθυρο W. GraphWin gw(graph& G); δηµιουργεί ένα παράθυρο γραφήµατος gw και το συσχετίζει µε το γράφηµα G. Αλλοι τρόποι δηµιουργίας γραφοπαραθύρων: GraphWin gw( window& W) ; GraphWin gw( graph& G, window& W) ; Ανάκτηση γραφήµατος και παραθύρου από γραφοπαράθυρο: window& W = gw. get_window ( ) ; graph& G = gw. get_graph ( ) ; 13 / 31

Βασικές λειτουργίες του GraphWin Ανοιγµα και εµφάνιση γραφοπαράθυρου: gw. d i s p l a y ( ) ; gw. d i s p l a y ( x, y ) ; / / l e f t upper corner i s displayed / / at p i x e l coordinates ( x, y ) ιαλογική επικοινωνία γραφοπαράθυρου: gw.edit (); Η διαλογική επικοινωνία τερµατίζεται όταν πατηθεί το πλήκτρο done ή επιλεχθεί το exit από το µενού αρχείων (file menu). 14 / 31

Παράδειγµα: edit-and-run # i n c lude <LEDA/ graphics / graphwin. h> # i n c lude <LEDA/ graph / graph_alg. h> u s i n g namespace leda ; i n t main ( ) { GraphWin gw ( " Leda Graph E d i t o r " ) ; gw. d i s p l a y ( window : : center, window : : center ) ; } w h i l e ( gw. e d i t ( ) ) { graph& G = gw. get_graph ( ) ; i f ( PLANAR (G) ) gw. wait ( " T h i s graph i s planar. " ) ; e l s e gw. wait ( " T h i s graph i s not planar. " ) ; } r e t u r n 0 ; 15 / 31

Ενηµέρωση/µεταβολή γραφήµατος στο GraphWin - 1 node gw. new_node ( const p o i n t& p ) ; / / creates a new node v w i t h d e f a u l t / / a t t r i b u t e s. The p o s i t i o n of v i s s e t to p. void gw. del_node ( node v ) ; / / removes v from the graph edge gw. new_edge ( node v, node w ) ; / / creates a new edge ( v,w) / / w i t h d e f a u l t a t t r i b u t e s void gw. del_edge ( edge e ) ; / / removes edge e from the graph void gw. clear_graph ( ) ; / / makes the graph empty 16 / 31

Ενηµέρωση/µεταβολή γραφήµατος στο GraphWin - 2 Παίρνουµε µια αναφορά στο γράφηµα που σχετίζεται µε το γραφοπαράθυρο και εφαρµόζουµε στο γράφηµα τις γνωστές λειτουργίες ενηµέρωσης. graph& G = gw. get_graph ( ) ; / / some update o p e r a t i o n s on G G. new_node ( ) ; G. del_edge ( e ) ; gw. update_graph ( ) ; / / Important!! Η τελευταία εντολή πληροφορεί το γραφοπαράθυρο ότι έχουν γίνει αλλαγές στο γράφηµα µε το οποίο συσχετίζεται ενηµέρωση εσωτερικών δοµών δεδοµένων γραφοπαράθυρου. 17 / 31

Λειτουργίες Κατηγορηµάτων Κορυφών/Πλευρών - 1 object := κορυφή ή πλευρά attrib := κατηγόρηµα attrib_type := τύπος κατηγορήµατος a t t r i b _ t y p e gw. g e t _ a t t r i b ( object x ) ; / / r e t u r n s the c u r r e n t value of a t t r i b u t e / / < a t t r i b > of object x a t t r i b _ t y p e gw. s e t _ a t t r i b ( object x, a t t r i b _ t y p e a ) ; / / s e t s the a t t r i b u t e a t t r i b of object x to a / / and r e t u r n s the p r e v i o u s value of the a t t r i b u t e void gw. s e t _ a t t r i b ( l i s t < object >& L, a t t r i b _ t y p e a ) ; / / s e t s a t t r i b u t e a t t r i b f o r a l l o b j e c t s i n L to a 18 / 31

Λειτουργίες Κατηγορηµάτων Κορυφών/Πλευρών - 2 void gw. r e s e t _ a t t r i b u t e s ( ) ; / / r e s e t s the a t t r i b u t e s of a l l o b j e c t s / / to t h e i r d e f a u l t values void gw. save_node_attributes ( ) ; void gw. save_edge_attributes ( ) ; / / save c u r r e n t node and edge a t t r i b u t e s void gw. r e s t o r e _ n o d e _ a t t r i b u t e s ( ) ; void gw. r e s t o r e _ e d g e _ a t t r i b u t e s ( ) ; / / r e s t o r e s node and edge a t t r i b u t e s / / to t h e i r saved values 19 / 31

Παράδειγµα graph& G = gw.get_graph(); gw.save_node_attributes(); gw.save_edge_attributes(); node v; forall_nodes(v, G) { if (gw.get_shape(v) == ellipse_node) { gw.set_shape(v, rectangle_node); gw.set_color(v, yellow); } } edge e; forall_edges(e, G) { if (gw.get_color(e) == blue) { gw.set_style(e, dashed); gw.set_color(e, black); } } gw.redraw(); leda_wait(5); gw.restore_node_attributes(); gw.restore_edge_attributes(); 20 / 31

Συναρτήσεις Χειρισµού (handlers) Χρησιµοποιούνται για να συσχετίσουν µια οποιαδήποτε λειτουργία µε τις εντολές ενηµέρωσης του GraphWin. Pre-handler: καλείται πριν από την ενηµέρωση. Post-handler: καλείται µετά από την ενηµέρωση. 21 / 31

Μια µέθοδος για on-line demos - 1 / / a l g o r i t h m to be i l l u s t r a t e d void d i s p l a y _ s c c ( GraphWin& gw) { graph& G = gw. get_graph ( ) ; node_array < i n t > comp_num(g) ; STRONG_COMPONENTS(G, comp_num ) ; node v ; f o r a l l _ n o d e s ( v, G) gw. s e t _ c o l o r ( v, c o l o r (comp_num [ v ] ) ) ; } / / define post h a n d l e r s f o r graph o p e r a t i o n s void new_edge_handler ( GraphWin& gw, edge ) { d i s p l a y _ s c c (gw ) ; } void del_edge_handler ( GraphWin& gw) { d i s p l a y _ s c c (gw ) ; } void new_node_handler ( GraphWin& gw, node ) { d i s p l a y _ s c c (gw ) ; } void del_node_handler ( GraphWin& gw) { d i s p l a y _ s c c (gw ) ; } void i n i t _ g r a p h _ h a n d l e r ( GraphWin& gw) { d i s p l a y _ s c c (gw ) ; } 22 / 31

Μια µέθοδος για on-line demos - 2 # include <LEDA/ graph / graph_alg. h> # include <LEDA/ graphics / graphwin. h> u s i n g namespace leda ; i n t main ( ) { GraphWin gw ; / / t e l l GraphWin which handlers to use gw. s e t _ i n i t _ g r a p h _ h a n d l e r ( i n i t _ g r a p h _ h a n d l e r ) ; gw. set_new_edge_handler ( new_edge_handler ) ; gw. set_del_edge_handler ( del_edge_handler ) ; gw. set_new_node_handler ( new_node_handler ) ; gw. set_del_node_handler ( del_node_handler ) ; gw. d i s p l a y ( ) ; gw. e d i t ( ) ; } r e t u r n 0 ; 23 / 31

Επέκταση και Τροποποίηση Menus - 1 # include <LEDA/ graphics / graphwin. h> # include <LEDA/ graph / graph_alg. h> # include <LEDA/ graph / graph_misc. h> u s i n g namespace leda ; void d i s p l a y _ d f s ( GraphWin& gw) { graph& G = gw. get_graph ( ) ; node_array < i n t > dfsnum (G) ; node_array < i n t > compnum(g) ; l i s t <edge> T = DFS_NUM (G, dfsnum, compnum ) ; node v ; edge e ; } f o r a l l _ n o d e s ( v,g) gw. s e t _ u s e r _ l a b e l ( v, s t r i n g ("%d ", dfsnum [ v ] ) ) ; f o r a l l ( e, T ) { gw. s e t _ c o l o r ( e, red ) ; gw. s e t _ w i d t h ( e, 2 ) ; } 24 / 31

Επέκταση και Τροποποίηση Menus - 2 / / another a l g o r i t h m... void d i s p l a y _ s c c ( GraphWin& gw) {... } i n t main ( ) { GraphWin gw ; gw. add_simple_call ( d i s p l a y _ d f s, " DFS " ) ; gw. add_simple_call ( d i s p l a y _ s c c, "SCC " ) ; gw. set_node_label_type ( i n d e x _ l a b e l ) ; } gw. d i s p l a y ( ) ; gw. e d i t ( ) ; 25 / 31

Τέλος Ενότητας 26 / 31

Σηµείωµα Ιστορικού Εκδόσεων Εργου Το παρόν έργο αποτελεί την έκδοση 1.0. 27 / 31

Σηµείωµα Ιστορικού Εκδόσεων Εργου Copyright Πανεπιστήµιο Πατρών, Χρήστος Ζαρολιάγκης, 2014. «Τεχνολογίες Υλοποίησης Αλγορίθµων». Εκδοση: 1.0. Πάτρα 2014. ιαθέσιµο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/ceid1084 28 / 31

Σηµείωµα Ιστορικού Εκδόσεων Εργου Το παρόν υλικό διατίθεται µε τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εµπορική Χρήση, Οχι Παράγωγα Εργα 4.0 [1] ή µεταγενέστερη, ιεθνής Εκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. ϕωτογραφίες, διαγράµµατα κ.λ.π., τα οποία εµπεριέχονται σε αυτό. [1] http://creativecommons.org/licenses/by-nc-nd/4.0 Ως Μη Εµπορική ορίζεται η χρήση: που δεν περιλαµβάνει άµεσο ή έµµεσο οικονοµικό όφελος από την χρήση του έργου, για το διανοµέα του έργου και αδειοδόχο που δεν περιλαµβάνει οικονοµική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανοµέα του έργου και αδειοδόχο έµµεσο οικονοµικό όφελος (π.χ. διαφηµίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος µπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιµοποιεί το έργο για εµπορική χρήση, εφόσον αυτό του Ϲητηθεί. 29 / 31

Πηγές εικόνων - Χρήση Εργων Τρίτων Εικόνες 1,2, 3 και 4: ηµιουργήθηκαν µέσω εργαλείου οπτικοποιήσης του Graphwin της ϐιβλιοθήκης LEDA: http://www.algorithmic-solutions.com 30 / 31

ιατήρηση Σηµειωµάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού ϑα πρέπει να συµπεριλαµβάνει : το Σηµείωµα Αναφοράς το Σηµείωµα Αδειοδότησης τη δήλωση ιατήρησης Σηµειωµάτων το Σηµείωµα Χρήσης Εργων Τρίτων (εφόσον υπάρχει) µαζί µε τους συνοδευόµενους υπερσυνδέσµους 31 / 31