Διδακτικό Υλικό
Βιβλιογραφία
Ι. Μανωλόπουλος, Δομές Δεδομένων.
Πρόσθετη Βιβλιογραφία
- Γ. Φ Γεωργακόπουλος, Δομές Δεδομένων - Έννοιες, τεχνικές και αλγόριθμοι, Πανεπιστημιακές Εκδόσεις Κρήτης, 2002.
- T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Εισαγωγή στους Αλγορίθμους, Τόμος I, Πανεπιστημιακές Εκδόσεις Κρήτης, 2006.
Ενδεικτικές υλοποιήσεις σε C
- Στοίβες
- Υλοποίηση χρησιμοποιώντας πίνακα με προκαθορισμένο
μέγεθος
ArrayStack.h
Test πρόγραμμα testArrayStack.c - Υλοποίηση χρησιμοποιώντας πίνακα του οποίου το
μέθεγος διπλασιάζεται αυτόματα
ExpandingArrayStack.h
Test πρόγραμμα testExpandingArrayStack.c
- Υλοποίηση χρησιμοποιώντας πίνακα με προκαθορισμένο
μέγεθος
ArrayStack.h
- Ουρές
- Υλοποίηση χρησιμοποιώντας wrapped-around πίνακα με
προκαθορισμένο μέγεθος
ArrayQueue.h
Test πρόγραμμα testArrayQueue.c - Υλοποίηση χρησιμοποιώντας wrapped-arround πίνακα
του οποίου το μέθεγος διπλασιάζεται αυτόματα
ExpandingArrayQueue.h
Test πρόγραμμα testExpandingArrayQueue.c
- Υλοποίηση χρησιμοποιώντας wrapped-around πίνακα με
προκαθορισμένο μέγεθος
ArrayQueue.h
Σημειώσεις από προηγούμενα εξάμηνα
Παρακάτω μπορείτε να βρείτε διαφάνειες που χρησιμοποιήθηκαν
σε προηγούμενο εξάμηνο από τον Ι. Τόλλη.
- Ανάλυση Πολυπλοκότητας (Complexity Analysis)
- Στοίβες (Stacks)
- Ουρές (Queues)
- Διανύσματα (Arrays)
- Ακολουθίες και Λίστες (Sequences & Lists)
- Δέντρα (Trees)
- Πίνακες Κατακερματισμού
- Ουρές Προτεραιότητας (Priority Queues)
- Ταξινόμηση (Merge sort)
- Ταξινόμηση (Quick sort)
- Γράφοι (Graphs)
- Κατά βάθος διάσχιση γράφου (Depth-First Search)
- Κατά πλάτος διάσχιση γράφου (Breadth-First Search)
- Ελαχίστου κόστους συνδετικό δέντρο (minimum spanning tree)
- Ελάχιστα μονοπάτια (shortest paths)