Live Class

Learn about Recursive Functions, linear and non-linear data structures such as Hash Tables and Heap. Learn how to solve complex problems using backtracking algorithms, divide and conquer algorithms, greedy algorithms, and dynamic programming.

Shareable Certificate

Earn a Certificate upon completion100% Online Live Class

Mentor driven live classesInstant Doubt Resolution

Get your doubt clarified instantlyPractice Material

Get Notebook to revise, practice, test yourself and interact with mentorGoal - Competitive Programming - C++#### Competitive Programming

##### PREREQUISITE KNOWLEDGE

- Learn how to create a recursive function, and how it works.
- Instead of creating queues, stacks every time, learn how to use them from STL (Standard Template Library)
- Learn more linear (Hash Tables) and non-linear (Heaps) data structures, where and when to use them
- Learn how to solve complex problems using backtracking algorithms, divide and conquer algorithms, greedy algorithms and dynamic programming.

- Laptop with good internet connection
- Introduction to C++

To be Announced

Not Scheduled | 60 min

Function Calls and Stacks, Recursion, Complexity of a recursive algorithm, Tree Traversal using Recursion, Templates in C++, Standard Template Library (STL), STL - Containers (Vectors, Deque, List), STL - Algorithms (sort, binary_search).

Not Scheduled | 60 min

Introduction to Backtracking, Types of problems, Backtracking Problem Identification, Applications of Backtracking, Recursive Backtracking, Iterative Backtracking, n-Queen Problem using backtracking, Sudoko using backtracking.

Not Scheduled | 60 min

Introduction to Divide and Conquer, Steps in Divide and Conquer Algorithm, Divide and Conquer Examples, Merge Sort, Quick Sort, Comparison of Merge, Quick Sort.

Not Scheduled | 60 min

Insert, Search, Delete time complexities Comparision, Introduction to Hash Table, Hash function, Hash function Applications, Hash Table (Insertion, Search, Deletion), Collisions in Hash Table, Chaining, Open Addressing, Linear Probing, Quadratic Probing, Double Hashing, Hash Table from STL.

Not Scheduled | 60 min

Introduction to Heap, Applications of Heaps, Heapify Function, Heap Sort, Priority Queue, Heaps from STL.

Not Scheduled | 60 min

Introduction to Greedy Algorithm, Steps to achieve Greedy Algorithm, Properties required for the Greedy Algorithm, When to use Greedy Algorithm, Applications of Greedy Algorithm, Fractional Knapsack Problem, Shortest path between two nodes, Dijkstra's Algorithm, Complexity Analysis of Dijkstra's Algorithm.

Not Scheduled | 60 min

Introduction to Dynamic Programming, Memoization, Tabulation, Memoization vs Tabulation, Fibonacci using Recursion, Fibonacci using DP (Memoization), Fibonacci using DP (Tabulation), Introduction of Longest Common Subsequence (LCS) Problem, LCS - Brute Force Solution, LCS - DP Solution.

Not Scheduled | 60 min

Knapsack Problem, Fractional Knapsack Problem, 0/1 Knapsack Problem, 0/1 Knapsack Problem - Brute Force Solution, 0/1 Knapsack Problem - DP Solution (Memoization), 0/1 Knapsack Problem - DP Solution (Tabulation), Complexity Analysis.

Function Calls and Stacks, Recursion, Complexity of a recursive algorithm, Tree Traversal using Recursion, Templates in C++, Standard Template Library (STL), STL - Containers (Vectors, Deque, List), STL - Algorithms (sort, binary_search).

Introduction to Backtracking, Types of problems, Backtracking Problem Identification, Applications of Backtracking, Recursive Backtracking, Iterative Backtracking, n-Queen Problem using backtracking, Sudoko using backtracking.

Introduction to Divide and Conquer, Steps in Divide and Conquer Algorithm, Divide and Conquer Examples, Merge Sort, Quick Sort, Comparison of Merge, Quick Sort.

Insert, Search, Delete time complexities Comparision, Introduction to Hash Table, Hash function, Hash function Applications, Hash Table (Insertion, Search, Deletion), Collisions in Hash Table, Chaining, Open Addressing, Linear Probing, Quadratic Probing, Double Hashing, Hash Table from STL.

Introduction to Heap, Applications of Heaps, Heapify Function, Heap Sort, Priority Queue, Heaps from STL.

Introduction to Greedy Algorithm, Steps to achieve Greedy Algorithm, Properties required for the Greedy Algorithm, When to use Greedy Algorithm, Applications of Greedy Algorithm, Fractional Knapsack Problem, Shortest path between two nodes, Dijkstra's Algorithm, Complexity Analysis of Dijkstra's Algorithm.

Introduction to Dynamic Programming, Memoization, Tabulation, Memoization vs Tabulation, Fibonacci using Recursion, Fibonacci using DP (Memoization), Fibonacci using DP (Tabulation), Introduction of Longest Common Subsequence (LCS) Problem, LCS - Brute Force Solution, LCS - DP Solution.

Knapsack Problem, Fractional Knapsack Problem, 0/1 Knapsack Problem, 0/1 Knapsack Problem - Brute Force Solution, 0/1 Knapsack Problem - DP Solution (Memoization), 0/1 Knapsack Problem - DP Solution (Tabulation), Complexity Analysis.

Live Now #### Introduction to C++

chevron_right chevron_right

This live & practical specialization covers all the aspects of the C++ programming language. With interesting competitive programming problems, this specialization covers variables, conditional statements, loops, functions, classes, points, and a lot more.

View Details Live Now #### Data Structures and Algorithms

chevron_right chevron_right

This Specialization takes you forward in your competitive programming journey by teaching aspects of space and time complexity on complex data structures like linked lists, stacks, queues, etc. Learn different searching and sorting algorithms alongside trees and graphs.

View Details© 2022 **Techlearn** ( Ashoka Systems India Pvt Ltd. ) . All Rights Reserved.

Contact Us