CS 1211 DATA STRUCTURES AND ALGORITHMS

CS 1211 DATA STRUCTURES AND ALGORITHMS 3
1 0 100

AIM

To present the concept of arrays, recursion, stack, queue,
linked list, trees and graph data

structures.

OBJECTIVES

i.* * To introduce the concept of arrays, structures, pointers and
recursion.**

ii. To study stack, queue and linked list concepts.

iii. To study trees, representation of trees, tree traversal and
basic operations on trees.

iv. To study some of the sorting and searching techniques.

v. To study the concept of graphs, traversal techniques and
minimum spanning tree.

*1. INTRODUCTION TO DATA STRUCTURES
9 *

Abstract data types - Sequences as value definitions - Data types in C -
Pointers in C -Data structures and C - Arrays in C - Array as ADT - One
dimensional array -Implementing one dimensional array - Array as parameters
- Two dimensional array -Structures in C - Implementing structures - Unions
in C - Implementation of unions -Structure parameters - Allocation of
storage and scope of variables.

Recursive definition and processes: Factorial function - Fibonacci sequence
- Recursion in C - Efficiency of recursion.

* *

*2. STACK, QUEUE AND LINKED LIST
9 *

Stack definition and examples – Primitive operations – Example -
Representing stacks in C - Push and pop operation implementation.

Queue as ADT - C Implementation of queues - Insert operation - Priority
queue - Array implementation of priority queue.

Inserting and removing nodes from a list-linked implementation of stack,
queue and priority queue - Other list structures - Circular lists: Stack and
queue as circular list -Primitive operations on circular lists. Header nodes
- Doubly linked lists - Addition of long positive integers on circular and

*3. TREES
9 *

Binary trees: Operations on binary trees - Applications of binary trees -
Binary tree representation - Node representation of binary trees - Implicit
array representation of binary tree – Binary tree traversal in C - Threaded
binary tree - Representing list as binary tree - Finding the Kth element -
Deleting an element.

Trees and their applications: C representation of trees - Tree traversals -
Evaluating an expression tree - Constructing a tree.

*4. SORTING AND SEARCHING
9 *

General background of sorting: Efficiency considerations, Notations,
Efficiency of sorting. Exchange sorts: Bubble sort; Quick sort; Selection
sort; Binary tree sort; Heap sort. Heap as a priority queue - Sorting using
a heap-heap sort procedure - Insertion sorts: Simple insertion - Shell sort

* *
Sequential search: Indexed sequential search - Binary search - Interpolation
search.

* *

*5. GRAPHS*
*9*

Application of graph - C representation of graphs - Transitive closure -
Warshall's algorithm – Shortest path algorithm - Linked representation of
graphs - Dijkstra's algorithm - Graph traversal - Traversal methods for
graphs - Spanning forests - Undirected graph and their traversals - Depth
first traversal - Application of depth first traversal - Efficiency of depth
first traversal - Breadth first traversal - Minimum spanning tree -
Kruskal's algorithm - Round robin algorithm.
L=45
T=15 Total = 60

TEXT BOOK
1. Aaron M. Tenenbaum, Yeedidyah Langsam, Moshe J. Augenstein, 'Data
structures using C', Pearson Education, 2004 / PHI.

REFERENCE BOOKS

1. E. Balagurusamy, 'Programming in Ansi C', Second Edition, Tata
McGraw Hill

Publication, 2003.

*2. Robert L. Kruse, Bruce P. Leung Clovis L.Tondo, 'Data Structures

* *

* *