Γενικά
| Σχολή
|
Σχολή Θετικών Επιστημών
|
| Τμήμα
|
Τμήμα Μαθηματικών
|
| Επίπεδο Σπουδών
|
Προπτυχιακό
|
| Κωδικός Μαθήματος
|
MAE681
|
| Εξάμηνο
|
6
|
| Τίτλος Μαθήματος
|
Δομές Δεδομένων
|
| Αυτοτελείς Διδακτικές Δραστηριότητες
|
Διαλέξεις και Εργαστηριακές Ασκήσεις (Εβδομαδιαίες Ώρες Διδασκαλίας: 3, Πιστωτικές Μονάδες: 6)
|
| Τύπος Μαθήματος
|
Ειδίκευσης
|
| Προαπαιτούμενα Μαθήματα
|
|
| Γλώσσα Διδασκαλίας και Εξετάσεων
|
Ελληνική
|
| Το Μάθημα Προσφέρεται σε Φοιτητές Erasmus
|
Ναι (στην Αγγλική γλώσσα)
|
| Ηλεκτρονική Σελίδα Μαθήματος (URL)
|
Δείτε το eCourse, την Πλατφόρμα Ασύγχρονης Εκπαίδευσης του Πανεπιστημίου Ιωαννίνων.
|
Μαθησιακά Αποτελέσματα
| Μαθησιακά Αποτελέσματα
|
Το μάθημα αποτελεί μια εισαγωγή στις βασικές δομές δεδομένων όπως πίνακες, αλυσίδες, λίστες, στοίβες, ουρές, δένδρα, γραφήματα. Εξετάζονται θέματα ιδιοτήτων, υλοποίησης, πράξεων σε δομές και πολυπλοκότητας των πράξεων αυτών, καθώς και εφαρμογών των βασικών αυτών δομών. Βασικός σκοπός είναι η σχεδίαση και χρήση κατάλληλων δομών δεδομένων για την αποθήκευση και ανάκτηση των δεδομένων ενός προβλήματος με σκοπό την πιο αποτελεσματική επεξεργασία τους κατά την διαδικασία επίλυσης του προβλήματος. Μετά την ολοκλήρωση του μαθήματος ο φοιτητής / τρια:
- Έχει κατανόηση των βασικών δομών δεδομένων και των διαφόρων τρόπων υλοποίησης τους σε κάποια γλώσσα προγραμματισμού.
- Μπορεί να επιλέξει κατάλληλες δομές για την αποτελεσματικότερη αποθήκευση των δεδομένων ενός προβλήματος και την επεξεργασία τους με αλγορίθμους για την επίλυση του προβλήματος.
|
| Γενικές Ικανότητες
|
- Αυτόνομη εργασία
- Ανάλυση δεδομένων προβλήματος
- Μπορεί να χρησιμοποιήσει δομές δεδομένων για επίλυση προβλημάτων σε άλλες επιστημονικές περιοχές ή γενικά στον εργασιακό χώρο.
|
Περιεχόμενο Μαθήματος
- Στοιχεία Πολυπλοκότητας Αλγορίθμων
- Αφηρημένοι Τύποι Δεδομένων
- Πίνακες
- Αλυσίδες
- Αλγόριθμοι Αναζήτησης, Ταξινόμησης, Επιλογής
- Λίστες (Απλά Συνδεδεμένες Λίστες, Διπλά Συνδεδεμένες Λίστες, Κυκλικές Λίστες, Γενικευμένες Λίστες
- Στοίβες
- Ουρές, Διπλοουρές, Ουρές Προτεραιότητας
- Δένδρα (Γενικά Δένδρα, Δυαδικά Δένδρα, Δυαδικά Δένδρα Αναζήτησης, Οπισθοσυνδεδεμένα Δένδρα)
- Σωροί
- AVL-Δένδρα, 2-3 Δένδρα, 2-3-4 Δένδρα, Β-Δένδρα
- Κατευθυνόμενοι Γράφοι
- Μη Κατευθυνόμενοι Γράφοι
- Χειρισμός Συνόλων
- Κατακερματισμός
- Δυναμική Διαχείριση Μνήμης
|
Διδακτικές και Μαθησιακές Μέθοδοι - Αξιολόγηση
| Τρόπος Παράδοσης
|
Πρόσωπο με πρόσωπο
|
| Χρήση Τεχνολογιών Πληροφορίας και Επικοινωνιών
|
Ναι
|
| Οργάνωση Διδασκαλίας
|
| Δραστηριότητα
|
Φόρτος Εργασίας Εξαμήνου
|
| Διαλέξεις (13Χ3)
|
39
|
| Αυτοτελής Μελέτη
|
78
|
| Επίλυση Ασκήσεων - εργασίες
|
33
|
| Σύνολο Μαθήματος
|
150
|
|
| Αξιολόγηση Φοιτητών
|
Γραπτή τελική εξέταση (70%) που περιλαμβάνει:
- ερωτήσεις σχετικές με την θεωρία των δομών δεδομένων
- Ερωτήσεις κρίσεως υπό την μορφή ασκήσεων που απαιτούν την χρήση δομών δεδομένων
- Ερωτήσεις υλοποίησης δομών δεδομένων
Εργαστηριακές ασκήσεις/Πρόοδος(30%)
|
Συνιστώμενη Βιβλιογραφία
Δείτε την υπηρεσία Εύδοξος. Συγγράμματα και άλλες πηγές εκτός της υπηρεσίας Εύδοξος:
General
| School
|
School of Science
|
| Academic Unit
|
Department of Mathematics
|
| Level of Studies
|
Undergraduate
|
| Course Code
|
MAE681
|
| Semester
|
6
|
| Course Title
|
Data Structures
|
| Independent Teaching Activities
|
Lectures and laboratory exercises (Weekly Teaching Hours: 3, Credits: 6)
|
| Course Type
|
Special Background
|
| Prerequisite Courses
|
-
|
| Language of Instruction and Examinations
|
Greek
|
| Is the Course Offered to Erasmus Students
|
Yes
|
| Course Website (URL)
|
See eCourse, the Learning Management System maintained by the University of Ioannina.
|
Learning Outcomes
| Learning outcomes
|
The course is an introduction to basic data structures such as strings, arrays, lists, stacks, queues, trees, graphs. It studies properties and implementation issues as well as basic properties on the data structures and their complexity. It also examines basic applications of the above data structures. The main purpose is the design and use of appropriate data structures for storing and retrieving the data of a problem in order for a most efficient processing during the problem solving process.
After completing the course the student:
- Has an understanding of basic data structures and the different ways they can be implemented using a programming language.
- Can choose appropriate data structures for efficiently storing the data of a problem and their use by an algorithm for solving the problem.
|
| General Competences
|
- Working independently
- Problem data analysis
- Can use data structures for solving problems in other scientific areas or in the workplace.
|
Syllabus
- Elements Of Analysis Of Algorithms
- Abstract Data Types
- Strings
- Arrays
- Algorithms for Searching, Sorting, Selection
- Lists (Singly Linked Lists, Doubly Linked Lists, Circular Lists, Generalised Lists)
- Stacks
- Queues, DeQueues, Priority Queues
- Trees (General Trees, Binary Trees, Binary Search Trees, Threaded Trees)
- Heaps
- AVL-Trees, 2-3 Trees, 2-3-4 Trees, B Trees
- Directed Graphs, Undirected Graphs
- Set Manipulation
- Hashing
- Dynamic Memory Management
|
Teaching and Learning Methods - Evaluation
| Delivery
|
Face to face
|
| Use of Information and Communications Technology
|
Yes
|
| Teaching Methods
|
| Activity
|
Semester Workload
|
| Lectures
|
39
|
| Self study
|
78
|
| Exercises
|
33
|
| Course total
|
150
|
|
| Student Performance Evaluation
|
Written final exam (70%) comprised of:
- questions about the theory of data structures
- Questions crisis in the form of exercises that require the use of data structures
- Exercises testing the understanding of the implementation issues and use of data structures
Laboratory exercises / midterm (30%)
|
Attached Bibliography
See the official Eudoxus site. Books and other resources, not provided by Eudoxus: