0% found this document useful (0 votes)
49 views2 pages

Csr123:Data Structures and Algorithms: Session 2022-23 Page:1/2

This document outlines a course on data structures and algorithms. The course aims to help students understand basic data structures like arrays, linked lists, stacks and queues, and use appropriate data structures based on time and space complexity. Students will learn to solve problems involving sorting, searching, and trees and graphs using optimized algorithms. The course covers topics like recursion, complexity analysis, trees, heaps, and graph algorithms through 6 units. Students will implement various data structures and algorithms in practical sessions.

Uploaded by

Arreyan Hamid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views2 pages

Csr123:Data Structures and Algorithms: Session 2022-23 Page:1/2

This document outlines a course on data structures and algorithms. The course aims to help students understand basic data structures like arrays, linked lists, stacks and queues, and use appropriate data structures based on time and space complexity. Students will learn to solve problems involving sorting, searching, and trees and graphs using optimized algorithms. The course covers topics like recursion, complexity analysis, trees, heaps, and graph algorithms through 6 units. Students will implement various data structures and algorithms in practical sessions.

Uploaded by

Arreyan Hamid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

CSR123:DATA STRUCTURES AND ALGORITHMS

L:3 T:0 P:2 Credits:4

Course Outcomes: Through this course students should be able to

CO1 :: understand basic data structures such as arrays, linked lists, stacks and queues

CO2 :: use appropriate data structures focusing space and time complexity for a given problem
specification

CO3 :: use optimized algorithms for solving problems like sorting, searching, insertion and
deletion of data
CO4 :: solve computation problems using trees and graphs

CO5 :: illustrate divide & conquer and greedy algorithms

CO6 :: demonstrate the different programming constructs to solve computational problems

Unit I
Introduction to Data Structures : Course overview, Motivation, Need for data structures,
Understanding the role of data structures for efficient data processing, Classification of data
structures, Abstract Data Type (ADT): Definition, Examples, Introduction to Array ADT, Linked List
ADT: insert, delete, search, types of Linked List, Stack ADT: push, pop, types of Stacks, Queue ADT:
enqueue, deque, Types of Queues, Applications of ADTs, Understanding when to use which data
structure
Unit II
Complexity Analysis : Introduction to Algorithms, Asymptotic analysis: Big-O, Big-Theta, and other
notations, Worst, average, and best-case analysis, Euclid's GCD Algorithm: Basic and Extended
Algorithms, Primality testing: SQRT(N) test, Fermat primality test, Miller Rabin test, Sieve of
Eratosthenes, Sieve of Atkin
Sorting : Selection Sort, Insertion Sort, Bubble Sort, Merge Sort, Quick Sort, Heap Sort, Time
Complexity analysis of Sorting, Counting Sort, Radix Sort, Bucket Sort
Searching : Linear Search, Binary Search, Interpolation Search

Recursion : Iteration vs. Recursion, Design of Recursive Algorithms, Simple Recursion and Recursion
Tree, Types of Recursions, Digit Extraction using Recursion, Factorial using Recursion, Recursion
applications, Tower of Hanoi Problem
Unit III
Tree Data Structures : Binary Tree ADT, Basic terms: Complete BT, Balanced, Unbalanced BT,
Insert, Delete, Traverse, Inorder, Postorder, Preorder, Self-Balancing Binary Tree ADT, AVL Tree, Red
Black Tree, 2-3 Tree, AA Tree, Scapegoat Tree, Splay Tree, Treap, Trie ADT: Applications to String
problems, N-dimensional Tree ADT: B Tree, B+ Tree, Advanced Data Structures ADT: Segment Tree,
Fenwick Tree, Cartesian Tree
Heaps : Heap Data Structures ADT, Min Heap, Max Heap, Priority Heap, Fibonacci Heap

Unit IV
Graph Algorithms : Adjacency Matrix and Adjacency List, Shortest Path Algorithms: Dijkstra's
algorithm, Floyd-Warshall Algorithm, Bellman-Ford Algorithm, Johnson Algorithm, Minimum Spanning
Tree: Kruskal's Algorithm, Boruvka's Algorithm, Prim's Algorithm, Cheriton Tarjan's Algorithm, Graph
Coloring Algorithm: Greedy Algorithm, Welsh Powell Algorithm, Wigderson Algorithm Cut edge, Cut
node
Unit V
Divide & Conquer : Closest Pair of Points, Karatsuba Algorithm, Median of Medians, Meet in Middle
Technique
Greedy Algorithms : Activity Selection Problem, Knapsack problem + variants, Bin Packing problem,
Weighted Job scheduling
Unit VI
Dynamic Programming : Dice Throw Problem, Assembly Line Scheduling, Subset Sum Problem,
Longest Palindromic, Subsequence, Word Break Problem, Word Wrap Problem, Backtracking: 8
Queens Problem, Knight's Tour Problem
Complexity Classes : P class, NP-Complete, NP-Hard, P=NP problem

Session 2022-23 Page:1/2


List of Practicals / Experiments:

Labs Exercise/ Experiments


• Create functions for push and pop operations of stack

• Write a function to convert an infix expression to postfix expression. Pass a one-dimensional


character array P to the function as input (infix exp) and return character array Q (postfix exp). Test
your program for following input P : ( A – (B / C ) * D + E ) * F % G
• Write a function for the evaluation of a given postfix expression. For testing pass the postfix
expression Q of part b and supply following set of values. A = 90, B = 50, C = 2, D = 3, E = 1, F =
2, G = 5
• Write program using functions to implement Mergesort

• Write two different (recursive and non-recursive) functions to implement quick sort

• Write two different (recursive and non-recursive) functions to solve towers of Hanoi

• Implement Heap Sort

• Write a program to print all permutations of a given string

• A string-matching exercise

Text Books:
1. DATA STRUCTURES USING C by AARON M. TENENBAUM, Y. LANGSAM AND M. J.
AUGENSTEIN, Pearson Education India
References:
1. FUNDAMENTALS OF DATA STRUCTURES IN C by HOROWITZ, SAHNI AND ANDERSON-
FREED, UNIVERSITIES PRESS PVT. LTD

Session 2022-23 Page:2/2

You might also like