Introduction about the Course
BCSE202L Data Structures and Algorithms
Session #1
Dr. T. JOSHVA DEVADAS
Associate professor
Department of Analytics
School of Computer Science and Engineering (SCOPE)
Vellore Institute of Technology (VIT)
Vellore
Contact Information
SJT Annex (WTP) 103 F
Office Cabin:
Email:
[email protected] Mobile Number: 97895 60120
Open Hours:
Monday: 10:00 am to 11:00 am
Wednesday: 11:00 am to 12:00 Noon
2 February 7, 2025
BCSE202L Data Structures and
Algorithms
LTPJ C
3000 3
Programming forms the core of Computer Science and Engineering . A course on “Data
structures and Algorithms‟ stresses much on effective programming than focusing on the syntax
/ semantics of any programming language. In other words, this course views the problem solving
not just as solving the problem somehow but about solving the problem in the most efficient
way. Choice of an appropriate data structure and an appropriate algorithmic technique greatly
influences the characteristics of the obtained solution such as performance, space requirements
, scalability, reuse, robustness etc.
3 February 7, 2025
Objective
1. To impart basic concepts of data
structures and algorithms.
2. To differentiate linear, non-linear data
structures and their operations.
3. To comprehend the necessity of time
complexity in algorithms..
4 February 7, 2025
Expected Course
Outcome
On completion of this course, students should be able to:
1. Understand the fundamental analysis and time
complexity for a given problem.
2. Articulate linear, non-linear data structures and legal
operations permitted on them.
3. Identify and apply suitable algorithms for searching and
sorting.
4. Discover various tree and graph traversals.
5. Explicate hashing, heaps and AVL trees and realize
their applications.
5 February 7, 2025
Data Structures
Primitive DS Non-Primitive DS
Int
float Linear( Sequential) Non Linear
(Random)
char
Double
Pointer Arrays List Stack Queue Trees Graph
Single LL Double LL Circular LL Binary Binary
Tree Search Tree
6 February 7, 2025
7 February 7, 2025
Operations
Sorting
Searching
Insertion
Deletion
Updating
8 February 7, 2025
Modules
Algorithms and Analysis
Importance of algorithms and data structures -
Fundamentals of algorithm analysis: Space and time
complexity of an algorithm, Types of asymptotic notations
and orders of growth - Algorithm efficiency – best case,
worst case, average case - Analysis of non-recursive and
recursive algorithms - Asymptotic analysis for recurrence
relation: Iteration Method, Substitution Method, Master
Method and Recursive Tree Method.
9 February 7, 2025
Linear Data Structures
Arrays: 1D and 2D array- Stack - Applications of stack:
Expression Evaluation, Conversion of Infix to postfix
and prefix expression, Tower of Hanoi – Queue - Types
of Queue: Circular Queue, Double Ended Queue
(deQueue) - Applications – List: Singly linked lists,
Doubly linked lists, Circular linked lists- Applications:
Polynomial Manipulation.
Searching and Sorting
Searching:
Linear Search and binary search – Applications.
Sorting: Insertion sort, Selection sort, Bubble sort,
Counting sort, Quick sort, Merge sort - Analysis of
10
sorting algorithms. February 7, 2025
Non-linear Data Structures - Trees
Introduction - Binary Tree: Definition and Properties - Tree
Traversals- Expression Trees:- Binary Search Trees -
Operations in BST: insertion, deletion, finding min and max,
finding the kth minimum element.
Non-linear Data Structures - Graphs
Terminology – Representation of Graph – Graph Traversal:
Breadth First Search (BFS), Depth First Search (DFS) -
Minimum Spanning Tree: Prim's, Kruskal's - Single Source
Shortest Path: Dijkstra’s Algorithm.
Hashing
Hash functions - Separate chaining - Open hashing: Linear
probing, Quadratic probing, Double hashing - Closed hashing -
Random probing – Rehashing - Extendible hashing.
11 February 7, 2025
Heaps and Balanced Binary
Search Trees (AVL Trees)
Heaps - Heap sort- Applications -Priority Queue using
Heaps. AVL trees: Terminology, basic operations (rotation,
insertion and deletion).
Contemporary Issues
Recent trends in algorithms and data structures
Text Book
Mark A. Weiss,Data Structures & Algorithm Analysis in
C++, 4th edition, 2013, PEARSON education
12 February 7, 2025
Reference Books
1. Alfred V. Aho, Jeffrey D. Ullman and John E. Hopcroft,
Data Structures and Algorithms, 1983, Pearson Education.
2. Horowitz, Sahni, and S. Anderson-Freed ,
Fundamentals of Data Structures in C UNIVERSITIES
PRESS,Second Edition,2008.
3. Thomas H. Cormen, C.E. Leiserson, R L. Rivest and C.
Stein, Introduction to Algorithms, 2009, 3rd Edition, MIT
Press.
13 February 7, 2025
BCSE202P Data Structures and
Algorithms
LTPJ C
0020 1
Programming forms the core of Computer Science and Engineering . A course on “Data
structures and Algorithms‟ stresses much on effective programming than focusing on the syntax
/ semantics of any programming language. In other words, this course views the problem solving
not just as solving the problem somehow but about solving the problem in the most efficient
way. Choice of an appropriate data structure and an appropriate algorithmic technique greatly
influences the characteristics of the obtained solution such as performance, space requirements
, scalability, reuse, robustness etc.
14 February 7, 2025
Course Objectives
1. To impart basic concepts of data structures
and algorithms.
2. To differentiate linear, non-linear data
structures and their operations.
3. To comprehend the necessity of time
complexity in algorithms.
Course Outcomes
On completion of this course, students should be
able to:
1. Apply appropriate data structures to find
solutions
15
to practical problems. February 7, 2025
2. Identify suitable algorithms for solving the
Indicative Experiments
1. Implementation of stack data structure and its applications
2. Implementation of queue data structure and its applications
3. Implementation linked list and its application
4. Implementation of searching algorithms
5. Implementation of sorting algorithms
6. Binary Tree Traversal implementation
7. Binary Search Tree implementation
8. Graph Traversal – Depth First Search and Breadth First
Search algorithm
9. Minimum Spanning Tree – Prim’s and Kruskal’s algorithm
10. Single Source Shortest Path Algorithm - Dijkstra’s
algorithm
16 February 7, 2025
Assessment Methods
CAT1
CAT2
QUIZ 1 (Moodle) [NEXT Week after CAT1 EXAM]
QUIZ 2 (Moodle) [NEXT Week after CAT2 EXAM]
Digital Assignment 1(Moodle)
Final Assessment Test (FAT)
Contact Information
SJT ANNEX (WTP) 103 F
Office Cabin:
Email:
[email protected] Mobile Number: 97895 60120
Open Hours:
Monday: 10:00AM to 11:00 AM
Wednesday: 11:00AM to 12:00Noon
18 February 7, 2025