DATA STRUCTURES

 Course Objectives:

 The objective of the course is to 

 Introduce the fundamental concept of data structures and abstract data types

  Emphasize the importance of data structures in developing and implementing efficient algorithms

  Describe how arrays, records, linked structures, stacks, queues, trees, and graphs are represented in memory and used by algorithms

 Course Outcomes: 

After completing this course a student will be able to: 

 Summarize the properties, interfaces, and behaviors of basic abstract data types 

 Discuss the computational efficiency of the principal algorithms for sorting & searching 

 Use arrays, records, linked structures, stacks, queues, trees, and Graphs in writing programs

  Demonstrate different methods for traversing trees 

UNIT I Data Structures - 

Definition, Classification of Data Structures, Operations on Data Structures, Abstract Data Type (ADT), Preliminaries of algorithms. Time and Space complexity. Searching - Linear search, Binary search, Fibonacci search. Sorting- Insertion sort, Selection sort, Exchange (Bubble sort, quick sort), distribution (radix sort), merging (Merge sort) algorithms. 

Download now

UNIT II Linked List:

 Introduction, Single linked list, Representation of Linked list in memory, Operations on Single Linked list-Insertion, Deletion, Search and Traversal ,Reversing Single Linked list, Applications on Single Linked list- Polynomial Expression Representation ,Addition and Multiplication, Sparse Matrix Representation using Linked List, Advantages and Disadvantages of Single Linked list, Double Linked list-Insertion, Deletion, Circular Linked list-Insertion, Deletion.

Download now

 UNIT III Queues: 

Introduction to Queues, Representation of Queues-using Arrays and using Linked list, Implementation of Queues-using Arrays and using Linked list, Application of Queues-Circular Queues, Deques, Priority Queues, Multiple Queues. Stacks: Introduction to Stacks, Array Representation of Stacks, Operations on Stacks, Linked list Representation of Stacks, Operations on Linked Stack, Applications-Reversing list, Factorial Calculation, Infix to Postfix Conversion, Evaluating Postfix Expressions.

Download now

 UNIT IV Trees:

 Basic Terminology in Trees, Binary Trees-Properties, Representation of Binary Trees using Arrays and Linked lists. Binary Search Trees- Basic Concepts, BST Operations: Insertion, Deletion, Tree Traversals, Applications-Expression Trees, Heap Sort, Balanced Binary TreesAVL Trees, Insertion, Deletion and Rotations.

Download now

UNIT V Graphs:

 Basic Concepts, Representations of Graphs-Adjacency Matrix and using Linked list, Graph Traversals (BFT & DFT), Applications- Minimum Spanning Tree Using Prims & Kruskals Algorithm, Dijkstra’s shortest path, Transitive closure, Warshall’s Algorithm. 

Download now

Text Books: 

1) Data Structures Using C. 2nd Edition.

Reema Thareja, Oxford.

 2) Data Structures and algorithm analysis in C, 2nded, Mark Allen Weiss.

 Reference Books: 

1) Fundamentals of Data Structures in C, 2nd Edition, Horowitz, Sahni, Universities Press.

 2) Data Structures: A PseudoCode Approach, 2/e, Richard F.Gilberg, Behrouz A. Forouzon, Cengage. 3) Data Structures with C, Seymour Lipschutz TMH 

e-Resources: 

1) http://algs4.cs.princeton.edu/home/

2) https://faculty.washington.edu/jstraub/dsa/Master_2_7a.pdf

Previous Post Next Post