You are on page 1of 12

Lesson Plan

Subject Code/ Subject : CS 8391/ Data Structures No. of Periods Theory : 50


Faculty Name : Mr. M.Sabareesan, AP / CSE Practical : -
Branch : CSE Tutorial : -
Year / Semester : II/III Total Periods : 50

TEXT BOOKS:
T1:Mark AllenWeiss, “Data Structures and Algorithm Analysis in C”, 2nd Edition, Pearson
Education,1997.
T2:Reema Thareja, “Data Structures Using C”, Second Edition, Oxford University Press,2011

REFERENCES:
R1. Thomas H.Cormen,Charles E. Leiserson, Ronald L.Rivest, Clifford Stein, “Introduction to
Algorithms", Second Edition, Mcgraw Hill,2002.
R2.Aho, Hopcroft and Ullman, “Data Structures and Algorithms”, Pearson Education, 1983.
R3.Stephen G. Kochan, “Programming in C”, 3rd edition, Pearson Education.
R4.Ellis Horowitz, Sartaj Sahni, Susan Anderson-Freed, “Fundamentals of Data Structures in
C”, Second Edition, University Press, 2008

ADDITIONAL REFERENCE:
AR1.A.A. Puntambekar, Data Structures in C, Technical Publication.

Unit No. of
Unit Description Start Date Finish Date Test Exam
No. Periods

1 Linear Data Structures– 09


14.08.2020 28.08.2020
List CA Test I

2 Linear Data Structures– 09


28.08.2020 10.09.2020
Stacks, Queues
Model
CA Test II
3 Non Linear Data 09 Exam
10.09.2020 21.09.2020
Structures–Trees

4 Non Linear Data 09


24.09.2020 06.10.2020
Structures- Graphs CA Test III
5 Searching, Sorting and 09
08.10.2020 22.10.2020
Hashing Techniques

Prepared By Approved By
CS 8391 DATA STRUCTURES LTPC
3003
OBJECTIVES:
 To understand the concepts of ADTs
 To Learn linear data structures – lists, stacks, and queues
 To understand sorting, searching and hashing algorithms
 To apply Tree and Graph structures

UNIT I LINEAR DATA STRUCTURES – LIST 9


Abstract Data Types (ADTs) – List ADT – array-based implementation – linked list implementation –
–singly linked lists- circularly linked lists- doubly-linked lists – applications of lists –Polynomial
Manipulation – All operations (Insertion, Deletion, Merge, Traversal).

UNIT II LINEAR DATA STRUCTURES – STACKS, QUEUES 9


Stack ADT – Operations - Applications - Evaluating arithmetic expressions- Conversion of Infix to
postfix expression - Queue ADT – Operations - Circular Queue – Priority Queue - deQueue –
applications of queues.

UNIT III NON LINEAR DATA STRUCTURES – TREES 9


Tree ADT – tree traversals - Binary Tree ADT – expression trees – applications of trees – binary
search tree ADT –Threaded Binary Trees- AVL Trees – B-Tree - B+ Tree - Heap – Applications of
heap.

UNIT IV NON LINEAR DATA STRUCTURES - GRAPHS 9


Definition – Representation of Graph – Types of graph - Breadth-first traversal - Depth-first traversal
– Topological Sort – Bi-connectivity – Cut vertex – Euler circuits – Applications of graphs.

UNIT V SEARCHING, SORTING AND HASHING TECHNIQUES 9


Searching- Linear Search - Binary Search. Sorting - Bubble sort - Selection sort - Insertion sort - Shell
sort – Radix sort. Hashing- Hash Functions – Separate Chaining – Open Addressing – Rehashing –
Extendible Hashing.
TOTAL PERIODS: 45
OUTCOMES:
At the end of the course, the student should be able to:
 Implement abstract data types for linear data structures.
 Apply the different linear and non-linear data structures to problem solutions.
 Critically analyze the various sorting algorithms.

TEXT BOOKS:
1. Mark Allen Weiss, ―Data Structures and Algorithm Analysis in C‖, 2nd Edition, Pearson
Education,1997.
2. ReemaThareja, ―Data Structures Using C‖, Second Edition , Oxford University Press, 2011

REFERENCES:
1. Thomas H. Cormen, Charles E. Leiserson, Ronald L.Rivest, Clifford Stein, ―Introduction to
Algorithms", Second Edition, Mcgraw Hill, 2002.
2. Aho, Hopcroft and Ullman, ―Data Structures and Algorithms‖, Pearson Education,1983.
3. Stephen G. Kochan, ―Programming in C‖, 3rd edition, Pearson Education.
4. Ellis Horowitz, SartajSahni, Susan Anderson-Freed, ―Fundamentals of Data Structures in C‖,
Second Edition, University Press, 2008
UNIT I -Linear DataStructures–List
Text and No. of Teaching
Sl.No Topics Reference Lecture Method
book pages Periods BB / OHP / PPT
Abstract Data Types (ADTs)
 Data structure
 Definition
 Types of Data Structure
 Linear Data Structure
1.  Non Linear Data Structure AR1:6-10 1 BB
Applications
 Robust Data Structure
 Storage structure
 Properties of nodes
ADT for Set
ADT for Array
 Store()
 Retrieve()
 Display()
List ADT
 Insert()
 Delete() AR1:8-10,
2.  Find() 209& 1 PPT
 Next() T1:226-227
 Previous()
 Display()
Applications
Ordered collection of items
Linked list application
Array content
Implementation of ADT
 Array implementation
 Similar Data Elements
 Insertion and Deletion
 Overloaded Constructors
 Find and Print
 Memory Space
Implementation of Linked List T1:230-235
 Linked List implementation AR1: 132-
3.  Singly Linked List 138 & 106- 1 PPT
 Basic algorithms 108
 Basic Operations
Applications and Example
 Usage of wide range
 Usage of different
dimensions
 Usage of Stack and Queue
 Hash table creation
 Graph
Singly Linked list
 Procedure for insert
 Procedure for delete
Doubly Linked List
 Procedure for insert
T1:228-229
 Procedure for delete
AR1:108- 1 PPT
Applications
4. 110
 Multiple instances like C
 Stack Overflow
 Design with runtime class
information
 Design with dynamic extension
Circular Linked List
 Procedure for insert
 Procedure for delete
 Syntax with Example
Applications T1:229-230
5. AR1:93- 1 PPT
 MSDN Library
101& 121-
 Development Tools and
122
Languages
 CLanguage and Standard
Libraries
Applications of List
 Polynomial ADT
 Radix sort
 Multi sort
Applications
AR1:227- 1 PPT
6.  Parameter argv of function
246
 Easy access
 To return more than one value
from a function
 To pass as arguments to functions
Splitting a linked List
 Odd ordered linked list
 Even Ordered linked list
7.  Example program
Applications T1: 230-240 1 PPT
 Ordering of elements
 Easy access
 Easy searching process
Polynomial Manipulation
 Addition of two Polynomial
 Multiplication of two polynomial
 Evaluation of two polynomial
8.  Example program
Applications T1: 243-250 1 PPT
 About Coefficient access
 Computation of addition and
multiplication
 Coefficient computation
Array representation in Memory
 Row major Matrix
9.  Column major Matrix
T1: 251-255 1 PPT
Applications
 Row major access
 Column major access
Number of periods allotted for UNIT I 09

UNIT II - Linear Data Structures–Stacks,Queues


Text and No. of
Teaching Method
Sl.No. Topics Reference Lecture
BB / OHP / PPT
book pages Periods
StackADT Handling
 Introduction
 Fundamental operations
AR1:390-
 PUSH and POP 1
1. 400 PPT
 PEEK and TOP
Applications
 Stack Handling operations

Stack using Array


 Stack operations
 Example Program
Real time applications AR1:141-
2. 1 BB
(Content beyond the Syllabus) 145
Applications
 Stack Overflow
 Exclusive Object
Evaluating arithmetic Expressions
 Introduction
 Infix, Postfix, Prefix
 Conversion from Infix to Postfix
AR1:226-
3.  Algorithm for Infix to Postfix 1 PPT
253
 Stack operation
Applications
 Implementing expressions
 Operation evaluation
Queue ADT Handling
 Introduction
 Fundamental operations
4. AR1:82-84 1 BB
Applications
 First in first out – Ration queue
 Billing section
Queue using array
 Introduction
 Queue operations
AR1:155-
5.  Example Program 1 BB
164
Applications
 Queue maintenance
 Operator evaluation in c
Double ended queue
 Insertion algorithm
 Deletion algorithm
AR1:165-
 Searching algorithm
6. 170 & 1 BB
 Sample program
216-217
Applications
 Two holes of queue
 Queue access
Circular Queue
 Insertion algorithm
 Deletion algorithm
 Searching algorithm
7.  Sample program T1:576-577 1 BB
Applications
 Last list circulate to the first
 Access of web access
Linked Queue
 Introduction
 Insertion algorithm
 Deletion algorithm
AR1:182-
8.  Searching algorithm 1 PPT
196
 Sample program
Applications
 .Queue access
 Component access
Priority Queue
 Introduction
 Insertion algorithm
 Deletion algorithm
AR1:197-
9.  Searching algorithm 1 PPT
205
 Sample program
Applications
 .Preference based access
 Object access
Number of periods allotted for UNIT II 09

Unit III - Non Linear Data Structures–Trees


Text and No. of Teaching
Sl.No. Topics Reference Lecture Method
book pages Periods BB / OHP / PPT
Trees ADT
 Defining
 General Form
 Example AR1:209-
1. Applications 210 1 PPT
& 344-349
 Implementation of tree.
 Creating of tree
 Ordered list
Tree traversal
 Root
 Parent node
 Child node
 Leaves
AR1:354-
2.  Degree of node 1 PPT
359
Ordering of components
(Content beyond the Syllabus)
Applications
 Sequence of data access
 Subdivision access
Binary Tree
 Definition
 Complete binary tree
 Left and Skewed tree
Binary tree representation
 Sequential representation
 Linked representation AR1:323-
3. 1 PPT
 Binary Tree Traversal 337
Applications
 Subtree access
 Component access
 Ordering of Elements
 Change of Schedule
Tree Traversal
 Inorder Traversal
 Preorder Traversal
AR1:366-
4.  Post order Traversal 1 PPT
373
Applications
 Separation work allocation
 Scheduling of wok
Binary tree Operations
 Creation
 Insertion
 Display AR1:374-
5. Applications 1 PPT
384
 New work allocation
 Addition of work
 Review of work
Threaded Binary Tree
 Single Threaded
 Double Threaded
 Inorder
T1:520-521
6.  Preorder 1 BB
 Post Order
Applications
 Sequence of element
 Access of element
AVL Tree
T1:567-577
7.  Structure of AVL node 1 BB
 Insertion of AVL node
 Critical node
 Imbalanced node
 Restoring of Balanced node
Applications
 Memory Allocation for
Multithread
 Memory usage Statistics
B-Tree with its implementation
 M-ary Search Tree
 Properties of B-Tree
 Search in B-Tree
 Operations of B-Tree
 Operations of B+ Tree AR1:290-
8. 1 BB
Applications 300
 Accept large volumes of data
 File stream operations
 Blog
 Testimonial
Heap Implementation
 Heap Introduction
 Application of Heap
 Heap representation
 Operations of Heap
 Binomial Heap AR1:301-
9.  Fibonacci Heap 1 BB
315
Applications
 Work with files in Python
 Files in Linux
 File concept in Java
Programming
Number of periods allotted for UNIT III 09

UNIT IV - Non Linear Data Structures- Graphs


Text and No. of
Teaching Method
Sl.No. Topics Reference Lecture
BB / OHP / PPT
book pages Periods
Graph Algorithms
 Definitions
Representation of Graphs
 Directed Graph
 Adjacency list representation
Comparison between Graph and Tree
1.  Types of Graph T2:143-155 1 PPT
 Properties of Graph
 Induction Hypothesis
Applications
 Graph theory
 Mathematical structures
 Implementation of Graph Search
Breadth-first Search
 About BFS
 Algorithm
 Features
 Pseudocode
Applications
 Graph theory
 Prototype for Graph algorithm
2. T2:163-170 1 PPT
 Traversal of a graph
 Tree Traversals
(Content beyond the Syllabus)
Applications
 Extension of Star and bus
topologies
 File Organization
 Brain system Analysis
Connected Components
 Introduction
 Example for DFS
3.  Example for BFS T2: 503-505 1 PPT
Applications
 Traversals Order
 Tree travel
Depth-first Search
 Undirected Graphs
 Biconnectivity
 Euler Circuits
 Directed Graphs
4.  Finding Strong Components T2:505-512 1 PPT
Applications
 Graph Traversals
 Tree travel
 Ordering of tree levels
Biconnectivity
 Biconnected graph
 Not Biconnected graph
 Articulate point
 Example program T2:155-163
5. 1 PPT
Applications & 487-491
 Directed graph
 Directed Acyclic Graph (DAG)
 OS scheduling
Euler Circuit in a Directed Graph
 Introduction
 Directed Graph
 Directed graph G
6.  Graph with a negative- T2:470-475 1 BB
cost cycle
 Unweighted directed
graph G
 Algorithm for Euler
Applications
 Optimization problems
 Real road networks
 Directed and Undirected Graph
Topological Sort
 Acyclic graph representing course
prerequisite structure
 An acyclic graph
 A graph G and its
minimum spanning tree
 Prim’s algorithm after
7. each stage T2:477-487 1 BB
 Initial Configuration of
table
Applications
 Salesman problem
 Euclidean spanning problem
 Networking Topology
Cut Vertex
 Introduction
 Articulation point in a graph
8. Applications T2:303-332 1 PPT
 Discrete Mathematics
 Find the shortest path
 Path reconstruction
Application of graph
 Vertical nodes
 Horizontal nodes
 Analysis of real time applications
9. Applications T2:469-479 1 PPT
 Graph Components
 Self-organizing lists
 Priority queues
Number of periods allotted for UNIT IV 09

UNIT V - Searching, Sorting and Hashing Techniques


Text and No. of
Teaching Method
Sl.No. Topics Reference Lecture
BB / OHP / PPT
book pages Periods
Searching
 Definitions
Linear search
 Introduction
 Operations of searching
1.  Implementation of program T2:328-340 1 PPT
Binary search
 Introduction
 Operations of searching
 Implementation of program
Applications
 Sequential order
 Mathematical structures
 Implementation of Graph Search
 Implementation of Binary graph
Sorting
 About sorting
 Discussion of Algorithm
 Types of Sorting
2. T1:571-580 1 PPT
 Pseudocode
Applications
 Internal and External ordering
 Traversal of a nodes
Bubble sorting
 Introduction
 Algorithm
3.  Example program T2:330-333 1 PPT
Applications
 Bidivisional order
 OS scheduling
Selection Sort
 Introduction
 Algorithm
 Example program
4. Applications T2:356-360 1 PPT
 Salesman problem
 Euclidean spanning problem
 Networking Topology
Insertion sort
 Introduction
5.  Algorithm
 Example program T2:360-362 1 PPT
Applications
 Graph Animation
 Graph theory
Shell sort
 Introduction
 Algorithm
 Example program
6. Applications T1:330-333 1 PPT
 Optimization problems
 Real road networks
 Directed and Undirected Graph
Radix sort
 Introduction
 Algorithm
7.  Example program
Applications T1:340-350 1 PPT
 Discrete Mathematics
 Find the shortest path
 Path reconstruction
Hashingmethods
 Basic operations
 Hash functions
8. Applications T2:339-346 1 PPT
 VLSI Routing System
 Network forward-star structure
 Shortest path finder in network
Collision
 Hashing methods
 Basic operations
 Hash functions
9.  Separate chaining T2:347-350 1 PPT
 Open addressing
Applications
 Collision in chaining order
 Performance of ordering
Number of periods allotted for UNIT V 09

As per Estimated
Unit Deviation Reason for Deviation
Syllabus Periods
I 9 9 - Nil
II 9 9 - Nil
III 9 9 - Nil
IV 9 9 - Nil
V 9 9 - Nil

Total 45 45 -

Staff In-Charge HOD/CSE Principal

You might also like