Παρουσίαση/Προβολή

Δομές Δεδομένων
(INF231) - ΑΛΚΜΗΝΗ ΣΓΟΥΡΙΤΣΑ
Περιγραφή Μαθήματος
Στο μάθημα παρουσιάζονται οι βασικές δομές δεδομένων και η χρήση τους στην ανάπτυξη προγραμμάτων. Ο στόχος του μαθήματος είναι να εξοικειωθούν οι φοιτητές με την έννοια της δόμησης δεδομένων και το ρόλο των δομών δεδομένων στην υλοποίηση αλγορίθμων ανεξάρτητα από τη γλώσσα προγραμματισμού. Στα πλαίσια του μαθήματος για την υλοποίηση των δομών δεδομένων χρησιμοποιείται η γλώσσα προγραμματισμού JAVA.
Διδάσκουσα:
Αλκμήνη Σγουρίτσα
E-mail: alkmini at aueb dot gr
Κοδριγκτώνος 12, 2ος όροφος
Ώρες γραφείου: TBA,
Προτείνεται να στέλνετε email πριν την επίσκεψή σας ακόμα και στις ώρες γραφείου.
Βοηθοί Διδασκαλίας:
Γιώργος Αμανατίδης, μέλος ΔΕΠ
E-mail: g.d.amanatidis at aueb dot gr
Ώρες γραφείου: ΤΒΑ
Ημερομηνία δημιουργίας
Τετάρτη, 12 Οκτωβρίου 2011
-
Περιεχόμενο μαθήματος
Μελετάμε τις ακόλουθες ενότητες:
- Εισαγωγή στους αλγόριθμους
- Προβλήματα συνδετικότητας και αλγόριθμοι ένωσης – εύρεσης (union-find)
- Υλοποίηση και ανάλυση αλγορίθμων
- Πίνακες, Συνδεδεμένες λίστες
- Στοίβες, Ουρές
- Δέντρα
- Προβλήματα ταξινόμησης
-- Βασικοί αλγόριθμοι (insertion sort, bubblesort, selection sort)
-- Ταξινόμηση με συγχώνευση (mergesort) – Quicksort - Σωροί, Ταξινόμηση με σωρό (heapsort)
- Προβλήματα αναζήτησης
-- Πίνακες συμβόλων
-- Δενδρικές δομές
* Δέντρα δυαδικής αναζήτησης
* Τυχαιοποιημένα δέντρα
* Στρεβλά δέντρα
* Δέντρα κόκκινου μαύρου
* Β-δέντρα - Κατακερματισμός
-- Χωριστή αλυσίδωση
-- Γραμμική διερεύνηση
-- Διπλός κατακερματισμός
Συγγράμματα/Βοηθήματα
Για διανομή προτείνονται τα εξής δύο βιβλία:- [SED] R. Sedgewick, Αλγόριθμοι σε Java, Μέρη 1-4, Κλειδάριθμος, 2005.
- [GT] M. Goodrich, R. Tamassia, Δομές Δεδομένων και Αλγόριθμοι σε Java, Εκδόσεις Δίαυλος, 2003.
Και για τα δύο βιβλία μπορείτε επίσης να χρησιμοποιήσετε το αγγλικό πρωτότυπο, εφόσον το βρείτε online.
Και τα δύο βιβλία περιλαμβάνουν όλη την ύλη. Επιλέγετε όποιο σας φαίνεται πιο ενδιαφέρον στο διάβασμα.
Από τα υπόλοιπα πολλά βιβλία αλγορίθμων της βιβλιογραφίας, προτείνονται δύο:
- R. Lafore, Αλγόριθμοι και Δομές Δεδομένων στη JAVA, Μ. Γκιούρδας, 2005.
- Για το θεωρητικό μέρος του μαθήματος: T. H. Cormen, C. E. Leiserson, R. L. Rivest και C. Stein Εισαγωγή στους Αλγόριθμους, Τόμος Ι, Πανεπιστημιακές Εκδόσεις Κρήτης (αυτό είναι το σύγγραμμα του μαθήματος 'Αλγόριθμοι').
Το Web αποτελεί σήμερα την πλουσιότερη πηγή για να βρεί κάποιος περαιτέρω πληροφορίες και υλοποιήσεις για τις δομές δεδομένων που θα συζητήσουμε. Ελέγχετε όμως πάντα την εγκυρότητα των sites που επισκέπτεστε πριν βασιστείτε στις πληροφορίες αυτές.