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:
Student will be able to choose appropriate data structure as applied to specified problem definition.
Student will be able to handle operations like searching, insertion, deletion, traversing mechanism etc. on various data structures.
Students will be able to use linear and non-linear data structures like stacks, queues, linked list.
Use the techniques of algorithm analysis.
Write recursive methods.
Master the implementation of linked data structures such as linked lists, binary trees, graphs.
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
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
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