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

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

  • Βασικές έννοιες αλγορίθμων, βασικές αλγοριθμικές δομές
  • Ανάλυση αλγορίθμων (επίδοση αλγορίθμων, ορθότητα αλγορίθμων, πολυπλοκότητα αλγορίθμων).
  • Βασικές έννοιες πινάκων, αποθήκευση πινάκων, ειδικές μορφές πινάκων
  • Αναδρομή
  • Αναζήτηση, σειριακή αναζήτηση, δυαδική αναζήτηση

 

  • Ταξινόμηση, ταξινόμηση με απευθείας επιλογή, ταξινόμηση με απευθείας εισαγωγή, ταξινόμηση φυσαλίδας, γρήγορη ταξινόμηση

 

  • Γραμμικές λίστες, σειριακές λίστες (στοίβα, ουρά)
  • Συνδεδεμένες λίστες (απλή συνδεδεμένη λίστα, στοίβα ως συνδεδεμένη λίστα, ουρά ως συνδεδεμένη λίστα)
  • Δένδρα, δυαδικά δένδρα, μέθοδοι διάσχισης δυαδικού δένδρου (προδιατεταγμένη μέθοδος, ενδοδιατεταγμένη μέθοδος, μεταδιατεταγμένη μέθοδος)
  • B-trees, Tries
  • Γράφοι, μέθοδοι αναπαράστασης γράφων, μέθοδοι διάσχισης γράφων (αναζήτηση με προτεραιότητα Βάθους, αναζήτηση με προτεραιότητα Πλάτους), το πρόβλημα του συντομότερου μονοπατιού

 

  • Πίνακες κατακερματισμού, συγκρούσεις, ανοιχτή διευθυνσιοδότηση, ξεχωριστή σύνδεση

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

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

Να αποκτήσουν οι σπουδαστές το απαραίτητο θεωρητικό και πρακτικό υπόβαθρο για την κατανόηση κα το χειρισμό απλών και σύνθετων δομών δεδομένων, την εξοικείωση και χρήση γνωστών αλγορίθμων και την ανάπτυξη νέων αλγορίθμων κατάλληλων για την επίλυση προβλημάτων με Η/Υ.

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

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

Δομές Δεδομένων, τόμος Α΄

Γ. Κόλλιας, Γ. Μανωλόπουλος

Algorithms & Data Structures 

Nicklaus Wirth

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

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

Όχι