Department of Information & Communication Systems Engineering
University of the Aegean
SCHOOL OF ENGINEERING

Department of Information
& Communication Systems Engineering

Information & Communication Systems Security
Information Systems
Artificial Intelligence
Computer & Communication Systems
Geometry, Dynamical Systems & Cosmology
 
Δομές Δεδομένων

Title: Δομές Δεδομένων
Lesson Code: 321-3004
Semester: 3
ECTS: 5
Theory Hours: 3
Lab Hours: 2
Faculty: Rizomiliotis Panagiotis
 
External Website
http://www.icsd.aegean.gr/lessons/data_structures/index.htm
 
Content outline
Introduction - Basic concepts of algorithms and data structures, Abstract Data Types (ADT), Performance Algorithm, Analysis of algorithms, Asymptotic notations, Arrays (multidimensional, special forms, sparse), Lists (simply connected, circular, doubly linked), Stacks (with implementation table with a list implementation, applications), tails (realization with a round table with a list implementation, applications), Trees (quantitative data, representation of arrays and pointers, cross), priority Queue, heap Structure, Search (linear, binary, with interpolation), Sort (with option to import, bubble, quicksort, heap with merger), binary search trees, weighted search tree, red-black trees, B-trees, hash (dictionary function and hash table, collisions, fragmentation chains, linear and double fragmentation), Graphs (a reconstruction table / list of neighborhood, breadth-first search, depth-first search). The design or selection of appropriate data structures for specific programming problems. The implementation and evaluation of different structures. Basic algorithmic techniques.
 
Learning outcomes
The student that will complete successfully the course is expected that will be in position to:
- Cite the characteristics of basic data structures.
- Cite basic search and sorting algorithms in basic linear and linked structures of data.
- Cite basic tree traversal and tree management algorithms.
- Cite basic graph algorithms.
- Cite three asymptotic notations.
- Explain basic search and sorting algorithms in basic linear and linked structures of data.
- Explain basic tree traversal and tree management algorithms.
- Explain basic graph algorithms.
- Select suitable algorithms for solving problems.
- Modify properly known algorithms so that they can be exploited in the solution of a problem.
- Comment the quality of a solution in relation to the execution time of the corresponding algorithm.
- Implement known and new algorithms.
- Modify known algorithms.
- Analyze a complex problem.
- Design the solution in an abstract level.
- Evaluate the quality of solution proposed and make corrective actions if required.
- Compare between various alternative choices for the solution of a problem.
- Analyze the quality of a solution in relation to the execution time of separate modules.
- Compose the solution of problem by combining individual pieces of the solution.
- Implement the solution to a problem.
- Evaluate the quality of designing a solution to a problem.
- Evaluate the quality of implementing a solution to a problem.
- Assess the correctness of a solution.
- Compare and comment various alternative solutions to a problem.
- Identify, assess and evaluate relative information via the proposed bibliographic sources and the use of Internet.
 
Prerequisites
Not required.
 
Basic Textbooks
1. Robert Sedgewick. Algorithms in C, Part 1-4: Fundamentals, Data Structures, Sorting, Searching. 3rd Ed./2006, ISBN: 960-209-896-1.
2. Sahnii Sartaj. Data Structures, Algorithms and Applications in C++. 1st Ed./2004, ISBN: 978-960-418-030-1.
 
Additional References
1. Τ. Cormen, E. Leiserson, L. Rivest, C. Stein, Introduction to Algorithms, Volume Ι, ISBN 978-960-524-225-1.
2. M. A. Weiss, Data Structures and Algorithm Analysis in Java, Prentice Hall; 3rd edition, 2011. ISBN 978-0132576277.
3. M. Goodrich και R. Tamassia, Data Structures and Algorithms in Java, Wiley; 5th edition, 2010. ISBN 978-0470383261.
 
Learning Activities and Teaching Methods
Lectures (3 hours weekly) and Laboratory (2 hours weekly). Educational content (lectures, exercises, notes, bibliography) via the eClass platform. For topics that are of highest interest or present a higher difficulty additional bibliographic sources are given and the students are encouraged to seek it either on the internet or to the University library.
 
Assessment/Grading Methods
Final examination and lab exercises (theoretical and programming). The mark of laboratory should be ≥ 5 for attendance in the final examinations. The mark of final examination should be ≥ 5 for successful course completion. The final mark is computed as follows: 0.3 * (Mark of Exercises) + 0.7 * (Mark of Final Examination). For each examination/exercises subject clearly specified evaluation criteria are given. The students can see their exam paper after the final examination and inspect their faults. The overall distribution of marks is announced on eClass, so that students can evaluate their performance.
 
Language of Instruction
Greek, English (for Erasmus students)
 
Μode of delivery
Face-to-face.


Home | Contact

University Of The Aegean

SCHOOL OF ENGINEERING
Department of Information & & Communications Systems Engineering

© Copyright ICSD :: 2008 - 2017