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

Syllabus

This document outlines the course CSE228: Data Structures. The course aims to teach students how to analyze algorithm efficiency using asymptotic notations, illustrate the importance of queues in problem solving, differentiate between HashTables and HashMaps, identify appropriate data structures like HashSets and trees for problems, and analyze the effectiveness of priority queues and heaps. The course covers stacks, queues, hash tables, hash maps, hash sets, binary trees, binary search trees, priority queues, heaps, and graphs through both theory and practical sessions. Key textbooks and references are also listed.

Uploaded by

Pulkit Narsaria
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)
38 views2 pages

Syllabus

This document outlines the course CSE228: Data Structures. The course aims to teach students how to analyze algorithm efficiency using asymptotic notations, illustrate the importance of queues in problem solving, differentiate between HashTables and HashMaps, identify appropriate data structures like HashSets and trees for problems, and analyze the effectiveness of priority queues and heaps. The course covers stacks, queues, hash tables, hash maps, hash sets, binary trees, binary search trees, priority queues, heaps, and graphs through both theory and practical sessions. Key textbooks and references are also listed.

Uploaded by

Pulkit Narsaria
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

CSE228:DATA STRUCTURES

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

Course Outcomes: Through this course students should be able to

CO1 :: describe the process to find efficiency of algorithms using asymptotic notations

CO2 :: illustrate the importance of Queue in context of problems solving

CO3 :: differentiate the HashTable and HashMap in context of writing efficient program

CO4 :: identify the appropriateness of HashSet and tree in problem solving

CO5 :: analyze the effectiveness of Priority queue and Heap Data Structures

CO6 :: use of Graph and various techniques in real world problem solving

Unit I
Introduction : Basic Data Structures, Basic Concepts and Notations, Complexity analysis: time space
and trade off, Omega Notation, Theta Notation, Big O notation
Stacks : Introduction to Stacks, Parenthesis matching problem using Stacks, Implementing a stack,
Industry demonstration: File versioning system
Unit II
Queues : Introduction to Queues, Ticket booking system using Queues, implement a stack using two
queues, implement a stack using one queue, Palindromic string problem, Duplicate parenthesis
problem, Reversing a stack problem, Kth largest element problem
Unit III
HashTables : Design and performance analysis of hash tables, Hash functions and hashing, Collision
in hash tables, how to check if a given hash function is good or bad, Implementation of a dictionary
(phone book) using a hash table
HashMaps : Introduction to the HashMaps, Find Symmetric Pairs problem, First Unique Character
problem
Unit IV
HashSets : Introduction to the HashSets, Array of Contiguous Integers problem, Pair with a Given
Sum problem, Itinerary From all Tickets problem, Match Locks and Keys problem
Binary Trees : Title problem: Runway Reservation, Linear vs non-Linear data structures, Trees &
Binary Trees, Properties, Types & Representation of binary trees, Tree Traversal: DFS & BFS,
Mirroring a tree problem, Spiral order traversal of a tree
Binary Search Trees : Introduction to the Binary Search Trees, Searching, Insertion & Deletion in a
BST, Lowest common ancestor problem, Balanced BSTs, Solution of the Title Problem
Unit V
Priority Queues : Introduction to the Priority queues with example, Priority queues ADT,
Implementation of priority queues using LinkedList and ArrayList
Heaps : Introduction to the Heaps, Basic operations performed on heaps, Sorting, Merge k sorted
linked list problem, Median of stream of integers problem
Unit VI
Graphs and Graph Algorithms : Depth-First Search, Breadth-First Search, Edge list, Adjacency
matrix, Adjacency list, Dijkstra’s algorithm, Application of graphs in real life

List of Practicals / Experiments:

Stacks and Queues


• Program to sort a stack using recursion

• Program to delete middle element of a stack

• Solving the parenthesis matching problem using stacks

• Program to implement operations in Queue:a. Reversing a Queue using recursionb. Check if a queue
can be sorted into another queue using a stack

Session 2022-23 Page:1/2


HashMap
• Program to find the length of the longest subarray with sum equal to zero.

• Program to find First unique character

Binary Trees and BSTs


• Program to check if a binary tree is BST or not.

• Program to Spiral level order traversal

Priority Queues and Heaps


• Program to convert a min heap to max heap.

• Implementation of a complete binary tree.

Graph and Graph Algorithm


• Program to check whether a directed graph contains a cycle or not.

• To Count the total number of ways or paths that exist between two vertices in a directed graph.

Text Books:
1. DATA STRUCTURES AND ALGORITHMS by ALFRED V. AHO, JEFFREY D. ULLMAN AND JOHN
E. HOPCROFT, PEARSON, PEARSON
References:
1. DATA STRUCTURES AND ALGORITHMS IN JAVA by MICHAEL T. GOODRICH AND ROBERTO
TAMASSIA, JOHN WILEY & SONS

Session 2022-23 Page:2/2

You might also like