Αλγόριθμοι Και Δομές Δεδομένων
Κωδικός Μαθήματος: | ΜΚ17 | ||||||||||||
Επίπεδο Μαθήματος: | Προπτυχιακό | ||||||||||||
Τύπος Μαθήματος: | Ειδικού Υποβάθρου | ||||||||||||
Εξάμηνο: | 3 | ||||||||||||
Πιστωτικές Μονάδες: | 5 | ||||||||||||
Εβδομαδιαίες Ώρες διδασκαλίας: | 4 | ||||||||||||
Erasmus: | Ναι | ||||||||||||
Ιστοσελίδα: | eclass.uowm.gr/courses/ICTE267/ | ||||||||||||
Γλώσσα διδασκαλίας: | Ελληνική | ||||||||||||
Γενικές Ικανότητες: | • Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών • Λήψη αποφάσεων • Αυτόνομη εργασία • Αλγοριθμική σκέψη • Επίλυση σύνθετων αλγοριθμικών προβλημάτων | ||||||||||||
Περιεχόμενο: | • Αφαιρετικοί Τύποι Δεδομένων. • Σύνθετες Δομές Δεδομένων. • Πίνακες, Εγγραφές, Συνδεδεμένες Λίστες, • Στοίβες, Ουρές. • Αλγόριθμοι και Πολυπλοκότητα. • Αναδρομικοί Αλγόριθμοι. • Αλγόριθμοι Αναζήτησης και Ταξινόμησης. • Γραφήματα και Δένδρα. • Δένδρα Αναζήτησης. • Ουρές Προτεραιότητας. • Σωρός. Κατακερματισμός. • Προγραμματισμός σε C. | ||||||||||||
Αναμενόμενα μαθησιακά αποτελέσματα: | Οι φοιτητές που ολοκληρώνουν επιτυχώς το μάθημα Αλγόριθμοι και Δομές Δεδομένων θα πρέπει να είναι σε θέση να: • Να αναλύουν και να συγκρίνουν την αποδοτικότητα αλγορίθ- μων βάσει των τάξεων Ο, Ω και Θ. • Να χρησιμοποιούν, να υλοποιούν και να επεκτείνουν τις δομές δεδομένων όπως πίνακες, λίστες, ουρές, διπλοουρές και στοί- βες και να γνωρίζουν τις εφαρμογές τους. • Να εφαρμόζουν τους αλγόριθμους που θα μελετηθούν στο μάθημα σε τυχαία δεδομένα. • Να επιλέγουν ή και να δημιουργούν τις κατάλληλες δομές δε- δομένων και τους κατάλληλους αλγόριθμους για υλοποίηση αφηρημένων τύπων δεδομένων. • Να σχεδιάζουν και να υλοποιούν αποδοτικές λύσεις σε σύνθε- τα υπολογιστικά προβλήματα. • Να έχουν καταννοήσει και να υλοποιούν "συγκριτικούς" αλγό- ριθμους ταξινόμησης αλλά και αλγόριθμους ταξινόμησης "κα- τανομής" • Να μπορύν να υλοποίησουν και να τροποποίησουν βασικές δομές δεδομένων ισοζυγισμένων δέντρων όπως τα δέντρα AVL, τα ερθρόμαυρα αλλά και τα δέντρα a,b • Να εκτελούν ένωση εύρεση σε ξένα μεταξύ τους σύνολα • Να μπορούν να χρησιμοποιούν διάφορες τεχνικές κατακερμα- τισμού για την αποθήκευση δεδομένων με βάση το κλείδι και το μέγεθος του πίνακα αποθήκευσης. | ||||||||||||
Προαπαιτούμενα: | Kανένα | ||||||||||||
Τρόπος Παράδοσης: | Διαλέξεις, ασκήσεις στον πίνακα, υλοποίηση βασικών αλγορίθμων σε C, ασκήσεις σε υπολογιστή | ||||||||||||
Χρήση Τεχνολογιών Πληροφορίας και επικοινωνιών: | Εκτεταμένη χρήση ΤΠΕ τόσο στη διδασκαλία όσο και στην επικοινωνία με τους φοιτητές | ||||||||||||
Οργάνωση Διδασκαλίας: |
| ||||||||||||
Αξιολόγηση Φοιτητών: | Ενδιάμεση πρόοδος (10%), τρεις εργασίες (30%), τελική γραπτή εξέταση (60%). | ||||||||||||
Προτεινόμενη Βιβλιογραφία: | 1. Robert Sedgewick, Αλγόριθμοι σε C, μέρη 1 - 4: θεμελιώδεις έννοιες, δομές δεδομένων, ταξινόμηση, αναζήτηση, Εκδόσεις Κλειδάριθμος, 1η ελληνική έκδοση/2005 2. Sahnii Sartaj, Δομές δεδομένων, αλγόριθμοι και εφαρμογές σε C++, Εκδόσεις Τζιόλα, Έκδοση: 1η/2004 3. Παναγιώτης Μποζάνης, Δομές δεδομένων, Εκδόσεις Τζιόλα, Έκδοση: 2η/2016 4. Γεώργιος Γεωργακόπουλος, Δομές δεδομένων, Πανεπιστημια- κές Εκδόσεις Κρήτης, Έκδοση: 2η/2002 |