College of Science

Courses

Data Structures

Course Code C0159 Th 4 Pr 4 CrHrs 3

The course covers analysis and design of fundamental data structures and engages learners to use data structures as tools to algorithmically design efficient computer programs that will cope with the complexity of actual applications.

 The course focuses on basic and essential topics in data structure Overview of implementation strategies of many data structures and their representation, insertion & deletion and other operation on many data structures, graph, traverse graph, Dijkstra algorithm, tree, binary search tree, traverse tree, searching and sorting methods, analyze the algorithms in best, average, and worst case.

Upon completion of the course, the students are expected to:

  1. Student will be able to choose appropriate data structure as applied to specified problem definition.
  2. Student will be able to handle operations like searching, insertion, deletion, traversing mechanism etc. on various data structures.
  3. Students will be able to use linear and non-linear data structures like stacks, queues, linked list.
  4. Use the techniques of algorithm analysis.
  5. Write recursive methods.
  6. Master the implementation of linked data structures such as linked lists, binary trees, graphs.
  7. Sort data using different algorithms such as quicksort, merge sort and radix sort …etc.

Find the shortest path between any two nodes.

Distribution of Marks

Final Mark

Final Exam

Second Term

Mid-Year

First Term

100

Prac.

Theor.

Prac.

Theor.

Prac.

Theor.

Prac.

Theor.

20

30

5

5

10

20

5

5

References

Clifford A. Shaffer," A practical introduction to data Structures and Algorithm Analysis", 3rd edition ,2011

Sandeep San,” Algorithm Analysis and Design”, Indian Institute Technology, Delhi, Nov 2013

Hari Mohan pandey ,"Data Structure and Algorithm" ,New Delhi, 2009

Principle Concepts, Data Structures, Classification of Data Structures

Arrays & their representation

Stacks: Implementation strategies for stacks

Applications of stack, Postfix, Prefix, and Infix Notation

Recursion

Queues: Implementation strategies for queues

Types of queues: linear queue, Circular queue, and Double queue(de-queue)

Linked Lists, Types of Linked lists: Simple, Circular and Double linked list, Operations on Linked lists

Graphs: Implementation strategies for graphs,

Mid-Term Examinations – First Semester

Types of Graphs

Graph Traversal, Shortest path algorithms: Dijkstra algorithm

Trees: Implementation strategies for Tree

Binary search tree, Operations on tree

Traversing tree :( in order, preorder and post order traversal)