3ο εξάμηνο


Μάθημα: Αλγόριθμοι & Δομές Δεδομένων



Κωδικός Μαθήματος: ΜΚ17
Επίπεδο Μαθήματος: Προπτυχιακό
Τύπος Μαθήματος: Ειδικού Υποβάθρου
Εξάμηνο: 3
Πιστωτικές Μονάδες: 5
Εβδομαδιαίες Ώρες διδασκαλίας: 4
Erasmus: Ναι
Ιστοσελίδα: eclass.uowm.gr/courses/ICTE267/
Γλώσσα διδασκαλίας:Ελληνική
Γενικές Ικανότητες:

• Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των
απαραίτητων τεχνολογιών
• Λήψη αποφάσεων
• Αυτόνομη εργασία
• Αλγοριθμική σκέψη
• Επίλυση σύνθετων αλγοριθμικών προβλημάτων

Περιεχόμενο:

• Αφαιρετικοί Τύποι Δεδομένων.
• Σύνθετες Δομές Δεδομένων.
• Πίνακες, Εγγραφές, Συνδεδεμένες Λίστες,
• Στοίβες, Ουρές.
• Αλγόριθμοι και Πολυπλοκότητα.
• Αναδρομικοί Αλγόριθμοι.
• Αλγόριθμοι Αναζήτησης και Ταξινόμησης.
• Γραφήματα και Δένδρα.
• Δένδρα Αναζήτησης.
• Ουρές Προτεραιότητας.
• Σωρός. Κατακερματισμός.
• Προγραμματισμός σε C.

Αναμενόμενα μαθησιακά αποτελέσματα:

Οι φοιτητές που ολοκληρώνουν επιτυχώς το μάθημα Αλγόριθμοι
και Δομές Δεδομένων θα πρέπει να είναι σε θέση να:
• Να αναλύουν και να συγκρίνουν την αποδοτικότητα αλγορίθ-
μων βάσει των τάξεων Ο, Ω και Θ.
• Να χρησιμοποιούν, να υλοποιούν και να επεκτείνουν τις δομές
δεδομένων όπως πίνακες, λίστες, ουρές, διπλοουρές και στοί-
βες και να γνωρίζουν τις εφαρμογές τους.
• Να εφαρμόζουν τους αλγόριθμους που θα μελετηθούν στο
μάθημα σε τυχαία δεδομένα.
• Να επιλέγουν ή και να δημιουργούν τις κατάλληλες δομές δε-
δομένων και τους κατάλληλους αλγόριθμους για υλοποίηση
αφηρημένων τύπων δεδομένων.
• Να σχεδιάζουν και να υλοποιούν αποδοτικές λύσεις σε σύνθε-
τα υπολογιστικά προβλήματα.
• Να έχουν καταννοήσει και να υλοποιούν "συγκριτικούς" αλγό-
ριθμους ταξινόμησης αλλά και αλγόριθμους ταξινόμησης "κα-
τανομής"
• Να μπορύν να υλοποίησουν και να τροποποίησουν βασικές
δομές δεδομένων ισοζυγισμένων δέντρων όπως τα δέντρα
AVL, τα ερθρόμαυρα αλλά και τα δέντρα a,b
• Να εκτελούν ένωση εύρεση σε ξένα μεταξύ τους σύνολα
• Να μπορούν να χρησιμοποιούν διάφορες τεχνικές κατακερμα-
τισμού για την αποθήκευση δεδομένων με βάση το κλείδι και
το μέγεθος του πίνακα αποθήκευσης.

Προαπαιτούμενα:

Kανένα

Τρόπος Παράδοσης:

Διαλέξεις, ασκήσεις στον πίνακα, υλοποίηση βασικών αλγορίθμων
σε C, ασκήσεις σε υπολογιστή

Χρήση Τεχνολογιών Πληροφορίας και επικοινωνιών:

Εκτεταμένη χρήση ΤΠΕ τόσο στη διδασκαλία όσο και
στην επικοινωνία με τους φοιτητές

Οργάνωση Διδασκαλίας:
Δραστηριότητα Φόρτος Εργασίας Εξαμήνου
Διαλέξεις 39
Εργαστήριο 13
Εκπόνηση εργασιών 33
Αυτόνομη μελέτη 40
Σύνολο 125
Αξιολόγηση Φοιτητών:

Ενδιάμεση πρόοδος (10%), τρεις εργασίες (30%), τελική γραπτή
εξέταση (60%).

Προτεινόμενη Βιβλιογραφία:

1. Robert Sedgewick, Αλγόριθμοι σε C, μέρη 1 - 4: θεμελιώδεις
έννοιες, δομές δεδομένων, ταξινόμηση, αναζήτηση, Εκδόσεις
Κλειδάριθμος, 1η ελληνική έκδοση/2005
2. Sahnii Sartaj, Δομές δεδομένων, αλγόριθμοι και εφαρμογές σε
C++, Εκδόσεις Τζιόλα, Έκδοση: 1η/2004
3. Παναγιώτης Μποζάνης, Δομές δεδομένων, Εκδόσεις Τζιόλα,
Έκδοση: 2η/2016
4. Γεώργιος Γεωργακόπουλος, Δομές δεδομένων, Πανεπιστημια-
κές Εκδόσεις Κρήτης, Έκδοση: 2η/2002

Διδάσκων: Πλόσκας Νικόλαος