Professional Documents
Culture Documents
Lecture 1 Basic Concepts Related To DSA
Lecture 1 Basic Concepts Related To DSA
Lecture 1 Basic Concepts Related To DSA
1
Course : Data Structures and
Algorithm
Lecture On : Course Overview,
Basic
EditConcepts
Master text and
stylesNotation
Day – 1
Instructor : Shubham Sharma
2
Today’s Agenda
● Course Overview
● Asymptotic Notations
3
Course Details
• References
• Marks break up
• Attendance 05
• Total 100
Course Outcomes
• Life-long learning: Recognize the need for, and have the preparation
and ability to engage in independent and life-long learning in the
broadest context of technological change.
Program Educational Objectives
• 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
Course Contents
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
Course Contents
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
Course Contents
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
Course Contents
Unit IV:
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
Course Contents
Unit VI:
• Experimental Studies
• Limitations
studies with it
Ways of measuring running time
• Growth Rates
• We focus on growth rate of the running time as a function
of input size “n” (at what rate running time increases with
increasing input size)
Ways of measuring running time
• Simpler
Curves Asymptotes
Asymptotic Notations
• Big O Notation
• Big O Notation
● Asymptotic Notations
35
#LifeKoKaroLift
Thank You!
36