+251 111 559769      info@hilcoe.net
     +251 111 559769      info@hilcoe.net

Data Structures and Algorithm Analysis

Course Objectives

At the end of the course, students will

  • have basic concept about the different data structures & their applications,
  • acquire sound programming and algorithm analysis skills so as to be able to design and develop efficient programs,
  • be able to analyze and evaluate algorithms with respect to their time and space complexity,
  • understand different methods of organizing large volume of data, and
  • have the ability to design data structures that can map the actual relationships of the data in the real world and that are also simple enough for processing.

Course Description

This course focuses on the study of data structures, algorithms and program efficiency. Topics include: introduction to algorithm analysis (qualitative, quantitative); complexity of algorithms; measuring complexity (Big-O), time-space tradeoff, complexity classes: (P and NP); simple searching and sorting algorithms (linear and binary search, bubble sort, insertion sort, selection sort); complexity of searching and sorting algorithms; abstract data types (linked lists, queues, stacks, trees, and graphs); array and pointer implementations; advanced searching and sorting algorithms (shell, heap, merge, and quick sort).

Course Content

  1. Introduction to data structure
  2. Algorithm and Algorithm Analysis
  3. Simple Sorting and Searching Algorithms
  4. Data Structures
  5. Advanced sorting and searching