0% found this document useful (0 votes)
109 views31 pages

Test PDF

The document outlines an upgrade plan for a CIP (Course Improvement Plan). It will reshuffle the data structure basics and advanced sections to better categorize problems and videos. It will also add new content to the libraries section on C++ STL and Java collections to make the course more comprehensive and efficient. The updated course structure and content are highlighted in yellow.

Uploaded by

kimado9049
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)
109 views31 pages

Test PDF

The document outlines an upgrade plan for a CIP (Course Improvement Plan). It will reshuffle the data structure basics and advanced sections to better categorize problems and videos. It will also add new content to the libraries section on C++ STL and Java collections to make the course more comprehensive and efficient. The updated course structure and content are highlighted in yellow.

Uploaded by

kimado9049
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/ 31

CIP UPGRADE PLAN

Take a look at how the updated sections of the


course would look like:
DATA STRUCTURE (basic) and DATA STRUCTURE (advanced) will be
reshuffled to make the problems and videos fall into its respective category.
The LIBRARIES (c++ stl and Java Collections) will contain fresh addition of
new content to make the course more holistic and efficient. The new topics
are highlighted in YELLOW.

Categories Sub Categories Tracks Content

Growth of functions

Asymptotic Notations
Analysis of Omega, Theta,
Algorithms
Recursion Tree Method

Space Complexity

Insertion, Deletion,
Updation, Shifting
Arrays
Reversal, Sort Check,
Maximum, Minimum
Data Structure
(Basics) Introduction to
Recursion

Tail Recursion

Natural Number Check


Using Recursion
Recursion
Palindrome Check
Using Recursion

Sum of Digits, Rod


Cutting and Subsets

Tower of Hanoi
Categories Sub Categories Tracks Content

Introduction to
Hashing

Direct Address Table

Collision Handling

Hashing Chaining

Open Addressing

Double Hashing

Chaining Vs Open
Addressing

String Introduction to String

Linear Search
Searching
Binary Search
(Iterative and Recursive)
Data Structure Stability in Sorting
(Basics) Algorithm

Bubble Sort

Selection Sort

Insertion Sort

Quick Sort

Different Partition
Sorting Schemes in QuickSort

Merge Sort

Lomuto Partition

Hoare Partition

Heap Sort

Counting Sort
Categories Sub Categories Tracks Content

Radix Sort
Sorting
Bucket Sort

Drawback of Arrays

Introduction to
Linked List and
Implementation

Traversal, Insertion and


Deletion
Linked List Sorted Insertion in
Linked List

Reversal of Linked List


(Iterative and Recursive)

Finding Middle

Remove Duplicate from


Sorted Linked List
Data Structure
(Basics) Traversal

Circular Linked Insertion (Head, End)


List
Deletion (Head, Kth
Node)

Traversal

Insertion (Head, End)

Doubly Linked Deletion (Head, End)


List
Reversal

Circular Doubly Linked


List

Introduction to Stack
Data Structure
Stack
Implement using
array
Categories Sub Categories Tracks Content

Implementation using
Linked List
Stack
Stack Applications

Introduction to Queue
Data Structure

Implementation using
Queue
array

Implementation using
Linked List.

Introduction to Deque
Data Structure.

Implementations using
Deque
Array

Implementation using
Linked List

Implementation
Data Structure
(Basics) Traversals: preorder,
postorder, inorder,
level order (Iterative &
Tree Recursive)

Binary Tree: Height,


Size, Maximum

Print Nodes at
K Distance

Implementation

Search

Insertion

BST Deletion

Floor and Ceil in BST in


CPP and Java

Self Balancing BST


Categories Sub Categories Tracks Content

AVL Tree (Introduction


and applications)

Red-Black Tree
BST (Introduction and
applications)

Applications of BST
Data Structure
(Basics) Implementation

Insert

Heap Heapify and Extract in


Heap

Decrease Key, Delete


and Build Heap

Introduction and
Application

Iterators

Introduction to STL Templates

Function Templates

Class Templates

Introduction

Problem (With Video


Libraries C++ STL Solutions): Sorting an
array according to
another array

Practice Problems
Pairs in CPP STL
This track contains
many practice
problems for the users
which are considered
important and must-do
as far as Data Structure
and Algorithm is
concerned.
Categories Sub Categories Tracks Content

Introduction

Vector Declaration

More functions of
Vectors

Time Complexities of
different operations
and passing Vectors to
Vectors in
function
CPP STL
Internal Working of
Vectors

Problems
(With Video Solutions):
Vector and Vector of
Pairs Keeping track of
previous indexes after
sorting a Vector

Forward List in C++ STL


Libraries C++ STL
List in C++ STL

Problems
(With Video Solutions):
Josephus Problem
using List in STL Design
a Data Structure with
Insert/Replace/Print
operations
Forward_list
and list

Practice Problems
This track contains
many practice
problems for the users
which are considered
important and must-do
as far as Data Structure
and Algorithm is
concerned.
Categories Sub Categories Tracks Content

Introduction

Problems
(With Video Solutions):
Sliding Window
Maximum Design a
Data Structure with
Min/Max operations in
O(1) time
Deque
Practice Problems
This track contains
many practice
problems for the users
which are considered
important and must-do
as far as Data Structure
and Algorithm is
concerned.

Introduction and
Various Operations
Libraries C++ STL
push()
pop()
top()
size()
empty()

Problem
(With Video Solutions):
Stack
Reverse items using
Stack
Balanced Parenthesis
Stock Span Problem
Previous Greater
Elements
Next Greater Elements
Categories Sub Categories Tracks Content

Practice Problems
This track contains
many practice
problems for the users
Stack which are considered
important and must-do
as far as Data Structure
and Algorithm is
concerned.

Introduction and
Various Operations
push()
pop()
front()
back()
empty()
size()

Problems
(With Video Solutions):
Libraries C++ STL Queue
Reverse first K items in
a Queue

Practice Problems
This track contains
many practice
problems for the users
which are considered
important and must-do
as far as Data Structure
and Algorithm is
concerned.

Introduction and
Various Operations
push()
pop()
Priority Queue top()
empty()
size()
Creating Min Heap
based Priority Queue
Categories Sub Categories Tracks Content

Practice Problems
(With Video Solutions):
Sort an array using
Priority Queue K
Largest Elements in an
array Buy maximum
items with given
money Find K most
frequent elements
Priority Queue
Practice Problems
This track contains
many practice
problems for the users
which are considered
important and must-do
as far as Data Structure
and Algorithm is
concerned.

Set in C++ STL


Introduction and
Libraries C++ STL Implementation

insert()
begin()
end()
rbegin()
rend()
erase()
clear()
Set & MultiSet find()

Internal Working
Time Complexities
Categories Sub Categories Tracks Content

Practice Problems
(With Video Solutions):
Design a Data
Structure that supports
the below operations:
insert()
delete()
search()
getFloor()
getCeiling()
Set & MultiSet

Multiset in C++ STL


with few operations

Practice Problems
This track contains
many practice
problems for the users
which are considered
Libraries C++ STL important and must-do
as far as Data Structure
and Algorithm is
concerned.

Introduction to Map

insert()
operator()
size()
empty()
clear()

Map and begin()


MultiMap end()

Internal Working
Time Complexities
Categories Sub Categories Tracks Content

Problem:
Design a data structure
for item prices. The
operations are add(),
find(), findGreater(),
findSmaller() and
printSorted()
Count greater elements
for every array element.

Multimap in C++ STL


with few functional
operations

Practice Problems
(With Video Solutions):
Design a Data
Structure for prices
with duplicates
allowed. The operations
are add(), find(),
findGreater(),
Map and findSmaller() and
Libraries C++ STL
MultiMap printSorted

Practice Problems
This track contains
many practice
problems for the users
which are considered
important and must-do
as far as Data Structure
and Algorithm is
concerned.
Categories Sub Categories Tracks Content

Introduction to Set

insert()
begin()
size()
end()
clear()
find()

Internal Working
Time Complexities

Practice Problems
Unordered_set (With Video Solutions):
Print Unique Elements
of Array Print duplicate
elements of the array

Practice Problems
This track contains
many practice
Libraries C++ STL
problems for the users
which are considered
important and must-do
as far as Data Structure
and Algorithm is
concerned.

Introduction

Practice Problems
(With Video Solutions):
Design a DS for storing
user balance Find
Winner of Election
Unordered_Map
Practice Problems
This track contains many
practice problems for the
users which are considered
important and must-do
as far as Data Structure
and Algorithm is concerned.
Categories Sub Categories Tracks Content

Explanation along with


Time Complexities of

max_element()
min_element()
accumulate()
count()
find()
binary_search()
lower_bound()
upper_bound()
Non Mutating rotate()
STL Algorithms fill()
is_permutation()
rand()

Practice Problems
This track contains
many practice
Libraries C++ STL problems for the users
which are considered
important and must-do
as far as Data Structure
and Algorithm is
concerned.

Explanation along with


Time Complexities of
sort()
reverse()
next_permutation()
prev_permutation()
Mutating STL make_heap()
Algorithm merge()
Categories Sub Categories Tracks Content

Practice Problems
(With Video Solutions):
The Thief problem
Fractional knapsack
problem Chocolate
Distribution problem
Sort array elements by
frequency
Mutating STL
C++ STL
Algorithm Practice Problems
This track contains
many practice
problems for the users
which are considered
important and must-do
as far as Data Structure
and Algorithm is
concerned.

Introduction to Java
Collections Framework

Libraries Collections hierarchy

Generics

Wildcards

toArray() Methods

Collections Interface
Java Collections
Collections Overview Iterators

Collections Bulk
operations

Iterating through
Collections

Introduction to
Lambda Expressions
Java Lambda and ways to use them
Expressions Introduction to Method
References and
examples
Categories Sub Categories Tracks Content

Syntax of Lambda
Expressions
Java Lambda
Expressions Practice Problems
Practice problems on
Lambda Expressions

Introduction to Streams
in Java

Various Applications of
Streams

The Stream hierarchy


Java Streams and methods

Examples on Streams

Practice Problems
Practice problems on
Streams

Introduction to List
Java Interface
Libraries
Collections
Using List Iterator

Introduction to
ArrayLists

Implementation

ArrayList Methods

Traversal
ArrayList
Problems with video
explanation
List of smaller elements

Practice Problems
Practice problems on
implementation,
iterator, methods, and
using ArrayList to solve
dsa problems
Categories Sub Categories Tracks Content

Introduction and
implementation of
LinkedList in Java

Problems with video


explanation
Josephus Problem
using LinkedList Design
a DS for remove and
Linked List prin

Practice Problems
Practice problems on
implementation,
traversal, and use of
LinkedList

Introduction to Stack

Implementation

Java Methods
Libraries
Collections
Traversal

Problems with video


explanation
Reverse order of items
Stack Check for balanced
parentheses Stock span
Previous greater
element Next greater
element

Practice Problems
Practice problems on
implementation,
methods, and using
Stacks to solve dsa
problems

Introduction to Queue
Queue
Interface
Categories Sub Categories Tracks Content

Implementation and
usage

Methods

Traversal

Problems with video


explanation
Queue
Reverse first k items

Practice Problems
Practice problems on
implementation,
methods, and using
Queue to solve dsa
problems

Introduction to Deque

Implementation and
usage
Java
Libraries
Collections ArrayDeque

Methods
Deque
Traversal

Practice Problems
Practice problems on
implementation,
methods, and using
Queue to solve dsa
problems

Introduction to
PriorityQueue

Implementation and
usage
PriorityQueue
Methods

Traversal
Categories Sub Categories Tracks Content

Problems with video


explanation
Purchasing maximum
items
K largest elements
Find k most frequent

PriorityQueue Find k most frequent


in Linear time

Practice Problems
Practice problems on
implementation,
methods, and using
PriorityQueue to solve
dsa problem

Introduction to HashSet

Introduction to
LinkedHashSet
Java Implementation and
Libraries
Collections usage

Methods

Traversal
HashSet and
LinkedHashSet Problems with video
explanation
Print distinct elements
Print repeating element

Practice Problems
Practice problems on
implementation,
methods, and using
HashSet to solve dsa
problems

Introduction to TreeSet

TreeSet Implementation and


usage
Categories Sub Categories Tracks Content

Methods

Traversal

Problems with video


explanation
Ceiling on right
Count greater element
TreeSet
Practice Problems
Practice problems on
implementation,
methods, and using
TreeSet to solve dsa
problems

Introduction to
HashMap

Introduction to
LinkedHashMap

Java Implementation
Libraries and usage
Collections
Methods

HashMap and Traversal


LinkedHashMap
Problems with video
explanation
DS for balance
Print frequencies in order

Practice Problems
Practice problems on
implementation,
methods, and using
HashMap to solve dsa
problems

Introduction to TreeMap

TreeMap Implementation and


usage
Categories Sub Categories Tracks Content

Problems with video


explanation
Design a data structure
for item prices
Design a data structure
for item prices with
duplicates allowed
TreeMap

Practice Problems
Practice problems on
implementation,
methods, and using
TreeMap to solve
dsa problem

Introduction to Strings

Introduction to
StringBuilder and
StringBuffer

Java Implementation and


Libraries usage
Collections
Methods

Traversal
String
Problems with video
explanation
Pangram checking
Pattern searching
Find one extra character

Practice Problems
Practice problems on
implementation,
methods, and using
Strings to solve dsa
problems

Introduction to
Comparator and Comparable Interface
Comparable Introduction to
Comparator Interface
Categories Sub Categories Tracks Content

Methods of Comparator
Interface and Examples
on it
Comparator and
Comparable Practice Problems
Practice problems on
using Comparator to
sort effectively

Introduction to Arrays
and the Arrays Class

Implementation and
usage

Methods liket
fill()
BinarySearch()
equals()
Arrays Class mismatch()
compare()
Java asList()
Libraries
Collections toString()

Traversal

Practice Problems
Practice problems on
implementation and
method

Introduction to
Collections Class

Methods like
fill(), reverse(),
binarySearch(), max(),
min(), frequency()
Collections Class
Practice Problems
Practice problems on
methods
Categories Sub Categories Tracks Content

Introduction to sorting
in Java

Arrays.sort()

Collections.sort()

Comparable Interface

Problems with video


explanation
The thief problem
Chocolate distribution
problem
Java
Sorting Keep indices after
Collections
sorting
Sort an array according
to other
Sort students by marks
Sort elements by
frequency
Libraries Sort elements by
frequency in Linear Time

Practice problems on
various sorting
algorithms, and
comparator sort

Count Digits

Palindrome Numbers

Factorial of Numbers

GCD of Two Numbers


Mathematics
LCM of Two Numbers

Check for Prime

Prime Factors

Sieve of Eratosthenes
Categories Sub Categories Tracks Content

Mathematics Computing Power

Josephus Problem
Recursion
Subset Sum Problem

Kadane’s Algorithm

Shuffling Algorithms

Sliding Window

Arrays Prefix Sum Technique

Video Solutions for


some standard and
complex problems

More Problems for


Practice.

Multidimensional Array
in CPP and Java
Libraries
Search, Transpose and
Rotate

Pattern Traversal: Snake,


Matrix Spiral, Boundary

Video Solutions for


some standard and
complex problems

More Problems for


Practice.

Two Pointer Approach

Video Solutions for


Searching some standard and
complex problems

More Problems for


Practice.

Union And Intersection


Sorting of Sorted Arrays
Categories Sub Categories Tracks Content

Inversions Count

Tail Call elimination


Quick Sort

Cycle Sort

Merge of Overlapping
Intervals
Sorting
Overview of Sorting
Algorithms

Video Solutions for


some standard and
complex problems

More Problems for


Practice.

Double Hashing

Find frequencies of
array
Libraries
Count Distinct element
in Every Window

Intersection and Union


via Hashing

Frequencies of Array
Elements

Hashing Distinct Elements in


Window

Counting Occurences

Check for a Pair with


given Sum

Longest Consecutive
Subsequence
Subsequence
Problems

Subarray Problems
Categories Sub Categories Tracks Content

Video Solutions for


some standard and
Hashing complex problems

More Problems for


Practice.

Creation, Updation

Reverse, Pangram,
Case conversion

Validation, Length

Palindrome Check

Overview of Pattern
Searching

Pattern Matching
Algorithms:
Strings
Rabin Karp Algorithm
KMP Algorithm
Libraries
Rotations Check of
two Strings

Anagram

Video Solutions for


some standard and
complex problems

More Problems for


Practice.

Doubly Linked List

Circular Linked List

Loop in Linked List


Linked List (Detection and
Removal)

Loop Detection
Algorithms
Categories Sub Categories Tracks Content

Union and Intersection


of LinkedLists

Reverse in Groups

LRU Cache Design

Linked List Palindrome LinkedList

Video Solutions for


some standard and
complex problems

More Problems for


Practice.

Infix, Postfix, Prefix


(Introduction)

Infix to PostFi
(Simple Solution)

Infix to PostFix
(Efficient Solution)
Libraries
Evaluation of Postfix

Infix to PostFi
(Simple Solution)

Infix to PostFix
(Efficient Solution)
Stack
Evaluation of Postfix

Implementing Two
Stacks in Single Array

Implementing K stacks
in Single Array

Largest Rectangular
Area in Histogram

Design a Stack that


supports getMin()
operation
Categories Sub Categories Tracks Content

Video Solutions for


some standard and
Stack complex problems

More Problems for


Practice.

Line By Line Level


Order Traversal

Printing Left, Right, Top


and Bottom Views

Binary Tree to Doubly


Linked List

Binary Tree from


Inorder and Postorder
Traversal

Maximum Width

Child Sum Property

Libraries Convert Binary Tree to


Doubly LinkedList
Tree
Burning a Tree from
Leaf

Diameter

LCA

Serialize and
Deserialize

Count Nodes in
Complete Binary Tree

Video Solutions for


some standard and
complex problems

More Problems for


Practice.

Binary Search Tree Top View


Categories Sub Categories Tracks Content

Bottom View

Vertical Sum

Vertical Traversal

Fix BST With Two Nodes


Swapped
Binary Search Tree
Check For BST

Video Solutions for


some standard and
complex problems

More Problems for


Practice.

Heap Sort

Video Solutions for


Heap some standard and
complex problems
Libraries
More Problems for
Practice.

Graph Representation:
Adjacency List

Adjacency List
Implementation in CPP

Adjacency List
Implementation in Java

Adjacency List and


Graph Matrix Comparison

Breadth First Search


and application

Depth First Search and


application

Detect Cycle in
Undirected Graph
Categories Sub Categories Tracks Content

Detect Cycle in Directed


Graph

Topological Sorting

Shortest Path Problems

Prim's Algorithm
Graph Introduction and
Implementation in CPP
and Java

Dijkstra’s Algorithm
Introduction and
Implementation in CPP
and Java

Bellman Ford Algorithm

Kosaraju’s Algorithm

Articulation Point

Libraries Bridges in Graph

Tarjan’s Algorithm

Video Solutions for


some standard and
complex problems

More Problems for


Practice.

Introduction

Activity Selection
Problem in CPP and
Java

Greedy Algorithm Fractional Knapsack


in CPP and Java

Job Sequencing
Problem
Categories Sub Categories Tracks Content

Video Solutions for


some standard and
Greedy Algorithm complex problems

More Problems for


Practice.

Concept of
Backtracking

Problems: Rat In Maze,


BackTracking
N Queen, Sudoku

More Problems for


Practice.

Introduction

Memoization

Tabulation

LCS and its variations


Libraries
Coin Change

KnapSack

LIS and its variations

Dynamic Egg Drop Puzzle


Programming
Subset Sum

Matrix Chain
Multiplication

Palindrome Partitioning

Video Solutions for


some standard and
complex problems

More Problems for


Practice.
Categories Sub Categories Tracks Content

Introduction

Insert, Search, Delete

Trie Video Solutions for


some standard and
complex problems

More Problems for


Practice.

Introduction

Construction

Segment Tree Range and Update


Query

More Problems for


Practice.

Introduction

Libraries Union-Find

Union By Rank

Path Compression

Kruskal’s Algorithm

More Problems for


Practice.
Disjoint-Set

You might also like