CS 1211 DATA STRUCTURES AND ALGORITHMS 3
1 0 100
To present the concept of arrays, recursion, stack, queue,
linked list, trees and graph data
i.* * To introduce the concept of arrays, structures, pointers and
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
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
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
doubly linked list.
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
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
- Address calculation sort - Merge sort -Radix sort.
Sequential search: Indexed sequential search - Binary search - Interpolation
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.
T=15 Total = 60
1. Aaron M. Tenenbaum, Yeedidyah Langsam, Moshe J. Augenstein, 'Data
structures using C', Pearson Education, 2004 / PHI.
1. E. Balagurusamy, 'Programming in Ansi C', Second Edition, Tata
*2. Robert L. Kruse, Bruce P. Leung Clovis L.Tondo, 'Data Structures
and Program Design in C', Pearson Education, 2000 / PHI.*
No responses found. Be the first to respond...