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

Εκτύπωση

Στόχος

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

Περιεχόμενα

Στα πλαίσια του μαθήματος θα καλυφθούν οι ακόλουθες θεματικές ενότητες:

  • Τύποι Δεδομένων
  • Πίνακες. Αποθήκευση, Ειδικές Μορφές
  • Βασικοί Αλγόριθμοι: Αναζήτηση, Ταξινόμηση
  • Στοίβες και ουρές: ορισµός, λειτουργίες, υλοποίηση με πίνακα.
  • Συνδεδεµένες λίστες: µονή, διπλή και κυκλική σύνδεση.
  • ∆υαδικά δέντρα: ορισµοί και θεµελιώδη θεωρήµατα, διάσχιση κατά βάθος και κατά πλάτος, αναδροµική και επαναληπτική διάσχιση.
  • ∆υαδικά δέντρα αναζήτησης: οι βασικές λειτουργίες, Β-δέντρα, δέντρα AVL
  • Πίνακες κατακερματισμού: Βασικές ιδέες, Συνάρτηση κατακερματισμού, Διαχείριση συγκρούσεων
  • Γράφοι: Εσωτερική Αναπαράσταση, Μέθοδοι Διάσχισης
  • Lafore R. (2005): Δομές Δεδομένων και Αλγόριθμοι στη JAVA (μεταφρασμένο), Εκδόσεις Μ. Γκιούρδας.
  • Sedgewick R. (2005): Αλγόριθμοι σε Java, Τόμοι 1-4, 3η αμερικάνικη έκδοση (μεταφρασμένο), Εκδόσεις Κλειδάριθμος.