Δομές δεδομένων

Περίγραμμα

Περιεχόμενο μαθήματος

Περιεχόμενο μαθήματος

Εισαγωγή εννοιών: δομή δεδομένων, αλγόριθμος και πολυπλοκότητα. Βασικά προβλήματα: αναζήτηση και ταξινόμηση. Αποθήκευση και προσπέλαση πινάκων. Συνδεδεμένες και σειριακές γραμμικές λίστες. Στοίβα. Ουρά προτεραιότητας. Δυαδικά δένδρα. Δυαδικά δένδρα αναζήτησης. Ισοζυγισμένα δυαδικά δένδρα αναζήτησης AVL. Κόκκινα-μαύρα δένδρα. Δένδρα πολλών δρόμων. K-d δένδρα. Κατακερματισμός. Ένωση-αναζήτηση. Γραφήματα και μέθοδοι διάσχισης. Βασικοί γραφο-αλγόριθμοι. Μέθοδοι αναζήτησης. Προχωρημένα θέματα δομών δεδομένων.

Διδάσκοντες

Διδάσκοντες

Διδάσκων: Απόστολος Παπαδόπουλος, επίκουρος καθηγητής

http://delab.csd.auth.gr/~apostol/

 

Συνεργάτης ανάπτυξης περιεχομένου: Απόστολος Μαυρίδης

Μαθησιακοί στόχοι

Μαθησιακοί στόχοι

Σκοπός του μαθήματος είναι οι φοιτητές να μάθουν τις βασικές δομές δεδομένων κύριας μνήμης και πως αυτές χρησιμοποιούνται σε αλγορίθμους για την αποδοτική επίλυση προβλημάτων. Επίσης, οι φοιτητές εκπονούν εργασία σε γλώσσα C++ η οποία περιέχει την υλοποίηση δομών και αλγορίθμων για την επίλυση συγκεκριμένων προβλημάτων.

Προαπαιτούμενα

Προαπαιτούμενα

Βασικές γνώσεις προγραμματισμού με C++

Βιβλιογραφία

Βιβλιογραφία

  1. S. Sahni, Μετάφραση Ι. Μανωλόπουλος και Ι. Θεοδωρίδης, Δομές Δεδομένων, Αλγόριθμοι και Εφαρμογές στη C++, Εκδόσεις Τζιόλα, 2004. Στην ιστοσελίδα του μαθήματος δίνονται επίσης επιπλέον σημειώσεις και σύνδεσμοι για συγκεκριμένα θέματα, για την καλύτερη κατανόηση των εννοιών.
  2. Π. Μποζάνης. Αλγόριθμοι: Σχεδιασμός και Ανάλυση. Εκδόσεις Τζιόλα, Θεσσαλονίκη, 2003. 
  3. Γ.Φ. Γεωργακόπουλος. Δομές Δεδομένων, Έννοιες, Τεχνικές και Αλγόριθμοι. Πανεπιστημιακές Εκδόσεις Κρήτης

 

Επιπλέον συνιστώμενη βιβλιογραφία:

T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein. Introduction to Algorithms (2nd Edition). The MIT Press, 2003.  K. Mehlhorn. Data Structures and Algorithms. Springer Verlag, EATCS Monographs, 1984.