Αλγόριθμοι και Δομές Δεδομένων (Θεωρία)

Πληροφορίες Μαθήματος

Εξάμηνο Μαθήματος:
3
Μέρος Μαθήματος:
Θεωρία
Κωδικός Μέρους Μαθήματος:
244305
Εβδομαδιαίες Ώρες Διδασκαλίας:
2
Εβδομαδιαίες Ώρες Άσκησης Πράξης:
1
Μονάδες ECTS Μαθήματος:
5.5
Διαθέσιμο σε σπουδαστές ERASMUS:
Όχι
Προσωπικό Μαθήματος:


Σκοπός Μαθήματος

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


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

Οι φοιτητές του τμήματος να αποκτήσουν δυνατότητα να :

  • Περιγράφουν τη χρήση των κυριότερων Δομών Δεδομένων και Αλγορίθμων (ΔΔΑ).
  • Αναπτύσσουν λογισμικό.
  • Αναλύουν Αλγορίθμους.
  • Συνθέτουν Νοητικούς τύπους Δεδομένων.
  • Δημιουργούν Λίστες, Στοίβες (Stacks).
  • Αναλύουν Ουρές (Queues), Διπλές Ουρές (Deques).
  • Εφαρμόζουν Δένδρα αναζήτησης.
  • Αναγνωρίζουν τους Πίνακες κερματισμού.
  • Αξιολογούν τους Αλγόριθμους Αναζήτησης και Ταξινόμησης.


Γενικές Ικανότητες

  • Αναζήτηση, ανάλυση και σύνθεση δεδομένων.
  • Αυτόνομη εργασία.


Περιγραφή Μαθήματος

  • Εισαγωγή, Ανάλυση Αλγορίθμων.
  • Νοητικοί τύποι Δεδομένων.
  • Αλφαριθμητικά (Strings), Διανύσματα.
  • Λίστες, Στοίβες (Stacks).
  • Ουρές (Queues), Διπλές Ουρές (Deques).
  • Δένδρα, Δένδρα αναζήτησης.
  • Πίνακες κερματισμού.
  • Αλγόριθμοι Αναζήτησης και Ταξινόμηση.

Αξιολόγηση Σπουδαστών

Τελική εξέταση (60%).


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

  • [Preiss, Java] Bruno R. Preiss, “Data Structures and Algorithms with Object-Oriented Design Patterns in Java”.
  • [Sedgewick, Java] Robert Sedgewick, “Algorithms in Java”, Third Edition, PARTS 1-4, FUNDAMENTALS DATA STRUCTURES SORTING SEARCHING.
  • [Sedgewick, C++] Robert Sedgewick, “Algorithms in C++”, Third Edition, PARTS 1-4, FUNDAMENTALS DATA STRUCTURES SORTING SEARCHING.
  • Niklaus Wirth, “Algorithms & Data Structures”, Prentice-Hall, 1986.