1 / 12

Δομές Δεδομένων (Data Structures) 3o Εξάμηνο Σπουδών

Δομές Δεδομένων (Data Structures) 3o Εξάμηνο Σπουδών. Διδάσκων : Απόστολος Παπαδόπουλος 2310-991918 και 2310-996363 apostol@delab.csd.auth.gr papadopo@csd.auth.gr. Εργαστήριο Τεχνολογίας και Επεξεργασίας Δεδομένων. http://delab.csd.auth.gr. Ιστοσελίδα μαθήματος

cisco
Download Presentation

Δομές Δεδομένων (Data Structures) 3o Εξάμηνο Σπουδών

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Δομές Δεδομένων(Data Structures)3o Εξάμηνο Σπουδών Διδάσκων: Απόστολος Παπαδόπουλος 2310-991918και 2310-996363 apostol@delab.csd.auth.gr papadopo@csd.auth.gr Εργαστήριο Τεχνολογίας και Επεξεργασίας Δεδομένων http://delab.csd.auth.gr Ιστοσελίδα μαθήματος http://delab.csd.auth.gr/courses/c_ds/index.html

  2. Διδασκαλία του Μαθήματος • 4 ώρες την εβδομάδα (θεωρία + ασκήσεις). • Τετάρτη 15-17(Β) και Παρασκευή 9-11 (Β). • Εργασία 40-50% του βαθμού. • Η εργασίες παραδίδονται αποκλειστικά στην εξεταστική του Ιανουαρίου. • Ο βαθμός της εργασίας μπορεί να κρατηθεί μέχρι το Σεπτέμβριο. • Οι επι πτυχίω μπορούν να εκπονήσουν την εργασία και στην εξεταστική του Ιουνίου.

  3. Εργασία Αντικείμενο: υλοποίηση αλγορίθμων και δομών δεδομένων σε C++ Τμήματα: • Θεωρητική μελέτη • Πηγαίος κώδικας με σχόλια • Εκτελέσιμο αρχείο • Πειραματικές μετρήσεις

  4. Διδασκαλία του Μαθήματος Διδακτικό Βιβλίο: Δομές Δεδομένων Αλγόριθμοι και Εφαρμογές στη C++ Sartaj Shani Μετάφραση: Ι. Μανωλόπουλος, Ι. Θεοδωρίδης

  5. Διδασκαλία του Μαθήματος Για το μάθημα θα χρειαστούμε • Βασικές γνώσεις C++ • Βασικές γνώσεις θεωρίας αλγορίθμων Τα παραπάνω θέματα διδάσκονται σε ξεχωριστά μαθήματα. Ωστόσο θα μελετήσουμε τις απαραίτητες έννοιες ώστε να προχωρήσουμε με άνεση.

  6. Στόχοι Διδασκαλίας • Κατανόηση της αρχής ότι κάθε δομή δεδομένων έχει υπέρ και κατά. • Εκμάθηση των πιο δημοφιλών δομών δεδομένων • Αυτές σχηματίζουν ένα βασικό σύνολο εργαλείων πάνω στις δομές δεδομένων, το οποίο είναι χρήσιμο για έναν προγραμματιστή • Κατανόηση των τεχνικών μέτρησης του κόστους μιας δομής δεδομένων ή ενός προγράμματος • Αυτές οι τεχνικές επίσης επιτρέπουν να κριθεί η αξία νέων δομών δεδομένων που μπορεί να ανακαλυφθούν στο μέλλον.

  7. Στόχοι Διδασκαλίας Μετά την ολοκλήρωση του μαθήματος θα είστε σε θέση: • Να χρησιμοποιείται τις υπάρχουσες βασικές δομές δεδομένων. • Να υλοποιήσετε δομές δεδομένων σε γλώσσα C++. • Να συνδυάζετε δομές για την επίλυση προβλημάτων. • Να κατανοήσετε καλύτερα μαθήματα όπως Ανάλυση και Σχεδίαση Αλγορίθμων, Βάσεις Δεδομένων.

  8. Διάρθρωση Μαθήματος • C++ • Θέματα απόδοσης αλγορίθμων • Αναπαράσταση δεδομένων • Πίνακες • Γραμμικές λίστες • Στοίβες • Κατακερματισμός • Δένδρα • Ουρές προτεραιότητας • Δυαδικά δένδρα αναζήτησης • Γραφήματα Προχωρημένα θέματα • Τετραδικά και πολυδιάστατα δένδρα • Δυναμικά δένδρα

  9. Βιβλιογραφία Aho, Ullman, Hopcroft: “Data Structures and Algorithms”, Addison-Wesley, 1983 Weiss: “Data Structures and Algorithm Analysis in C++”, Addison-Wesley, 2006 Knuth:“The Art of Computer Programming”, Volumes1-3, Addison-Wesley Professional, 1998 Drozdek: “Data Structures and Algorithms in C++”, Course Technology, 2004

  10. Χρήσιμοι Σύνδεσμοι Handbook of Algorithms and Data Structures http://www.cs.sunysb.edu/~algorith/implement/handbook/implement.shtml Dictionary of Algorithms and Data Structures http://www.nist.gov/dads/ Interactive Data Structures Visualization http://www.student.seas.gwu.edu/~idsv/idsv.html

  11. Εισαγωγή Οι Δομές Δεδομένων αποτελούν βασικά εργαλεία τα οποία χρησιμοποιούνται από αλγορίθμους για την επίλυση ενός προβλήματος. Με απλά λόγια: Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα Οι Δομές Δεδομένων στοχεύουν στην αποτελεσματική και αποδοτική οργάνωση των δεδομένων έτσι ώστε κάποιες λειτουργίες να εκτελούνται γρήγορα.

  12. Εισαγωγή Η χρήση καλύτερου hardwareείναι η προφανής και όχι πάντα η καλύτερη λύση για τη μείωση του χρόνου εκτέλεσης μίας εφαρμογής ή την επίλυση ενός προβλήματος. Η χρήση της κατάλληλης δομής και του κατάλληλου αλγορίθμου θεωρούνται πιο σημαντικά στοιχείααπό την απόκτηση καλύτερου hardware. Γιατί;

More Related