  Online Course
DSA-Self Paced with Doubt Assistance
Active 5.0

## Course Features • 200+ algorithmic coding problems

• Dedicated doubt solving team for doubt-assistance

• Doubt Assistance valid for 6 months

• Track-based learning with Weekly assessment tests

• Premium Lecture videos by Mr. Sandeep Jain (CEO & Founder, GeeksforGeeks)

• Course Completion Certificate trusted by top universities and companies

• Internship Opportunities at GeeksforGeeks

## Course Overview This is an online course mainly focused on Data Structures & Algorithms which is termed as the key to selection in top product based companies like Microsoft, Amazon, Adobe, etc.

This self-paced course comes up with a special feature of Doubt Assistance to provide you extensive support during your preparation.
The course curriculum has been divided into 10 weeks and includes pre-recorded premium Video lectures & programming questions, that you can attempt according to your time convenience. Recommended for:

• Pre-Final/Final year students preparing for the Placement drives
• Employees looking for a job change

## What You Will Learn • Learn Data Structures and Algorithms from basic to advanced level

• Learn Topic-wise implementation of different Data Structures & Algorithms

• Improve your problem-solving skills to become a stronger developer

• Develop your analytical skills on Data Structures and use them efficiently

• Solve problems in contests similar to coding round for SDE role

## Course Content #### Introduction

• Analysis of Algorithm

• Background analysis through a Program and its functions.

• Order of Growth

• A mathematical explanation of the growth analysis through limits and functions.

• A direct way of calculating the order of growth

• Asymptotic Notations

• Best, Average and Worst case explanation through a program.

• Big O Notation

• Graphical and mathematical explanation.

• Calculation

• Applications at Linear Search

• Omega Notation

• Graphical and mathematical explanation.

• Calculation.

• Theta Notation

• Graphical and mathematical explanation.

• Calculation.

• Analysis of common loops

• Single, multiple and nested loops

• Analysis of Recursion

• Various calculations through Recursion Tree method

• Space Complexity

• Basic Programs

• Auxiliary Space

• Space Analysis of Recursion

• Space Analysis of Fibonacci number

• 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.

#### Mathematics

• Finding the number of digits in a number.

• Arithmetic and Geometric Progressions.

• Mean and Median.

• Prime Numbers.

• LCM and HCF

• Factorials

• Permutations and Combinations

• Modular Arithmetic

• Problems(With Video Solutions):

• Count Digits

• Palindrome Numbers

• Factorial of Numbers

• GCD of Two Numbers

• LCM of Two Numbers

• Check for Prime

• Prime Factors

• Sieve of Eratosthenes

• Computing Power

• 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.

#### Bit Magic

• Bitwise Operators in C++

• Operation of AND, OR, XOR operators

• Operation of Left Shift, Right Shift and Bitwise Not

• Bitwise Operators in Java

• Operation of AND, OR

• Operation of Bitwise Not, Left Shift

• Operation of Right Shift and unsigned Right Shift

• Problem(With Video Solutions): Check Kth bit is set or not

• Method 1: Using the left Shift.

• Method 2: Using the right shift

• Problem(With Video Solutions): Count Set Bits

• Method 1: Simple method

• Method 2: Brian and Kerningham Algorithm

• Method 3: Using Lookup Table

• Problems(With Video Solutions):

• To check whether a number is a power of 2 or not

• Odd occurrences in an array.

• Two numbers having odd occurrences in an array.

• Generate power set using bitwise operators.

• 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.

#### Recursion

• Introduction to Recursion

• Applications of Recursion

• Writing base cases in Recursion

• Factorial

• N-th Fibonacci number

• Various problems on Recursion(With Video Solutions)

• Print n to 1

• Print 1 to n

• Tail Recursion

• Checking Palindrome

• Sum of digits

• Rod cutting

• Subsets of a set

• Tower of Hanoi Problem

• Josephus Problem

• 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.

#### Arrays

• Types of Arrays

• Fixed-sized array

• Dynamic-sized array

• Operations on Arrays

• Searching

• Insertions

• Deletion

• Arrays vs other DS

• Reversing - Explanation with complexity

• Problems(With Video Solutions)

• Left Rotation of the array by 1
• Check if Sorted

• Left Rotation of the array by D places

• Maximum Difference Problem

• Frequencies in Sorted Array

• Stock Buy and Sell Problem

• Trapping Rainwater Problem

• Maximum Consecutive 1s

• Maximum Subarray Sum

• Longest Even-Odd Subarray

• Maximum Circular sum subarray.

• Majority Element

• Minimum Consecutive Flips

• Sliding Window Technique

• Prefix Sum Technique

• 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.

#### Searching

• Binary Search Iterative and Recursive

• Binary Search and various associated problems(With Video Solutions)

• Index of First Occurence in Sorted Array

• Index of Last Occurence in Sorted Array

• Count of occurrences of x in sorted element

• Count of 1s in a binary sorted array

• Find an element in sorted and rotated array

• Peak element

• Find an element in an infinite sized sorted array

• The square root of an integer

• Two Pointer Approach Problems(With Video Solutions)

• Find pair in an unsorted array which gives sum X

• Find pair in a sorted array which gives sum X

• Find triplet in an array which gives sum X

• Problems(With Video Solutions)

• Median of two sorted arrays

• Majority Element

• 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.

## FAQs 1. What does Self-Paced mean?
You can join the course anytime. All of the content would be available to you once you join. You can finish it at your own decided speed.

2. Is there any number to contact for any query?
You may call us on our toll-free number: 1800 123 8622  or Drop us an email at geeks.classes@geeksforgeeks.org
3. Does the course include programming questions?
Yes, the course focuses on DS & Algo with a mix of theoretical lectures and programming questions.

4. How does the doubt assistance work?
You can ask your doubt on the doubt solving portal, a dedicated Teaching Assistants team would help you out.

5. Is this a language-specific course?
Yes, the course is only in C++ & Java.  In case you are not familiar with these languages, you may join one of the free courses, Fork CPP and Fork Java to best utilize this course.

6. What do I learn if I am a Python Programmer?
If you are a Python programmer, you get following.
1) The theory part of videos, algorithms in videos.  Note video explanations of implementations are specific to C++ and Java only
2) Practice Questions will be in Python
3) Forum support will be there in Python.
It is recommended to prepare yourself with Fork Python if you are beginning with Python

7. How can I access contest solutions?
Contest solutions are available in Video mode in the contest section itself.

8. When can i access the video solution of Contest problems?
Once you've appeared in the online contest you can access the solutions.

9. Is this a certification course?
Yes, It's a GeeksforGeeks certified program which includes Video lecture, practice problem & coding Contests.

10. In terms of certificate how this course is different from the previous course?
In this course, candidates will receive a certificate with an appropriate score obtained in the course. In the previous course, candidates received a course completion certificate.

11. How can I register for the course?
You need to sign up for the course. After signing up, you need pay when the payment link opens.

12. When can I make the payment for the course?
You can make the payments now by just clicking On "Pay fees/Pay now "  Button

13. Is there any sample video that I can see before registering for the course?
You may watch this sample video.

14. Have some queries about the course?
You may write to us at geeks.classes@geeksforgeeks.org

15. Will the course content be available after the course end date?
Course content come with lifetime validity.

16. Can I make the payment through PayPal?
Yes. Mail us with your details at geeks.classes@geeksforgeeks.org.

## Course Registration #### Active Batches

Batch Date Type Register
DSA-5 Active Online Classes