Πρόγραμμα

Ημερ. Δ/Φ Περιγραφή Βιβλιογραφία
Υλικό
16/01/2018 Δ Περιγραφή Συμβολαίου, Δομές Δεδομένων και Αλγόριθμοι
Αλγόριθμοι και Πολυπλοκότητα, Οργάνωση Δεδομένων και Δομές Δεδομένων
Chapter 1, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
19/01/2018 Δ Πολυπλοκότητα Αλγορίθμων Ι
Πρόβλημα, Στιγμιότυπο, Αλγόριθμος, Εμπειρική - Θεωρητική Ανάλυση Αλγορίθμων, Επανάληψη Χρήσιμων Μαθηματικών Ορισμών, Μαθηματική Επαγωγή
Chapter 2, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
23/01/2018 Δ Πολυπλοκότητα Αλγορίθμων ΙΙ
Εργαλεία εκτίμησης πολυπλοκότητας: οι τάξεις Ο(n), Ω(n), Θ(n), Παραδείγματα Ανάλυσης Πολυπλοκότητας, H Μέθοδος της Αντικατάστασης, Master Theorem
Chapter 2, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
24/01/2018 Φ Φροντιστήριο 1: Ανάλυση Πολυπλοκότητας Αλγορίθμων Φροντιστήριο
Φροντιστήριο
26/01/2018 Δ Αφηρημένοι Τύποι Δεδομένων (Στοίβες, Ουρά, Κυκλική Ουρά)
Αφηρημένοι Τύποι Δεδομένων (ΑΤΔ), Οι ΑΤΔ Στοίβα και Ουρά, Υλοποίηση των ΑΤΔ Στοίβα και Ουρά
Chapter 3, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
30/01/2018 Δ

Στοίβες & Ουρές: Υλοποίηση (με Συνδεδεμένες Λίστες) & Εφαρμογές
Υλοποίηση Στοιβών με Δυναμική Δέσμευση Μνήμης, Εφαρμογή Στοιβών 1: Αναδρομικές συναρτήσεις, Εφαρμογή Στοιβών 2: Ισοζυγισμός Παρενθέσεων, Εφαρμογή Στοιβών 3: Αντίστροφος Πολωνικός Συμβολ., Εφαρμογή Ουρών 1: Διερεύνηση κατά Πλάτος

Chapter 3, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
31/01/2018 Φ Φροντιστήριο 2: QUIZ 1: Πολυπλοκότητα    
02/02/2018 Δ

Λίστες Ι: Υλοποίηση & Εφαρμογές
Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εισαγωγή, εύρεση, διαγραφή), Ευθύγραμμες Διπλά Συνδεδεμένες Λίστες, Σύγκριση Συνδεδεμένων Λιστών με Πίνακες

Chapter 3, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
05/02/2018 Δ

Λίστες ΙΙ – Κυκλικές Λίστες
Κυκλικές Απλά Συνδεδεμένες Λίστες, Κυκλικές Διπλά Συνδεδεμένες Λίστες, Τεχνικές Μείωσης Χώρου

Chapter 3, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.

07/02/2018 Φ Φροντιστήριο 3: ΑΤΔ, Στοίβες, Ουρες, Συνδεδεμένες Λίστες Φροντιστήριο
Φροντιστήριο
 
09/02/2018 Δ

Αλγόριθμοι Ταξινόμησης Ι (SelectionSort, InsertionSort, Mergesort) Οι αλγόριθμοι ταξινόμησης: SelectionSort, InsertionSort, MergeSort, Ανάλυση Πολυπλοκότητας, Σύγκριση

Chapter 7, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.

13/02/2018 Δ Αλγόριθμοι Ταξινόμησης ΙΙ (QuickSort, BucketSort)
Οι αλγόριθμοι ταξινόμησης: QuickSort, BucketSort, Ανάλυση Πολυπλοκότητας, Σύγκριση, Έμμεση Ταξινόμηση, Εξωτερική Ταξινόμηση
Chapter 7, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
14/02/2018 Φ Φροντιστήριο 4: QUIZ 2 & ΑΤΔ, Στοίβες, Ουρές

 

16/02/2018 Δ Δέντρα I - Εισαγωγή σε Δενδρικές Δομές Δεδομένων
Εισαγωγή σε δενδρικές δομές δεδομένων, Ορισμοί και πράξεις, Αναπαράσταση δενδρικών δομών δεδομένων στη μνήμη, Διάσχιση Δέντρων.
Chapter 4, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
20/02/2018 Δ Δέντρα II - Δυαδικά Δέντρα & Δυαδικά Δέντρα Αναζήτησης
Δυαδικά Δένδρα, Δυαδικά Δένδρα Αναζήτησης, Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου
Chapter 4, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
21/02/2018 Φ Φροντιστήριο 5: Tαξινόμηση Φροντιστήριο
Φροντιστήριο (Λύσεις)

 

23/02/2018 Δ Δέντρα III - Ισοζυγισμένα Δέντρα & AVL Δέντρα
Ισοζυγισμένα Δέντρα, Υλοποίηση AVL-δέντρων, Εισαγωγή Κόμβων και Περιστροφές σε AVL δέντρα
Chapter 4, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
27/02/2018 Δ Δέντρα IV - B-Δένδρα
Δένδρα, 2-3 Δένδρα, Εισαγωγή και άλλες πράξεις, Β-δένδρα, R-δένδρα
Chapter 4, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
28/02/2018 Φ Φροντιστήριο 6: Δέντρα Ι Φροντιστήριο
Φροντιστήριο (Λύσεις)
 
02/03/2018 Δ Αναδρομή
Η έννοια της αναδρομής, Μη-αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων, Παραδείγματα Ανάδρομης, Αφαίρεση της Αναδρομής
Chapter 4, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
06/03/2018 Δ Σωροί
Ουρές Προτεραιότητας, Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις
Chapter 6, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
07/03/2018 Φ Φροντιστήριο 7: Δέντρα ΙI

Φροντιστήριο

Λύσεις

Επανάληψη για Ενδιάμεση

 
09/03/2018   ΕΠΑΝΑΛΗΨΗ ΓΙΑ ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ
Όλο το υλικό το οποίο έχει διδαχθεί μέχρι στιγμής  
13/03/2018   ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ
Όλο το υλικό το οποίο έχει διδαχθεί μέχρι στιγμής  
14/03/2018 Φ Φροντιστήριο 8: Λύσεις της ενδιάμεσης εξέτασης    
16/16/2018 Δ O Αλγόριθμος Ταξινόμησης HeapSort
Η διαδικασία PercolateDown, Δημιουργία Σωρού, O Αλγόριθμος Ταξινόμησης HeapSort, Υλοποίηση, Παραδείγματα
Chapter 6, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
20/03/2018 Δ Γράφοι I
Γράφοι - ορισμοί και υλοποίηση, Διάσχιση Γράφων
Chapter 9, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
21/03/2018 Φ Φροντιστήριο 9: Σωροί

Φροντιστήριο

Λύσεις

 
23/03/2018 Δ Γράφοι II
Τοπολογική Ταξινόμηση: DAGs, Αλγόριθμοι, Εφαρμογές
Chapter 9, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
27/03/2018 Δ Γράφοι ΙΙΙ - Ελάχιστα Γεννητορικά Δένδρα σε Γράφους
Εφαρμογές, Ο αλγόριθμος του Prim, Ο αλγόριθμος του Kruskal
Chapter 9, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
28/03/2018 Φ Φροντιστήριο 10: Γράφοι

Φροντιστήριο Γράφοι - Λύσεις

 

30/03/2018 Δ Γράφοι ΙV - Ελάχιστα Γεννητορικά Δένδρα σε Γράφους
Ο αλγόριθμος του Dijkstra.
Chapter 9, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
17/04/2018 Δ Κατακερματισμός (Hashing) I
Ανασκόπηση Προβλήματος και Προκαταρκτικών Λύσεων, Bit-Διανύσματα, Τεχνικές Κατακερματισμού & Συναρτήσεις Κατακερματισμού, Διαχείριση Συγκρούσεων με Αλυσίδωση, Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση (a) Linear Probing, b) Quadratic Probing c) Double Hashing, Διατεταγμένος Κατακερματισμός (Ordered Hashing), Επανακατακερματισμός (Rehashing) - Εφαρμογές Κατακερματισμού
Chapter 5, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
18/04/2018 Φ Φροντιστήριο 11: QUIZ 3: Γράφοι  
28/04/2018 Δ Κατακερματισμός (Hashing) II
Ανασκόπηση Προβλήματος και Προκαταρκτικών Λύσεων, Bit-Διανύσματα, Τεχνικές Κατακερματισμού & Συναρτήσεις Κατακερματισμού, Διαχείριση Συγκρούσεων με Αλυσίδωση, Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση (a) Linear Probing, b) Quadratic Probing c) Double Hashing, Διατεταγμένος Κατακερματισμός (Ordered Hashing), Επανακατακερματισμός (Rehashing) - Εφαρμογές Κατακερματισμού
Chapter 5, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
18/04/2018 Φ Φροντιστήριο 12: Κατακερματισμός Φροντιστήριο  
24/04/2018 Φ Φροντιστήριο 13: Επαναληπτικές Ασκήσεις Φροντιστήριο  
27/04/2018 Φ Φροντιστήριο 14: Επαναληπτικές Ασκήσεις Φροντιστήριο  
4/05/2018 Φ Φροντιστήριο 15: QUIZ 3    
TBD E ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ
Αίθουσα:TBD, Ώρα:TBD
Όλη η ύλη