# Algorithms in Java Live problem solving Design Techniques

Recursion,BackTracking,Divide & Conquer,Dynamic Programming,Greedy Algorithms via Data Structures and Algorithms in Java

4.3/5

## Algorithms in Java Live problem solving Design Techniques

### What you’ll learn

Algorithm Design Techniques
How to Code a Algo in Java
Calculate time and space complexity
Dynamic Programming, Greedy, D&C and Much more

### Requirements

Basic Java – Loops and Conditions

### Description

Algorithm Design Techniques: Live problem-solving in Java Algorithms are everywhere. One great algorithm applied sensibly can result in a System like GOOGLE! Completer scientists have worked from 100s of years and derived some of the techniques that can be applied to write and design algorithms.So Why to reinvent the wheel ??Let’s go through some of the most famous algorithm design techniques in this course.Once you will come to know these design techniques It will become very easy for you to approach a problem by identifying which technique to apply to solve that correctly and efficiently.0. Complexity analysis1. Recursion is the base of any algorithm design 2. Backtracking3. Divide and Conquer4. Greedy algorithms5. Dynamic programmingAnd WE WILL WRITE THE CODE LINE BY LINE IN JAVA !!By the end of this course –    1. You will understand how to design algorithms     2. A lot of coding practice and design live problems in Java    3. Algorithm Complexity analysis AND If you are preparing for your coding Interview or doing competitive programming This course will be a big help for you.THRILLED? I welcome you to the course and I am sure this will be fun!!If it does not – It comes with a 30 Days money-back guarantee so don’t think twice to give it a shot.Happy LearningBasics>Strong;

### Overview

Section 1: Course Introduction

Lecture 1 Course Introduction

Lecture 2 Course Resources

Section 2: Introduction to Algorithms

Lecture 3 Introduction to Algorithms

Section 3: Complexity Analysis

Lecture 4 Section Introduction

Lecture 5 Complexity Analysis 1

Lecture 6 Complexity Analysis 2

Lecture 7 Section Summary

Section 4: Recurrence Relation

Lecture 8 Section Introduction

Lecture 9 Recurrence Relation

Lecture 10 Solving Recurrence Relation

Lecture 11 Master’s Theorem

Lecture 12 Section Summary

Section 5: Thinking Recursively

Lecture 13 Section Introduction

Lecture 14 Recursion

Lecture 15 Identification

Lecture 16 Approaching

Lecture 17 Problem 01 : FindingSubsequences – Logic

Lecture 18 Problem 01 : FindingSubsequences – Live Code Java

Lecture 19 Problem 01 : FindingSubsequences – Complexity Analysis

Lecture 20 Problem 02: Tower of Hanoi – Logic

Lecture 21 Problem 02 : Tower of Hanoi – Live Code Java

Lecture 22 Problem 02 : Tower of Hanoi – Complexity Analysis

Lecture 23 Problem 03 : 7.Array Product Sum – Logic

Lecture 24 Problem 03 : 7.Array Product Sum – Live Code Java

Lecture 25 Problem 03 : Array Product Sum – Complexity Analysis

Lecture 26 Problem 04 : Binary Subtree – Logic

Lecture 27 Problem 04 : Binary Subtree – Live Code Java

Lecture 28 Problem 04 : Binary Subtree – Complexity Analysis

Lecture 29 Why and Why not Recursion

Lecture 30 Types Of Recursion

Lecture 31 Tail Recursion

Lecture 32 Section Summary

Section 6: Backtracking

Lecture 33 Section Introduction

Lecture 34 Introduction to Backtracking

Lecture 35 Identify Backtracking

Lecture 36 Approching the Solution

Lecture 37 Problem 01 : Rat In Maze – Logic

Lecture 38 Problem 01 : Rat In Maze – Code

Lecture 39 Problem 01 : Rat In Maze – Complexity Analysis

Lecture 40 Problem 02 : NQueen – Logic

Lecture 41 Problem 02 : NQueen – Live Code in Java

Lecture 42 Problem 02 : NQueen – Complexity Analysis

Lecture 43 Problem 03 : Knights Tour Problem – Logic

Lecture 44 Problem 03 : Knights Tour Problem – Live Code in Java

Lecture 45 Problem 03 : Knight Tour Problem – Complexity Analysis

Lecture 46 Problem 04 : Boggle | Word Search – Logic

Lecture 47 Problem 04 : Boggle | Word Search – Live Code in Java

Lecture 48 Problem 04 : Boggle | Word Search – Complexity Analysis

Lecture 49 Section Summary

Section 7: Divide and Conquer

Lecture 50 Section Introduction

Lecture 51 Introduction To Divide And Conquer

Lecture 52 Identification and Approaching

Lecture 53 Problem 01 : MergeSort – Logic

Lecture 54 Problem 01 : MergeSort – Live Java Code

Lecture 55 Problem 01 : MergeSort – Complexity Analysis

Lecture 56 Problem 02 : QuickSort – Logic

Lecture 57 Problem 02 : QuickSort – Live Java Code

Lecture 58 Problem 02 : QuickSort – Complexity Analysis

Lecture 59 Problem 03 : Median Of Medians – Logic

Lecture 60 Problem 03 : Median Of Medians – Live Java Code

Lecture 61 Section Summary

Section 8: Greedy Technique

Lecture 62 Section Introduction

Lecture 63 Introduction to Greedy

Lecture 64 Identification & Approaching the Solution

Lecture 65 Problem 01 : Fractional Knapsack – Logic

Lecture 66 Problem 01 : Fractional Knapsack – Live Code Java

Lecture 67 Problem 01 : Fractional Knapsack – Complexity Analysis

Lecture 68 Problem 02 : IntervalScheduling – Logic

Lecture 69 Problem 02 : IntervalScheduling – Live Code Java

Lecture 70 Problem 02 : IntervalScheduling – Complexity Analysis

Lecture 71 Problem 03 : Huffman Code – Logic

Lecture 72 Problem 03 : Huffman Code – Live Code Java

Lecture 73 Problem 03 : Huffman Code – Complexity Analysis

Lecture 74 Problem 04 : Dijkstra – Logic

Lecture 75 Problem 04 : Dijkstra Logic – Live Code

Lecture 76 Problem 04 : Dijkstra – Complexity Analysis

Lecture 77 Summary

Section 9: Dynamic Programming

Lecture 78 Section Introduction

Lecture 79 Introduction to Dynamic Programming

Lecture 80 Identification

Lecture 81 Compare DP D&C and Greedy

Lecture 82 Approaching the Solution

Lecture 83 Example 01 : Staircase Problem Theory & Live Code

Lecture 84 Example 01 : Staircase Problem Complexity Analysis

Lecture 85 Example 02 – 0/1 Knapsack Theory & Live code

Lecture 86 Example 02 – 0/1 Knapsack Complexity Analysis

Lecture 87 Example 03 – Coin Change Problem Theory and Code

Lecture 88 Example 03 – Coin Change Problem Complexity Analysis

Lecture 89 Example 04 : Longest Decreasing Subsequence Explanation And Code

Lecture 90 Example 04 : Longest Decreasing Subsequence | Complexity Analysis

Lecture 91 Example 05 : Levenshtein problem

Lecture 92 Example 05 : Levenshtein Complexity Analysis

Lecture 93 Example 06 : Rod Cutting

Lecture 94 Example 06 : Rod Cutting – Complexity Analysis

Lecture 95 Example 07 : Matrix Chain Multiplication

Lecture 96 Example 07 : Matrix Chain Multiplication | Complexity Analysis

Lecture 97 Summary

Section 10: Famous Algorithms

Lecture 99 Kadane’s Algo Live Code Java

Lecture 100 Kadane’s Algo Complexity Analysis

Lecture 101 BellmanFord’s Algo

Lecture 102 BellmanFord’s Algo Live Code Java

Lecture 103 BellmanFord’s Algo Complexity Analysis

Lecture 104 Topological Sort : Kahn’s Algo

Lecture 105 Topological Sort Live Code Java

Lecture 106 Topological Sort Complexity Analysis

Lecture 107 Edmond’s Karp/Ford-Fulkerson Algorithm

Lecture 108 Ford-Fulkerson Algorithm – Edmond’s Karp Implementation

Section 11: Trees

Lecture 109 Tree Overview

Lecture 110 Identification

Lecture 111 Approaching Tree Problems

Lecture 112 Problem 1: Sum Tree – Logic

Lecture 113 Problem 1: Sum Tree – Live Code

Lecture 114 Problem 2: Invert Binary Tree – Logic

Lecture 115 Problem 2: Invert Binary Tree – Live Code

Lecture 116 Problem 3: Binary Search Tree – Logic

Lecture 117 Problem 3: Binary Search Tree – Live Code

Lecture 118 Problem 4: Binary Tree from InOrder & LevelOrder – Logic

Lecture 119 Problem 4: Binary Tree from InOrder & LevelOrder – Live Code

Section 12: Graphs

Lecture 120 Graphs – In Real World

Lecture 122 Graphs – Overview

Lecture 123 Terminologies

Lecture 124 Identification of Problem

Lecture 125 Approaching the Problem

Lecture 126 Mind-Map

Lecture 127 Type – Graph Traversal

Lecture 128 Depth First Search Traversal

Lecture 129 DFS – Implementation (Recursive)

Lecture 130 DFS – Implementation (Iterative)

Lecture 131 Breadth First Search Traversal

Lecture 132 BFS – Implementation

Lecture 133 Type – Minimum Spanning Tree

Lecture 134 Prim’s Algorithm

Lecture 135 Prim’s Algorithm – Implementation

Lecture 136 Kruskal’s Algorithm

Lecture 137 Union-Find Algorithm

Lecture 138 Kruskal’s Algorithm – Implementation

Lecture 139 Type – Shortest Path

Lecture 140 Dijkstra’s Algorithm

Lecture 141 Dijkstra’s Algorithm – Implementation

Lecture 142 BellmanFord’s Algo

Lecture 143 BellmanFord’s Algo Live Code

Lecture 144 Floyd Warshall Algorithm

Lecture 145 Floyd-Warshall Algorithm – Implementation

Lecture 146 Johnson’s Algorithm

Lecture 147 Johnson’s Algorithm – Implementation

Lecture 148 Type – Network Flow

Lecture 149 Ford-Fulkerson Algorithm

Lecture 150 Ford-Fulkerson Algorithm – Edmond’s Karp Implementation

Lecture 151 Max-Flow Min-Cut Theorem

Lecture 152 Type – Strongly Connected Components

Lecture 153 Tarjan’s Algorithm

Lecture 154 Tarjan’s Algorithm – Implementation

Lecture 155 Kosaraju’s Algorithm

Lecture 156 Kosaraju’s Algorithm – Implementation

Section 13: Bonus : Arrays in Java

Lecture 157 Section Introduction

Lecture 158 Single Dimension Arrays

Lecture 159 Multi Dimension Arrays

Lecture 160 Declaration , Initialisation & Creation

Lecture 161 Playing With Arrays Syntax Java

Lecture 162 Traversing Arrays,Length of Array Java

Lecture 163 Types of Array – based on elements it holds

Lecture 164 Reassigning Array Objects to Array References

Lecture 165 Anonymous Arrays

Lecture 166 Arrays-Summay

Section 14: Thank you!

Lecture 167 Thank You!

Looking to learn to design algorithms,Want to develop how to think solve algo problems,Code Famous Algorithms in Java

#### Course Information:

Udemy | English | 19h 40m | 3.31 GB
Created by: Basics Strong

You Can See More Courses in the Developer >> Greetings from CourseDown.com

Scroll to Top