What you will learn
What is searching and why do we need it?
Searching data in different data structures
Algorithm and implementation of different search algorithms
Understand essential patterns behind common interview problems
Intuition through visual explanation of algorithms
Hands on practical experience in a setup free coding environment
Requirements
This is a complete course and assumes that you know nothing about searching algorithms but are familiar with some basic foundational topics and data structures in any programming language.
- Basic knowledge of programming in any language
- Basic knowledge of functions, classes and memory management
- You have completed courses on array and linked lists
- You have completed courses on recursion
Overview
Algorithms are used extensively in software development, and searching is the most fundamental. Irrespective of the language, framework, or system that you use, you will always be using some search algorithm under the hood in some form or other.
Representation of searching
Fundamentals
This course teaches you the fundamentals of search algorithms and how they work. It provides you with code implementations and detailed explanations of different search algorithms in the most intuitive way. We will explore various steps to give you a deep insight into how different search algorithms work. This will help you thoroughly understand the most critical algorithm of all.
Problems Solving
This interactive course involves high-quality problems and is deeply focused on problem-solving. It bridges the gap between theoretical concepts and common interview problems by explaining the most common interview problems on searching. This will help you gain confidence and understand how to convert your learning into action. By the end of the course, you will be pretty confident that you can solve any searching problem thrown at you.
Who this course is for
This all-rounder course targets a variety of audiences ranging from complete beginners to experienced programmers who want to take their knowledge to the next level. You will greatly benefit from this course if you identify yourself as one of the following
- Non developers who want to start their journey to learn algorithms
- Developers who want to get deepest knowledge of search algorithms
- Anyone interested in improving their problem solving skills
- Anyone preparing for programming interviews
Course Contents
1. Binary search
2. Lower bound
3. Upper bound
4. 2D binary search
5. Staircase search
6. Sorted rotated array
7. Pattern: Binary search
8. Pattern: Lower bound
9. Pattern: Upper bound
10. Pattern: Minimum predicate search
11. Pattern: Maximum predicate search
13. Certificate
Searching
Learn about the algorithms that speed up your searches exponentially