Διδακτικό Υλικό

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

Ι. Μανωλόπουλος, Δομές Δεδομένων.

 

Πρόσθετη Βιβλιογραφία

  • Γ. Φ Γεωργακόπουλος, Δομές Δεδομένων - Έννοιες, τεχνικές και αλγόριθμοι, Πανεπιστημιακές Εκδόσεις Κρήτης, 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
  • Ουρές
    • Υλοποίηση χρησιμοποιώντας wrapped-around πίνακα με προκαθορισμένο μέγεθος  ArrayQueue.h
      Test πρόγραμμα  testArrayQueue.c
    • Υλοποίηση χρησιμοποιώντας wrapped-arround πίνακα του οποίου το μέθεγος διπλασιάζεται αυτόματα  ExpandingArrayQueue.h
      Test πρόγραμμα  testExpandingArrayQueue.c

 

Σημειώσεις από προηγούμενα εξάμηνα

Παρακάτω μπορείτε να βρείτε διαφάνειες που χρησιμοποιήθηκαν σε προηγούμενο εξάμηνο από τον Ι. Τόλλη.
  1. Ανάλυση Πολυπλοκότητας (Complexity Analysis)
  2. Στοίβες (Stacks)
  3. Ουρές (Queues)
  4. Διανύσματα (Arrays)
  5. Ακολουθίες και Λίστες (Sequences & Lists)
  6. Δέντρα (Trees)
  7. Πίνακες Κατακερματισμού
  8. Ουρές Προτεραιότητας (Priority Queues)
  9. Ταξινόμηση (Merge sort)
  10. Ταξινόμηση (Quick sort)
  11. Γράφοι (Graphs)
  12. Κατά βάθος διάσχιση γράφου (Depth-First Search)
  13. Κατά πλάτος διάσχιση γράφου (Breadth-First Search)
  14. Ελαχίστου κόστους συνδετικό δέντρο (minimum spanning tree)
  15. Ελάχιστα μονοπάτια (shortest paths)

 

Χρήσιμα links