II Semester: CSE / ECE / EEE / IT
Contact Classes: 45
Tutorial Classes: 15
Hours / Week
Practical Classes: Nil
Total Classes: 60
The course should enable the students to:
UNIT - 1
Learn the basic techniques of algorithm analysis.
Demonstrate several searching and sorting algorithms.
Implement linear and non-linear data structures.
Demonstrate various tree and graph traversal algorithms.
Analyze and choose appropriate data structure to solve problems in real world.
INTRODUCTION TO DATA STRUCTURES, SEARCHING AND SORTING
Basic concepts: Introduction to data structures, classification of data structures, operations on
data structures, abstract data type, algorithms, different approaches to design an
algorithm, recursive algorithms; Searching techniques: Linear search, binary search and Fibonacci
search; Sorting techniques: Bubble sort, selection sort, insertion sort, quick sort, merge sort, and
comparison of sorting algorithms.
UNIT - 2
LINEAR DATA STRUCTURES
Stacks: Primitive operations, implementation of stacks using Arrays, applications of stacks
arithmetic expression conversion and evaluation; Queues: Primitive operations; Implementation
of queues using Array, applications of linear queue, circular queue and double ended queue
UNIT - 3
Linked lists: Introduction, singly linked list, representation of a linked list in memory, operations on a
Single linked list; Applications of linked lists: Polynomial representation and sparse matrix
Types of linked lists: Circular linked lists, doubly linked lists; Linked list representation and
operations of Stack, linked list representation and operations of queue.
UNIT - 4
NON LINEAR DATA STRUCTURES
Trees : Basic concept, binary tree, binary tree representation, array and linked representations, binary
tree traversal, binary search tree, tree variants, application of trees; Graphs: Basic concept, graph
terminology, graph implementation, graph traversals, Application of graphs, Priority Queue.
UNIT - 5
BINARY TREES AND HASHING
Binary search trees: Binary search trees, properties and operations; Balanced search trees:
AVL trees; Introduction to M - Way search trees, B trees; Hashing and collision: Introduction,
hash tables, hash functions, collisions, applications of hashing.
LIST OF REFERENCE BOOKS:
1. Y Daniel Liang, “Introduction to Programming using Python”, Pearson.
2. Benjamin Baka, David Julian, “Python Data Structures and Algorithms”, Packt Publishers,2017.
3. Rance D. Necaise, “Data Structures and Algorithms using Python”, Wiley Student Edition.