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

Σχετικά έγγραφα
ΕΥΡΕΣΗ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ

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

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

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

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

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

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

Θέματα υπολογισμού στον πολιτισμό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Θέματα υπολογισμού στον πολιτισμό

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

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

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

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

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

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

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

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

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

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

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

Θέματα υπολογισμού στον πολιτισμό

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

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

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

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

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

Εισαγωγή στη Δικτύωση Υπολογιστών

Αερισμός. Ενότητα 1: Αερισμός και αιμάτωση. Κωνσταντίνος Σπυρόπουλος, Καθηγητής Σχολή Επιστημών Υγείας Τμήμα Ιατρικής

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

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

Φιλοσοφία της Ιστορίας και του Πολιτισμού

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

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

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

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

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

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

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

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

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

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

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

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

Πρακτική Άσκηση σε σχολεία της δευτεροβάθμιας εκπαίδευσης

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

Υπολογιστική άλγεβρα Ενότητα 10: Βάσεις Groebner ενός ιδεώδους ΙΙΙ

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

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

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

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

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

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

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

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

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

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

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

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

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

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

Εισαγωγή στη Δικτύωση Υπολογιστών

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

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

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

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

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

Έλεγχος Ποιότητας Φαρμάκων

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

Γενική Φυσική Ενότητα: Ταλαντώσεις

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

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

Αρχιτεκτονική και Οπτική Επικοινωνία 1 - Αναπαραστάσεις

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

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

Γενική Φυσική Ενότητα: Δυναμική Άκαμπτου Σώματος

Χωρικές σχέσεις και Γεωμετρικές Έννοιες στην Προσχολική Εκπαίδευση

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

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

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

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

Γενική Φυσική Ενότητα: Εισαγωγή στην Ειδική Θεωρία της Σχετικότητας

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

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

Transcript:

Εισαγωγή στους Αλγόριθμους Εύη Παπαϊωάννου Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών

Σκοποί ενότητας Παρουσίαση και μελέτη αλγορίθμων για εύρεση μέγιστου κοινού διαιρέτη Τίτλος Ενότητας 2

Περιεχόμενα ενότητας Παρουσίαση και μελέτη αλγορίθμων για εύρεση μέγιστου κοινού διαιρέτη Τίτλος Ενότητας 3

Εισαγωγή στους Αλγόριθμους Εύρεση μέγιστου κοινού διαιρέτη 4

Εύρεση Μέγιστου Κοινού Διαιρέτη Το πρόβλημα: Δεδομένα: δύο ακέραιοι a και b Ζητούμενο: ο μέγιστος ακέραιος που διαιρεί και τους δύο δοσμένους αριθμούς, γνωστός ως Μέγιστος Κοινός Διαιρέτης τους (Greatest Common Divisor GCD) 5

Εύρεση Μέγιστου Κοινού Διαιρέτη Έστω a=27 και b=9 Οι διαιρέτες του 27 είναι: 1,3,9,27 Οι διαιρέτες του 9 είναι: 1,3,9 Ο μεγαλύτερος διαιρέτης κοινός και στις 2 λίστες είναι ο 9 Επομένως, ο μέγιστος κοινός διαιρέτης (GCD) των αριθμών 27 και 9 είναι ο 9 6

Εύρεση Μέγιστου Κοινού Διαιρέτη Ένας συστηματικός τρόπος για να υπολογίζουμε το μέγιστο κοινό διαιρέτη δύο αριθμών είναι να αναλύσουμε τους δύο αριθμούς σε γινόμενο πρώτων παραγόντων και να πολλαπλασιάσουμε τους κοινούς τους παράγοντες ώστε να πάρουμε το μέγιστο κοινό διαιρέτη τους Έστω a=1035 και b=759 1035=3 2 *5*23 759=3*11*23 Μέγιστοςκοινόςδιαιρέτηςτων 1035 και 759 είναι ο 3*23=69 7

Εύρεση Μέγιστου Κοινού Διαιρέτη Ένας συστηματικός τρόπος για να υπολογίζουμε το ΔΕΝγνωρίζουμετρόπογιανατοκάνουμεαποδοτικά!!!!!! μέγιστο κοινό διαιρέτη δύο αριθμών είναι να αναλύσουμε τους δύο αριθμούς σε γινόμενο πρώτων παραγόντων και να πολλαπλασιάσουμε τους κοινούς τους παράγοντες ώστε να πάρουμε το μέγιστο κοινό διαιρέτη τους Έστω a=1035 και b=759 1035=3 2 *5*23 759=3*11*23 Μέγιστοςκοινόςδιαιρέτηςτων 1035 και 759 είναι ο 3*23=69 8

Εύρεση Μέγιστου Κοινού Διαιρέτη Αποδοτικότερος τρόπος;;;;;;;; ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ ΕΥΚΛΕΙΔΗ Ανακαλύφθηκε από τον Έλληνα μαθηματικό περισσότερο από 2000 χρόνια πριν 9

Εύρεση Μέγιστου Κοινού Διαιρέτη Ο ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ ΕΥΚΛΕΙΔΗ ΓΙΑ ΤΗΝ ΕΥΡΕΣΗ ΤΟΥ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ a mod b σημαίνει: τουπόλοιποπουαφήνειηδιαίρεσητουa με το b Π.χ., 5 mod 3=2, 6 mod 3=0 κ.ο.κ. 10

Εύρεση Μέγιστου Κοινού Διαιρέτη Ο ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ ΕΥΚΛΕΙΔΗ ΓΙΑ ΤΗΝ ΕΥΡΕΣΗ ΤΟΥ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ Παραδείγματα εκτέλεσης του αλγορίθμου: GCD(18,9)=GCD(9,0) GCD(18,9)=9 GCD(37,11)=GCD(11,4) GCD(4,3)=GCD(3,1)=GCD(1,0) GCD(37,11)=1 11

Εύρεση Μέγιστου Κοινού Διαιρέτη Ο ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ ΕΥΚΛΕΙΔΗ ΓΙΑ ΤΗΝ ΕΥΡΕΣΗ ΤΟΥ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ Αριθμοί όπως οι 37 και 11, που έχουν ΜΚΔ το 1 λέγονται σχετικά πρώτοι μεταξύ τους. Παραδείγματα εκτέλεσης του αλγορίθμου: GCD(18,9)=GCD(9,0) GCD(18,9)=9 GCD(37,11)=GCD(11,4) GCD(4,3)=GCD(3,1)=GCD(1,0) GCD(37,11)=1 12

Εύρεση Μέγιστου Κοινού Διαιρέτη Ο ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ ΕΥΚΛΕΙΔΗ ΓΙΑ ΤΗΝ ΕΥΡΕΣΗ ΤΟΥ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ GCD(18,9)=GCD(9,0) GCD(18,9)=9 GCD(37,11)=GCD(11,4) GCD(4,3)=GCD(3,1)=GCD(1,0) GCD(37,11)=1 * 13

Αλγόριθμος Ευκλείδη: ορθότητα Ο αλγόριθμος υλοποιεί ακριβώς τον παρακάτω κανόνα: Αν x και y θετικοί ακέραιοι με x y, τότε gcd(x,y) = gcd(x mod y,y) Γιατί ισχύει αυτό; Αρκεί να δείξουμε ότι gcd(x, y)=gcd(x y, y) από όπου προκύπτει και ο παραπάνω κανόνας αφαιρώντας συνεχώς τον y από τον x Αν ένας αριθμός διαιρεί τους x και y τότε διαιρεί και τον x y Κάθε ακέραιος a που διαιρεί και τον x(=ka) και τον y(=ma) διαιρεί επίσης και τον x y(=ka ma=(k m)a), επομένως gcd(x,y)=gcd(x y,y). Αντίστροφα, αν ένας αριθμός διαιρεί τους x y και y τότε διαιρεί και τον x Όμοια, κάθε ακέραιος a που διαιρεί και τον x y(=ka) και τον y(=ma) διαιρεί επίσης και τον x(=(m+k)a) και τον y(=ma). Επομένως gcd(x,y)=gcd(x y,y) 14

Αλγόριθμος Ευκλείδη: χρόνος εκτέλεσης Για να υπολογίσουμε το χρόνο εκτέλεσης του αλγορίθμου, πρέπει να δούμε πόσο γρήγορα μειώνονται οι αριθμοί (a,b) σε κάθε αναδρομική κλήση Σε κάθε γύρο, οι αριθμοί (a,b) γίνονται (b,a mod b): η σειρά τους αλλάζει, και ο μεγαλύτερος από αυτούς, δηλ. ο a, μειώνεται σε a mod b Αυτή είναι μια σημαντική μείωση 15

Αλγόριθμος Ευκλείδη: χρόνος εκτέλεσης Πόσο μικρότεροι γίνονται οι αριθμοί σε κάθε γύρο; Αν a b τότε a mod b<a/2 Απόδειξη Ισχύει είτε b a/2 είτε b>a/2 b a b a 16

Αλγόριθμος Ευκλείδη: χρόνος εκτέλεσης Πόσο μικρότεροι γίνονται οι αριθμοί σε κάθε γύρο; Αν a b τότε a mod b<a/2 Απόδειξη Ισχύει είτε b a/2 είτε b>a/2 b a Αν b a/2 τότε a mod b < b a/2 17

Αλγόριθμος Ευκλείδη: χρόνος εκτέλεσης Πόσο μικρότεροι γίνονται οι αριθμοί σε κάθε γύρο; Αν a b τότε a mod b<a/2 Απόδειξη Ισχύει είτε b a/2 είτε b>a/2 b a Αν b>a/2 τότε a mod b=α b<a/2 18

Αλγόριθμος Ευκλείδη: χρόνος εκτέλεσης Αυτό σημαίνει ότι μετά από δύο διαδοχικούς γύρους, και οι δύο αριθμοί, a και b, είναι τουλάχιστον μισοί σε τιμή δηλ., το μήκος του καθενός μειώνεται τουλάχιστον κατά 1 bit Αν αρχικά είναι n bit ακέραιοι, τότε η βασική περίπτωση επιτυγχάνεται μετά από 2n αναδρομικές κλήσεις Και επειδή κάθε κλήση απαιτεί μία διαίρεση που απαιτεί τετραγωνικό χρόνο, ο συνολικός χρόνος εκτέλεσης είναι O(n 3 ) 19

Αλγόριθμος Ευκλείδη: χρόνος εκτέλεσης Αρχικά: gcd(a,b) Βήμα 1: gcd(b,a mod b) Βήμα 2: gcd(amod b, b mod (a mod b)) Έστω ότι οι αριθμοί a και b έχουν αρχικά n bits ο καθένας Σε 2 βήματα, ο πρώτος αριθμός (το ίδιο ισχύει και για το δεύτερο) έχει μειωθεί στο μισό Μείωση στο μισό = έχει 1 bit λιγότερο Για να τερματίσει ο αλγόριθμος πρέπει ο δεύτερος αριθμός να γίνει 0 να χάσει n bits «κόβω»1 bit σε 2 βήματα «κόβω»n bits σε πόσα βήματα; Σε 2*n βήματα, δηλ. σεπλήθοςβημάτωντηςτάξηςτουn(ή O(n) βήματα) Μετά από 2 διαδοχικά βήματα μειώνω τον a σε a mod b, κάνοντας μία διαίρεση που κοστίζει της τάξης του n 2 βήματα (ή Ο(n 2 ) βήματα) Οπότε, συνολικά απαιτούνται: O(n) * Ο(n 2 ) = Ο(n 3 ) βήματα 20

Τέλος Ενότητας

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

Σημειώματα

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.00. Έχουν προηγηθεί οι κάτωθι εκδόσεις: Τίτλος Ενότητας 24

Σημείωμα Αναφοράς Copyright Πανεπιτήμιο Πατρών, Εύη Παπαϊωάννου. «Εισαγωγή στους Αλγόριθμους. Εύρεση μέγιστου κοινού διαιρέτη.». Έκδοση: 1.0. Πάτρα 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/culture158/index.php Τίτλος Ενότητας 25

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by nc sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος(π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. Τίτλος Ενότητας 26

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. Τίτλος Ενότητας 27

Σημείωμα Χρήσης Έργων Τρίτων Το Έργο αυτό κάνει χρήση των ακόλουθων έργων: Εικόνες/Σχήματα/Διαγράμματα/Φωτογραφίες Σχεδιασμός Αλγορίθμων. Jon Kleinberg, Eva Tardos. Επιστημονική επιμέλεια Ελληνικής έκδοσης: Χρήστος Ζαρολιάγκης. Εκδόσεις Κλειδάριθμος, 2009. ISBN: 978 960 461 207 9. Κωδικός Βιβλίου στον Εύδοξο: 13898. Αλγόριθμοι. Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani. Εκδόσεις Κλειδάριθμος, 2009. ISBN 978 960 524 444 6. Κωδικός Βιβλίου στον Εύδοξο: 13583. http://www.wikipedia.org Τίτλος Ενότητας 28