Βιβλία
Το μάθημα θα βασιστεί σε περισσότερα από ένα βιβλία (και κυρίως στα ξενόγλωσσα βιβλία που αναφέρονται στην παρακάτω λίστα). Οποιοδήποτε από τα παρακάτω βιβλία καλύπτει το σημαντικότερο μέρος της ύλης που θα διδαχθεί. Για την επιτυχή διεκπεραίωση του μαθήματος, οι φοιτητές θα πρέπει να βασιστούν κυρίως στις διαφάνειες του μαθήματος, καθώς και σε οποιοδήποτε άλλο υλικό μοιρασθεί κατά τη διάρκεια αυτού.
Πιο αναλυτικά οι επιμέρους ενότητες του μαθήματος καλύπτονται από τα τμήματα των βιβλίων που ακολουθούν:
- Ενότητα 1:
- Harry Lewis and Larry Denenberg, Data Structures and Their Algorithms, Harper Collins Publishers, Inc., New York, 1991 (Chapter 1: Introduction)
- Cormen, Leiserson and Rivest, Introduction to Algorithms, MIT Press, 1990. (Το βιβλίο κυκλοφορεί μεταφρασμένο από τις Πανεπιστημιακές Εκδόσεις Κρήτης σε δύο μέρη και μεγάλο μέρος της ύλης βασίζεται στο 1ο μέρος του.) (1 Θεμελιώδεις έννοιες: 1 Ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες, 2 Προκαταρκτικές έννοιες και παρατηρήσεις, 3 Ρυθμός αύξησης συναρτήσεων, 4.1-4.2 Αναδρομικές σχέσεις)
- Μιchael T. Goodrich and Roberto Tamassia, Data Structures and Algorithms in Java, John Wiley & Sons, Inc., (4th edition). Μέρος του υλικού που αφορά την πειραματική ανάλυση αλγορίθμων προέρχεται από το βιβλίο αυτό.
- Ενότητα 2:
- Harry Lewis and Larry Denenberg, Data Structures and Their Algorithms, Harper Collins Publishers, Inc., New York, 1991(Chapter 3: Lists)
- Cormen, Leiserson and Rivest, Introduction to Algorithms, MIT Press, 1990. (Το βιβλίο κυκλοφορεί μεταφρασμένο από τις Πανεπιστημιακές Εκδόσεις Κρήτης: 1ο Μέρος).(IV Ανώτερες Τεχνικές Σχεδίασης και Ανάλυσης, Κεφάλαιο 17 Αντισταθμιστική Ανάλυση). Το υλικό που σχετίζεται με την επιμεριστική ανάλυση περιέχεται σε αυτό το βιβλίο.
- Ενότητα 3:
- Harry Lewis and Larry Denenberg, Data Structures and Their Algorithms, Harper Collins Publishers, Inc., New York, 1991 (Chapter 4: Trees)
- Ενότητα 4:
- Harry Lewis and Larry Denenberg, Data Structures and Their Algorithms, Harper Collins Publishers, Inc., New York, 1991 (Chapter 6: List and Tree Implementations of Sets)
- Μέρος της ύλης που αφορά τα δένδρα δυαδικής αναζήτησης περιγράφεται στο Cormen, Leiserson and Rivest, Introduction to Algorithms, MIT Press, 1990 (Ελληνική μετάφραση, 1ο μέρος, Κεφάλαιο 12 Δυαδικά Δένδρα Αναζήτησης).
- Ενότητα 5:
- Δένδρα AVL & 2-3: Harry Lewis and Larry Denenberg, Data Structures and Their Algorithms, Harper Collins Publishers, Inc., New York, 1991 (Sections 7.1 & 7.2: Tree Structures for Dynamic Dictionaries: AVL Trees & 2-3 Trees and B-Trees)
- Κοκκινόμαυρα Δένδρα: Cormen, Leiserson and Rivest, Introduction to Algorithms, MIT Press, 1990. (Το βιβλίο κυκλοφορεί μεταφρασμένο από τις Πανεπιστημιακές Εκδόσεις Κρήτης: 1ο Μέρος), (III Δομές Δεδομένων, Κεφάλαιο 13 Μελανέρυθρα Δένδρα).
- Ενότητα 6:
- Harry Lewis and Larry Denenberg, Data Structures and Their Algorithms, Harper Collins Publishers, Inc., New York, 1991 (Sections 8.3 & 8.4: Hashing Techniques & Extendible Hashing)
- Το υλικό σχετικά με τον επεκτάσιμο κατακερματισμό παρουσιάζεται αναλυτικά στο 15ο Κεφάλαιο του βιβλίου: Παναγιώτης Μποζάνης, Δομές δεδομένων, 960-418-010-Χ, Τζιόλας, 2003.
- Μέρος του υλικού σχετικά με τις συναρτήσεις κατακερματισμού παρουσιάζεται στο Cormen, Leiserson and Rivest, Introduction to Algorithms, MIT Press, 1990. (Το βιβλίο κυκλοφορεί μεταφρασμένο από τις Πανεπιστημιακές Εκδόσεις Κρήτης: 1ο Μέρος), (III Δομές Δεδομένων, Κεφάλαιο 11 Πίνακες Διασποράς)
- Ενότητα 7:
- Harry Lewis and Larry Denenberg, Data Structures and Their Algorithms, Harper Collins Publishers, Inc., New York, 1991 (Section 9.1: Priority Queues)
- Ενότητα 8:
- Harry Lewis and Larry Denenberg, Data Structures and Their Algorithms, Harper Collins Publishers, Inc., New York, 1991 (Sections 11.1 - Kinds of Sorting Algorithms, 11.2 - Insertion and Shell Sort, 11.3 - Selection and Heap Sort)
- Το υλικό σχετικά με την Quick Sort και την Merge Sort παρουσιάζεται στο Cormen, Leiserson and Rivest, Introduction to Algorithms, MIT Press, 1990. (Το βιβλίο κυκλοφορεί μεταφρασμένο από τις Πανεπιστημιακές Εκδόσεις Κρήτης: 1ο Μέρος), (Ι Θεμελιώδεις Έννοιες, Ενότητα 2.3: Σχεδίαση Αλγορίθμων & II Ταξινόμηση και διατακτικές στατιστικές, Κεφάλαιο 7 - Ταχυταξινόμηση).
- Ενότητα 9:
- Harry Lewis and Larry Denenberg, Data Structures and Their Algorithms, Harper Collins Publishers, Inc., New York, 1991 (Section 9.2: Disjoint Sets with Union)
- Ενότητα 10:
- Harry Lewis and Larry Denenberg, Data Structures and Their Algorithms, Harper Collins Publishers, Inc., New York, 1991 (Sections 12.1, Graphs and Their Representations & 12.2: Graph Searching)
- Cormen, Leiserson and Rivest, Introduction to Algorithms, MIT Press, 1990. (Το βιβλίο κυκλοφορεί μεταφρασμένο από τις Πανεπιστημιακές Εκδόσεις Κρήτης: 1ο Μέρος), (VΙ Αλγόριθμοι Γραφημάτων, Ενότητες 22.1 - 22.3).
Άλλη σχετική βιβλιογραφία
Ακολουθεί η λίστα με τη σχετική βιβλιογραφία:
- K. Mehlhorn and S. Näher, “LEDA”, Cambridge University
Press, 1999.
- C. J. Van Wyk, “Data Structures and C Programs”,
Addison-Wesley Publishing Company, 1988.
- Mark Allen Weiss, Data Structures & Algorithm Analysis
in Java, Addison-Wesley, 1999, 0-201-35754-2
- William Collins, Data Structures and the Java Collections
Framework, 2nd ed., McGraw-Hill, 2005, ISBN: 0-07-282379-8.
- Leendert Ammeraal, «Προγραμματισμός και Δομές Δεδομένων στη
C», Μ. Γκιούρδας, 1989.
- Niklaus Wirth, «Αλγόριθμοι & Δομές Δεδομένων»,
Κλειδάριθμος, 1990.
- Gregory Rawlins, Αλγόριθμοι: Ανάλυση και Σύγκριση, Κριτική,
2004, 960-218-350-0 (στην πρώτυπη αγγλική έκδοση: Compared to
What, Computer Science Press, 1992, ISBN: 0-7167-8243-X).
- Anany Levitin, Εισαγωγή στην Ανάλυση & Σχεδίαση
Αλγορίθμων, 978-960-418-143-8, Τζιόλας, 2008 (στην πρώτυπη
αγγλική έκδοση: The Design & Analysis of Algorithms, 2nd
ed, Pearson, 2007).
- Robert Sedgewick, Algoritmhs in Java, 3rd ed,
Addison-Wesley, 2003, ISBN: 0-201-36120-5, Volume A:
Fundamentals, Data Structures, Sorting, Searching
- Δομές Δεδομένων & Αλγόριθμοι σε Java", Michael Goodrich,
Roberto Tamassia, 5η Έκδοση, Εκδόσεις ΔΙΑΥΛΟΣ
- Δομές δεδομένων, Μποζάνης Παναγιώτης Δ.,
Κωδικός ΕΥΔΟΞΟΣ: 18548768
- Sedgewick, Robert. Αλγόριθμοι σε C, επιμέλεια Γιώργος Στεφανίδης
· μετάφραση Παναγιώτης Σταυρόπουλος, Κωστάκης Δημήτρης. - 1η έκδοση.
Αθήνα : Κλειδάριθμος, 2005.
- Sedgewick, Robert. Αλγόριθμοι σε C++, επιμέλεια Γιώργος
Στεφανίδης · μετάφραση Παναγιώτης Σταυρόπουλος, Δημήτρης Κωστάκης.
- 1η έκδ. - Αθήνα : Κλειδάριθμος, 2006.
- Sedgewick, Robert. Αλγόριθμοι σε Java, πιμέλεια Michael
Schidlowsky · μετάφραση Κώστας Καρανικολός, Παναγιώτης Σταυρόπουλος,
Δημήτρης Κωστάκης. - 1η έκδ. - Αθήνα : Κλειδάριθμος, 2005.
- ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΤΟΜΟΣ Ι, CORMEN T.H., LEISERSON C.E.,
RIVEST R.L., STEIN C., Κωδικός ΕΥΔΟΞΟΣ: 251
- ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ, ΓΕΩΡΓΑΚΟΠΟΥΛΟΣ Γ.Φ., Κωδικός ΕΥΔΟΞΟΣ: 260
- ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (ΜΙΑ ΠΡΟΣΕΓΓΙΣΗ ΜΕ PASCAL), ΜΑΝΩΛΟΠΟΥΛΟΣ ΙΩΑΝΝΗΣ,
Κωδικός ΕΥΔΟΞΟΣ: 6670