Πρόγραμμα

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

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

Chapter 3, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
20/09/2017 Φ Φροντιστήριο 2: Ουρές, Στοίβες & Λίστες Φροντιστήριο  
22/09/2017 Δ

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

Chapter 3, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
26/09/2017 Δ

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

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

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

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

27/09/2017 Φ Φροντιστήριο 3: Συνδεδεμένες Λίστες Φροντιστήριο  
29/09/2017 Δ Αλγόριθμοι Ταξινόμησης ΙΙ (QuickSort, BucketSort)
Οι αλγόριθμοι ταξινόμησης: QuickSort, BucketSort, Ανάλυση Πολυπλοκότητας, Σύγκριση, Έμμεση Ταξινόμηση, Εξωτερική Ταξινόμηση
Chapter 7, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
3/10/2017 Δ Δέντρα I - Εισαγωγή σε Δενδρικές Δομές Δεδομένων
Εισαγωγή σε δενδρικές δομές δεδομένων, Ορισμοί και πράξεις, Αναπαράσταση δενδρικών δομών δεδομένων στη μνήμη, Διάσχιση Δέντρων.
Chapter 4, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
4/10/2017 Φ Φροντιστήριο 4: QUIZ 1 & Tαξινόμηση Φροντιστήριο

 

6/10/2017 Δ Δέντρα II - Δυαδικά Δέντρα & Δυαδικά Δέντρα Αναζήτησης
Δυαδικά Δένδρα, Δυαδικά Δένδρα Αναζήτησης, Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου
Chapter 4, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
10/10/2017 Δ Δέντρα III - Ισοζυγισμένα Δέντρα & AVL Δέντρα
Ισοζυγισμένα Δέντρα, Υλοποίηση AVL-δέντρων, Εισαγωγή Κόμβων και Περιστροφές σε AVL δέντρα
Chapter 4, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
11/10/2017 Φ Φροντιστήριο 5: Δέντρα Ι Φροντιστήριο  
13/10/2017 Δ Δέντρα IV - B-Δένδρα
Δένδρα, 2-3 Δένδρα, Εισαγωγή και άλλες πράξεις, Β-δένδρα, R-δένδρα
Chapter 4, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
17/10/2017 Δ Αναδρομή
Η έννοια της αναδρομής, Μη-αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων, Παραδείγματα Ανάδρομης, Αφαίρεση της Αναδρομής
Chapter 4, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
18/10/2017 Φ Φροντιστήριο 6: Δέντρα ΙI

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

Λύσεις

 
20/10/2017   ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ
Όλο το υλικό το οποίο έχει διδαχθεί μέχρι στιγμής  
24/10/2017 Δ Σωροί
Ουρές Προτεραιότητας, Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις
Chapter 6, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
25/10/2017 Φ Φροντιστήριο 7: Λύσεις της ενδιάμεσης εξέτασης    
27/10/2017 Δ O Αλγόριθμος Ταξινόμησης HeapSort
Η διαδικασία PercolateDown, Δημιουργία Σωρού, O Αλγόριθμος Ταξινόμησης HeapSort, Υλοποίηση, Παραδείγματα
Chapter 6, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
31/10/2017 Δ Γράφοι I
Γράφοι - ορισμοί και υλοποίηση, Διάσχιση Γράφων
Chapter 9, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
1/11/2017 Φ Φροντιστήριο 8: Σωροί

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

Λύσεις

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

 

10/11/2017 Δ Γράφοι ΙV - Ελάχιστα Γεννητορικά Δένδρα σε Γράφους
Ο αλγόριθμος του Dijkstra.
Chapter 9, M. Weiss. Data Structure and Algorithm Analysis in Java, Pearson, 2012.
14/11/2017 Δ Κατακερματισμός (Hashing)
Ανασκόπηση Προβλήματος και Προκαταρκτικών Λύσεων, 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.
21/11/2017 Φ Φροντιστήριο 10: Κατακερματισμός /Γράφοι Φροντιστήριο  
22/11/2017 Φ Φροντιστήριο 11: Επαναληπτικές Ασκήσεις    
24/11/2017 Φ Φροντιστήριο 12: Επαναληπτικές Ασκήσεις    
29/11/2017 Φ Φροντιστήριο 13: QUIZ 3    
TBD E ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ
Αίθουσα:TBD, Ώρα:TBD
Όλη η ύλη