Data Structures (MAE681): Διαφορά μεταξύ των αναθεωρήσεων

Από Wiki Τμήματος Μαθηματικών
Χωρίς σύνοψη επεξεργασίας
Γραμμή 1: Γραμμή 1:
[[Undergraduate Courses Outlines]] - [https://math.uoi.gr  Department of Mathematics]
=== General ===
=== General ===
{| class="wikitable"
{| class="wikitable"

Αναθεώρηση της 18:58, 1 Ιουλίου 2022

Undergraduate Courses Outlines - Department of Mathematics

General

School

School of Science

Academic Unit

Department of Mathematics

Level of Studies

Undergraduate

Course Code

MAE541

Semester

5

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) -

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 algorithms 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 (Single 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

  • Data structures, algorithms and applications using c ++, Sahnii Sartaj, Publicer A. Tziola (Greek translation)
  • Algorithms in C ++, parts 1-4: fundamental concepts, data structures, sorting, searching, Robert Sedgewick, Prentice Hall (Greek translation)
  • Algorithms in C, parts 1-4: fundamental concepts, data structures, sorting, searching, Robert Sedgewick, Prentice Hall (Greek translation)
  • Data Structures with C, Nicholas Misirlis (Greek)
  • Data Structures, Bozanis Panagiotis, Publicer A. Tziola (Greek)
  • Michael T. Goodrich, Roberto Tamassia, and David M. Mount, Data Structures and Algorithms in C ++, John Wiley & Sons
  • Michael Goodrich, Roberto Tamassia, Data Structures and Algorithms in Java, Publicer DIAYLOS
  • Cormen, Leiserson and Rivest, Introduction to Algorithms, MIT Press, 1990. (there is also a translation from the University of Crete)
  • Mark Allen Weiss, Data Structures & Algorithm Analysis in Java, Addison-Wesley
  • Clifford A. Shaffer, Data Structures and Algorithm Analysis, ebook, http://people.cs.vt.edu/shaffer/Book/
  • Website: opendatastructures.org