Data Structures

Course Code: Ν2-2040
Weekly Duty: 6 (2Th + 2E + 2L)
Typical Semester: 2nd
Course Category: General Infrastructure Course
Prerequisites: Algorithms Design, Computer Programming

Learning Outcomes

The course is considered one of the most important among the general background courses offered by the Department. The knowledge and skills acquired through this course are necessary in order to attend numerous other courses of the Department of Informatics, but mainly for Databases, Algorithms and Complexity as well as Information Systems. For this reason, it is not recommended to attend the aforementioned courses before the successful conclusion of the Data Structures course.

The course prerequisites are Algorithmics and Programming I.

In particular, the student who successfully concludes the course:

  • Is aware of the theoretical principles which govern Data Structures and the necessity of their efficient use in an integrated application.
  • Has the ability to design, implement and manipulate programmatically the most prominent Data Structures and their variations, adapting them to each problem.
  • Has the background to follow the programming tools offered by modern programming languages, understanding the advantages and disadvantages of every language with respect to data organisation and handling.
  • Is able to assess the needs and limitations in data organization and handling and play a consulting role in the design of the corresponding solutions.
  • Has sufficient background in order to attend courses with content related to advanced data structures at a theoretical as well as technological level.

Course Content

Introduction. Information and Data. Algorithms.

Part A. Main Memory Data Structures. Arrays. Searching. Sorting-Merging. Strings. Stacks. Queues. Linked lists. Trees. Graphs

Part B. Secondary Memory Data Structures. Data files. File organizations (sequential, random, indexed sequential, indexed non-sequential, hashing, B-trees).

File organization using secondary keys. File sorting. File comparison and selection criteria.

  1. C.Koilias. Data Structures and File Organizations. New Technologies Editions, Athens, 2004 (in Greek).
  2. Thomas A. Standish, Data Structures, Algorithms, and Software Principles in C, Addison-Wesley, 1994.
  3. Ellis Horowitz, Sartaj Sahni, Susan Anderson-Freed, Fundamentals of Data Structures in C: 2nd Edition, Silicon Press, 2008.

Internationalisation I18n