Learning Outcomes
Upon successful completion of the course, students must be able to:
a) Understand and use the concept of data structure as a building block of programming code
b) Choose the right data structure(s) for their application, use it, and analyze it appropriately.
c) Use and evaluate the basic algorithms for searching, hashing, and sorting.
d) 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.
Topics covered within the context of the course:
• 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. ISBN: 960-512-452-1, ΚΩΔ.ΕΥΔ.: 12279 (ελληνική μετάφραση)
2. Δομές Δεδομένων, Π. Μποζάνης, 1η έκδοση, Εκδόσεις Τζιόλας, 2006.
ISBN : 960-418-084-3, ΚΩΔ.ΕΥΔ.: 9322
3. Δομές Δεδομένων: Έννοιες, Τεχνικές, Αλγόριθμοι, Γ.Φ. Γεωργακόπουλος, Πανεπιστημ. Εκδόσεις Κρήτης, 2011. ISBN : 978-960-524-125-4, ΚΩΔ.ΕΥΔ.: 260