Δομές Δεδομένων (352)

Γιάννης Λιβιεράτος

Περιγραφή

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

E-mail επικοινωνίας: jlivier89 [AT] di.uoa.gr

Μέρες και ώρες μαθήματος: Τρίτη 11:00-13:00, Πέμπτη 13:00-15:00 (ΑΜΦ23)

Γραφειο 306: Τρίτη/Πέμπτη 15:00-17:00

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

Παρ’ ότι το μάθημα είναι αυτοτελές και οι έννοιες θα ορίζονται και αναλύονται εκ του μηδενός, θα είναι χρήσιμη η εμπειρία από προγραμματισμό, είτε με ψευδογλώσσα είτε με οποιαδήποτε γλώσσα προγραμματισμού. Χρήσιμες θα είναι επίσης βασικές γνώσεις Διακριτών Μαθηματικών, Θεωρίας Γραφημάτων και Σχεδιασμού Αλγορίθμων. Δεν είναι απαραίτητη η γνώση συγκεκριμένης γλώσσας προγραμματισμού για την παρακολούθηση και την επιτυχή εξέταση του μαθήματος.

Περιεχόμενο μαθήματος
  • Πίνακες: μονοδιάστατοι και πολυδιάστατοι πίνακες, αναζήτηση σε πίνακες, συνδεδεμένες
    λίστες, στοίβες και ουρές.
  • Γραφήματα: Αναπαράσταση και αναζήτηση σε γραφήματα, δέντρα, δυαδικά δέντρα,
    σωροί, δέντρα AVL, κοκκινόμαυρα δέντρα, Ελάχιστο Επικαλύπτον Δέντρο, αλγόριθμοι
    Kruskal, Prim.
  • Αλγόριθμοι Ταξινόμησης: ταξινόμηση παρεμβολής, φυσαλίδας και επιλογής, ταξινόμηση
    σωρού, ταξινόμηση συγχώνευσης, γρήγορη ταξινόμηση.
Προτεινόμενα συγγράμματα
  • Γεώργιος Φρ. Γεωργακόπουλος: Δομές Δεδομένων Έννοιες, Τεχνικές και Αλγόριθμοι, Πανεπιστημιακές Εκδόσεις Κρήτης 
  • Παναγιώτης Δ. Μποζάνης: Δομές Δεδομένων, Εκδόσεις Τζιόλα
  • Λουκάκης Μανόλης: Δομές Δεδομένων, Αλγόριθμοι, Εκδόσεις Σοφία
Βιβλιογραφία
  • Νικόλαος Μισυρλής: Δομές δεδομένων με C
  • Αθανάσιος Κ. Τσακαλίδης Δομές Δεδομένων
  • Δ. Ζώρος (Πρόχειρες) σημειώσεις στις ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Ημερολόγιο