Online Course
Data Structures and Algorithms
Active

## Course Features

• 200+ algorithmic coding problems

• Track-based learning

• 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

• Access to the GeeksforGeeks Jobs portal

## Course Overview

This course is a complete package that helps you learn Data Structures and Algorithms from basic to an advanced level. The course curriculum has been divided into 10 weeks where you can practice questions & attempt the assessment tests according to your own pace. The course offers you a wealth of programming challenges that will help you to prepare for interviews with top-notch companies like Microsoft, Amazon, Adobe etc.

You will learn algorithmic techniques for solving various problems with full flexibility of time. With this course, you can study at your own pace and need not hurry or puzzle yourself.

This course does not require any prior knowledge of Data Structure and Algorithms, but a basic knowledge of any programming language ( C++ / Java) will be helpful.

## 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 asked in product-based companies’ interviews

• 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

• Mathematics

• 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

• Introduction and Advantages

• 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

• Leaders in an Array

• 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 will be available once you get enrolled. 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. Do we have doubt support in this program?
No, This program doesn't have doubt solving support.  You may register for DSA- self-paced with Doubt solving.

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 the 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
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. How can I register for the course?
You need to sign up for the course. After signing up, you need to pay when the payment link opens.

10. What type of certificate will be offered in this program
Once the course is completed. You'll be getting a course completion certificate.

11. When can I make the payment for the course?
The payment link will be available on the course page.

12. Will the course content be available after the course end date?
Yes, the Courses content come with a lifetime validity

13. Is there a sample video to see how are the course videos?
Yes, please see this video.

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

15. How long should one student take to complete the course?
Although the course comes with lifetime validity, the average time that a student takes to complete it is 2 months.

## Course Registration

#### Active Batches

Batch Date Type Register
DSA-self paced Active Online Classes