Learning Outcomes
Upon successful completion of the course, students must be able to :
- Understand and use the concept of data structure as a building block of programming code,
- Choose the right data structure(s) for their application, use it, and analyze it appropriately,
- Use the basic algorithms for searching, hashing, and sorting,
- Develop medium-size applications in Java.
Course Content (Syllabus)
Introductory course on Data Structures and on basic types of Algorithms. The course builds on earlier programming courses and aims to help the students strengthen their understanding of software development techniques and improve their programming skills. The content of the course include:
- Data and information. Data structure, algorithm and complexity.
- Introduction to Java.
- Arrays. Linked and sequential linear lists.
- Trees: Methods for storing, accessing, inserting and deleting elements in a tree. Balanced trees. B-trees. Applications.
- Heaps
- Searching Algorithms. Text search.
- Hashing Algorithms
- Sorting Algorithms
Keywords
Data structures, Algorithms, Algorithmic Complexity, Java programming, Tables, Lists, Trees, Heaps, Searching, Hashing, Sorting
Course Bibliography (Eudoxus)
1. Δομές Δεδομένων & Αλγόριθμοι στη Java, 2η έκδοση, Robert Lafore, Εκδόσεις Γκιούρδας, 2005.
2. Δομές Δεδομένων, Π. Μποζάνης, 1η έκδοση, Εκδόσεις Τζιόλας, 2006.
3. Δομές Δεδομένων: Έννοιες, Τεχνικές, Αλγόριθμοι, Γ.Φ. Γεωργακόπουλος, Πανεπιστημιακές Εκδόσεις Κρήτης, 2011.