Πρόγραμμα

Ημερ. Δ/Φ Περιγραφή
Υλικό
03/09/2012 Δ Περιγραφή Συμβολαίου, Δομές Δεδομένων και Αλγόριθμοι
Αλγόριθμοι και Πολυπλοκότητα, Οργάνωση Δεδομένων και Δομές Δεδομένων
05/09/2012 Φ Αρχές Προγραμματισμού: Συμβολοσειρές (Στόχος: Επανάληψη Βασικών Αρχών Προγραμματισμού από EPL034)
Εισαγωγικές Έννοιες σε Strings (Αρχικοποίηση, Ανάγνωση & Εκτύπωση), Πίνακες από Strings, Συναρτήσεις Βιβλιοθήκης , Υλοποίηση Συναρτήσεων Βιβλιοθήκης
06/09/2012 Δ Αρχές Προγραμματισμού: Δείκτες & Πίνακες
Αριθμητική Δεικτών, Δείκτες και Πίνακες, Παραδείγματα
10/09/2012 Δ Αρχές Προγραμματισμού: Ολοκλήρωση Διάλεξης 3, Δείκτες και Πίνακες
Πίνακες Δεικτών, Παραδείγματα, Πολυδιάστατοι πίνακες, Πέρασμα παραμέτρων σε προγράμματα C
Ανάθεση Άσκησης 1 (Συμβολοσειρές, Πίνακες, Δείκτες)
12/09/2012 Φ Φροντιστήριο: Συμβολοσειρές (Strings), Δείκτες (pointers) και Πίνακες Δεικτών

Διάλεξη 5
Λύσεις

13/09/2012 Δ Αρχές Προγραμματισμού: Δομές Δεδομένων και Ενώσεις (struct / union)
Δομές, φωλιασμένες δομές, τρόποι δήλωσης δομών, δομές ως παράμετροι σε συναρτήσεις, δείκτες σε δομές, χρήση ενώσεων.
17/09/2012 Δ Διαχείριση Μνήμης, Δυναμικές Δομές Δεδομένων, Αναδρομή
Δυναμικές Δομές Δεδομένων Γενικά, Δυναμική Δέσμευση/Αποδέσμευση Μνήμης, Δομή τύπου structure – Αυτοαναφορικές δομές, Η δήλωση typedef στη C, Η έννοια της αναδρομής, Μη-αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων, Παραδείγματα Ανάδρομης: Παραγοντικό, Δύναμη, Αριθμοί Fibonacci, Αφαίρεση της Αναδρομής
19/09/2012 Φ Φροντιστήριο: Ολοκλήρωση Διάλεξης 7, Επαναλιπτηκές Ασκήσεις για Δομές, Δείκτες, Δυναμική Δέσμευση Μνήμης, Αναδρομή
20/09/2012 Δ Αφηρημένοι Τύποι Δεδομένων (Στοίβες, Ουρά, Κυκλική Ουρά)
Αφηρημένοι Τύποι Δεδομένων (ΑΤΔ), Οι ΑΤΔ Στοίβα και Ουρά, Υλοποίηση των ΑΤΔ Στοίβα και Ουρά με Στατική Δέσμευση Μνήμης
24/09/2012 Δ Στοίβες: Υλοποίηση & Εφαρμογές (με Δυναμική Δέσμευση)
Υλοποίηση Στοιβών με Δυναμική Δέσμευση Μνήμης, Εφαρμογή Στοιβών 1: Αναδρομικές συναρτήσεις, Εφαρμογή Στοιβών 2: Ισοζυγισμός Παρενθέσεων
Ανάθεση Άσκησης 2 (Δομές, Δυναμική Δέσμευση Μνήμης)
26/09/2012 Φ Φροντιστήριο: Μελέτη παραδείγματος Στοίβας με Δυναμική Δέσμευση Μνήμης
27/09/2012 Δ Λίστες: Υλοποίηση & Εφαρμογές
Ευθύγραμμες Απλά Συνδεδεμένες Λίστες, Ευθύγραμμες Διπλά Συνδεδεμένες Λίστες
01/10/2012   ΑΡΓΙΑ  
03/10/2012 Φ Αναπλήρωση Εργαστηρίου 01/10: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα
Λίστες, Δομές, Δείκτες
04/10/2012 Δ Πολυπλοκότητα Αλγορίθμων / Επανάληψη Χρήσιμων Μαθηματικών Ορισμών
Πρόβλημα, Στιγμιότυπο, Αλγόριθμος, Εμπειρική - Θεωρητική Ανάλυση Αλγορίθμων
08/10/2012 Δ Ολοκλήρωση Διάλεξης 14 - Πολυπλοκότητα Αλγορίθμων / Επανάληψη Χρήσιμων Μαθηματικών Ορισμών
Εργαλεία εκτίμησης πολυπλοκότητας: οι τάξεις Ο(n), Ω(n), Θ(n), Παραδείγματα Ανάλυσης Πολυπλοκότητας, Χρήσιμοι μαθηματικοί ορισμοί, Μαθηματική Επαγωγή
Ανάθεση Άσκησης 3 (Ανάλυση Πολυπλοκότητας Χρόνου )
10/10/2012 Φ Φροντιστήριο: Παραδείγματα Ανάλυση Πολυπλοκότητας Παραδείγματα Ανάλυσης Πολυπλοκότητας, Γραμμική και Δυαδική Αναζήτηση
11/10/2012 Δ Επανάληψη για Ενδιάμεση Εξέταση
Απορίες για ύλη μέχρι 10/10/2012
15/10/2012   ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ  
17/10/2012 Φ Αλγόριθμοι Ταξινόμησης Ι (SelectionSort, InsertionSort) Οι αλγόριθμοι ταξινόμησης: SelectionSort, InsertionSort, Ανάλυση Πολυπλοκότητας, Σύγκριση
18/10/2012 Δ Αλγόριθμοι Ταξινόμησης ΙΙ (Mergesort, BucketSort)
Οι αλγόριθμοι ταξινόμησης: MergeSort, BucketSort, Ανάλυση Πολυπλοκότητας
22/10/2012 Δ Αλγόριθμοι Ταξινόμησης ΙΙΙ (QuickSort)
Ο αλγόριθμος QuickSort, Έμμεση Ταξινόμηση, Εξωτερική Ταξινόμηση
Ανάθεση Άσκησης 4 (Εμπειρική Ανάλυσης Χρονική Πολυπλοκότητας Αλγόριθμων Ταξινόμησης)
24/10/2012 Φ Εισαγωγή σε Δενδρικές Δομές Δεδομένων
Εισαγωγή σε δενδρικές δομές δεδομένων, Ορισμοί και πράξεις, Αναπαράσταση δενδρικών δομών δεδομένων στη μνήμη, Διάσχιση Δέντρων.
25/10/2012 Δ Ολοκλήρωση Διάλεξης 21, Δυαδικά Δέντρα & Δυαδικά Δέντρα Αναζήτησης
Δυαδικά Δένδρα, Δυαδικά Δένδρα Αναζήτησης, Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου
29/10/2012 Δ Ολοκλήρωση Διάλεξης 22, Ισοζυγισμένα Δέντρα & AVL Δέντρα
Ισοζυγισμένα Δέντρα, Υλοποίηση AVL-δέντρων, Εισαγωγή Κόμβων και Περιστροφές σε AVL δέντρα
31/10/2012 Φ Ολοκλήρωση Διάλεξης 23, B-Δένδρα
Εισαγωγή & Ισοζυγισμένα Δένδρα, 2-3 Δένδρα, Εισαγωγή και άλλες πράξεις, Β-δένδρα
01/11/2012 Δ Ολοκλήρωση Διάλεξης 24, Eπανάληψη για δέντρα
Επανάληψη: Δέντρα, Δυαδικά Δέντρα Αναζήτησης, Ισοζυγισμένα Δένδρα, AVL δέντρα, 2-3 Δένδρα
Ανάθεση Άσκησης 5 (Πρόγραμμα Συμπίεσης/Αποσυμπίεσης Αρχείου)
05/11/2012 Δ Σωροί
Ουρές Προτεραιότητας, Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις
07/11/2012 Φ Απορίες και Επεξηγήσεις για Άσκηση 5, Συζήτηση για το midterm

Διάλεξη 27

08/11/2012 Δ O Αλγόριθμος Ταξινόμησης HeapSort
Η διαδικασία PercolateDown, Δημιουργία Σωρού, O Αλγόριθμος Ταξινόμησης HeapSort, Υλοποίηση, Παραδείγματα
12/11/2012 Δ Γράφοι
Γράφοι - ορισμοί και υλοποίηση, Διάσχιση Γράφων
14/11/2012 Φ Τοπολογική Ταξινόμηση
Τοπολογική Ταξινόμηση: DAGs, Αλγόριθμοι, Εφαρμογές
15/11/2012 Δ Ελάχιστα Γεννητορικά Δένδρα σε Γράφους
Εφαρμογές, Ο αλγόριθμος του Prim
19/11/2012 Δ Ελάχιστα Γεννητορικά Δένδρα σε Γράφους (συνέχεια)
Ο αλγόριθμος του Kruskal.
21/11/2012 Φ Φροντιστήριο για Γράφους I
(Ασκήσεις για Τοπολογική Ταξινόμηση, Αλγόριθμος Prim, Αλγόριθμος Kruskal)
22/11/2012 Δ Βραχύτερα Μονοπάτια σε Γράφους
Ο αλγόριθμος του Dijkstra.
26/11/2012 Δ Κατακερματισμός (Hashing)
Ανασκόπηση Προβλήματος και Προκαταρκτικών Λύσεων, Bit-Διανύσματα, Τεχνικές Κατακερματισμού & Συναρτήσεις Κατακερματισμού, Διαχείριση Συγκρούσεων με Αλυσίδωση, Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση
28/11/2012 Φ Φροντιστήριο για Γράφους II
(Ασκήσεις για Τοπολογική Ταξινόμηση, Αλγόριθμος Prim, Αλγόριθμος Kruskal)
29/11/2012 Δ Επανάληψη για Τελική Εξέταση

 

06/12/2012   ΕΠΙΠΡΟΣΘΕΤΟ ΦΟΝΤΙΣΤΗΡΙΟ ΓΙΑ ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ
Αίθουσα:ΧΩΔ0-109, Ώρα:12:00-13:30
 
09/12/2012   ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ
Αίθουσα:ΧΩΔ02-Β205, Ώρα:16:30-19:30
 
* Ένα μεγάλο μέρος των διαφανειών του μαθήματος παραχωρήθηκε από τον Λέκτορα Δημήτρη Ζειναλιπούρ