Topic outline

  • Γενικά

    Διδάσκοντες

    • Άρης Παγουρτζής, Αναπληρωτής Καθηγητής (pagour@cs.ntua.gr)
    • Δώρα Σούλιου, Ε.ΔΙ.Π (dsouliou@mail.ntua.gr)
    • Νίκος Λεονάρδος, postdoc (nleon@cs.ntua.gr)


    Βοηθοί Διδασκαλίας


    Βοηθοί Εργαστηρίου και Γραπτών Ασκήσεων

    • Κωνσταντίνος Αμεράνης
    • Ευαγγελία Γεργατσούλη
    • Νίκος Ζαρίφης
    • Βασίλης Κοντονής
    • Παναγιώτης Κωστοπαναγιώτης
    • Ανδρέας Ματζόρι
    • Αλέξανδρος Τσιγώνιας


    Διαλέξεις

    • κάθε Δευτέρα 15:00-17:00 (Αμφιθέατρο 1, νέο κτήριο Ηλεκτρολόγων)
    • κάθε Πέμπτη 17:00-19:00 (Αμφιθέατρο 1, νέο κτήριο Ηλεκτρολόγων)


    Ώρες Γραφείου

    • κάθε Τρίτη 14:00-15:00 στο εργαστήριο 1.1.3 (CoReLab) ή στο γρ. 1.1.14 του κτηρίου Ηλεκτρολόγων.
    • κάθε Πέμπτη 16:00-17:00 στο εργαστήριο 1.1.3 (CoReLab) ή στο γρ. 1.1.14 του κτηρίου Ηλεκτρολόγων.

  • Υλικό

    Διαφάνειες Μαθήματος


    Σημειώσεις - Συμπληρωματικό Υλικό


    Προτεινόμενες Ασκήσεις (με τις λύσεις τους) και Παραδείγματα
    • 1η σειρά: Ασυμπτωτικός συμβολισμός, αναδρομικές σχέσεις, ταξινόμηση.
    • 2η σειρά: Άπληστοι αλγόριθμοι, δυναμικός προγραμματισμός.
    • 3η σειρά: Αλγόριθμοι γραφημάτων, Ελάχιστο Συνδετικό Δέντρο.
    • 4η σειρά: Συντομότερα Μονοπάτια, Μέγιστη Ροή, Αναγωγές.
    • 5η σειρά: Παραδείγματα αναγωγών (διαφάνειες).

    Βιβλιογραφία
    1. Thomas Cormen, Charles Leiserson, Ronald Rivest and Cliff Stein: "Introduction to Algorithms", 3rd edition, MIT Press, 2009.
    2. J. Kleinberg, E. Tardos: "Algorithm Design", Addison-Wesley, 2005.
    3. S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani: "Algorithms", MacGraw-Hill, 2006 (Μπορείτε να βρείτε draft έκδοση του βιβλίου αυτού εδώ).
    4. J. Edmonds. How to Think About Algorithms. Cambridge University Press, 2008.
    5. G. Brassard, P. Bratley: "Algorithmics: Theory and Practice", Prentice-Hall.
    6. Sara Baase, Allen Van Gelder, "Computer Algorithms: Introduction to Design and Analysis", 3rd edition, Addison Wesley Longman, 2000.
    7. Alfred V. Aho, John E. Hopcroft, "The Design and Analysis of Computer Algorithms", Addison-Wesley Series in Computer Science and Information Processing, 1974.
    8. Dexter C. Kozen, "The Design and Analysis of Algorithms", Springer, 1991.
    9. A. Levitin: "Ανάλυση και Σχεδίαση Αλγορίθμων", Εκδόσεις Τζιόλα, 2007.
    10. G. J. E. Rawlings: "Αλγόριθμοι: Ανάλυση και Σύγκριση", Εκδόσεις Κριτική, 2004.

    • Ασκήσεις

      Γραπτές Ασκήσεις

      1η σειρά: προθεσμία παράδοσης 27/10. Λύσεις.

      2η σειρά: προθεσμία παράδοσης 22/11. Λύσεις.

      3η σειρά: προθεσμία παράδοσης 27/12. Λύσεις.

      4η σειρά: προθεσμία παράδοσης 12/2.


      Προγραμματιστικές Ασκήσεις

      1η σειρά: προθεσμία παράδοσης 5/11. Testcases. Λύσεις.

      2η σειρά: προθεσμία παράδοσης 3/12. Testcases. Λύσεις.

      3η σειρά: προθεσμία παράδοσης 7/1. Testcases.

      4η σειρά: προθεσμία παράδοσης 12/2. Testcases.


      Παρατηρήσεις για τις ασκήσεις

      • Οι προγραμματιστικές ασκήσεις υποβάλλονται (source code) στον grader, και αξιολογούνται ηλεκτρονικά. Η προθεσμία υποβολής λήγει τα μεσάνυχτα της ημέρας παράδοσης. Για την υποβολή, θα χρησιμοποιήσετε τα login name και password που έχετε για το moodle του μαθήματος. Τα προγράμματά σας πρέπει να είναι σε C/C++, να διαβάζουν την είσοδο από το standard input, και να τυπώνουν την έξοδο στο standard output. Μια υποβολή θεωρείται επιτυχής (και συνεχίζει στο στάδιο της αξιολόγησης) αν "περάσει" επιτυχώς τα επιλεγμένα test cases για το αντίστοιχο ερώτημα. Η αξιολόγηση γίνεται με αντίστοιχα (κοινά για όλους, αλλά διαφορετικά από αυτά που ελέγχονται κατά την υποβολή) test cases, μετά την λήξη της προθεσμίας. Με κάθε άσκηση, θα δίνεται και ένας αριθμός test cases (με τις απαντήσεις τους), που μπορείτε να χρησιμοποιήσετε για προκαταρκτικό έλεγχο των λύσεων σας.
      • Στις γραπτές ασκήσεις να γράφετε ονοματεπώνυμο και αριθμό μητρώου. Η υποβολή γίνεται αποκλειστικά στο moodle. Η προθεσμία λήγει στις 05:59 της επομένης της ημέρας παράδοσης. Εάν δοθεί παράταση θα ανακοινωθεί εδώ.
      • Δεν γίνεται δεκτή η παράδοση ασκήσεων με e-mail.
      • Συνεργασία επιτρέπεται και μάλιστα ενθαρρύνεται (εάν γίνεται σωστά, π.χ. αφού αφιερώσετε ικανό χρόνο ατομικής προσπάθειας), αλλά τελικά κάθε φοιτητής πρέπει να διατυπώσει μόνος του τη λύση. Πανομοιότυπες διατυπώσεις θα εκλαμβάνονται ως αντιγραφή και δεν θα προσμετράται ο βαθμός τους, ενώ πιθανόν να υπάρξουν συνέπειες για όλες τις σειρές ασκήσεων.
      • Όλες οι σειρές ασκήσεων, γραπτές και προγραμματιστικές, θα παρουσιαστούν και στο εργαστήριο σε ημερομηνία που θα ανακοινωθεί αργότερα.
      • Για απορίες πάνω στις ασκήσεις και στη θεωρία μπορείτε να έρχεστε στο CoReLab (κτ. ΗΜΜΥ 1.1.3) στις ώρες γραφείου.