Dealing With Algorithms
Published 11/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 5.03 GB | Duration: 14h 3m
Published 11/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 5.03 GB | Duration: 14h 3m
A guide on Algorithms
What you'll learn
A milestone for mastering Data Structures and Algorithms.
Helps to build confidence in facing technical interview questions in product companies.
Helps to understand the designing of Algorithm by familiarising various design techniques - foundation skill for any software engineer.
Become a confident programmer - Understanding and applying different data structures and algorithm while designing any product
To build a successful career in software industry - Regular practise with DSA will help to gain momentum in overall software engineer journey.
To be a good team player when starting you career
And much, much more.
Requirements
Knowledge in any of the programming language.
Knowing Java is a plus.
Description
This course covers the training on algorithms. Most importantly it covers mainly the various design techniques that are available to solve different problems. Some most popular algorithms based these techniques is being covered in detail too. The training is released as two courses . The first part "Dealing data structures" covers only the data structures. This is second part and it covers about Algorithms with sub topics such as Algorithmic design principles, Space Complexity, Time complexity , asymptotic notations etc.As the two topics - Data structures and Algorithms are released as two, it enables students to structure and plan their learning journey first by mastering the data structures and then switching on to algorithms. Consciously put effort on reducing the course length so that students don't feel like it takes long hours to finish the course. Carefully chosen the topics that enable students to enhance their career and build confidence to become a great programmer.Few words to stress on:After finishing each of the topic in the course you must practically spend time and implement programs related to that data structure. The implementation code is being uploaded as part of resource section. You can refer that as well. This is the only way to get thorough with the topic. All the best!
Overview
Section 1: Introduction
Lecture 1 What is covered in the course?
Lecture 2 Who and Why you should watch this course?
Section 2: Introduction to Algorithms
Lecture 3 Introductory Content
Lecture 4 Why Algorithms?
Lecture 5 Characteristics of an algorithm
Section 3: Design and Analysis of Algorithm
Lecture 6 Steps involved in design & analysis of algorithm
Lecture 7 Pseudocode and flowchart
Lecture 8 Solving a problem using different algorithms
Section 4: Performance Analysis
Lecture 9 What is Time complexity & Space Complexity ?
Lecture 10 Asymptotic Notations
Lecture 11 Big O notation
Lecture 12 Big Omega and Theta notation
Section 5: Time Complexity & Space Complexity
Lecture 13 Types of Time complexities
Lecture 14 Types of time complexities in detail
Lecture 15 Calculating Space Complexity
Lecture 16 Calculating Time Complexity
Section 6: Algorithm design techniques & Brute force approach
Lecture 17 Various algorithm design techniques
Lecture 18 Brute force Approach and Example algorithm1: Travelling Salesman Problem
Lecture 19 Exact String Matching Problem using brute force approach
Section 7: Divide and conquer design technique
Lecture 20 Introduction to Divide & Conquer approach and Example Algorithm1: Tower of Hanoi
Lecture 21 A variant to Divide and Conquer: Decrease and Conquer
Lecture 22 Decrease and Conquer Approach Algorithm: Binary Search
Lecture 23 Divide and Conquer Technique Example Algorithm 2: Quick Sort
Lecture 24 Master theorem for Divide and Conquer Recurrences
Lecture 25 Divide and Conquer Technique Example Algorithm 3: Merge sort
Lecture 26 Divide and Conquer Technique Example Algorithm 4: Heap sort
Section 8: Greedy algorithm technique
Lecture 27 Introduction to greedy algorithm & Greedy algorithm example 1: Huffman Coding
Lecture 28 Greedy algorithm example 2: Kruskal's algorithm part 1
Lecture 29 Kruskal's algorithm part 2 - Union find algorithm and detecting cycle in graph
Lecture 30 Kruskal's algorithm part 3 - Union find algorithm by path compression and rankin
Lecture 31 Greedy Algorithm example 3: Dijkstra's Shortest Path Algorithm
Lecture 32 Greedy Algorithm example 4: Prim's algorithm
Lecture 33 Greedy Algorithm example 4: Fractional knapsack problem
Section 9: Dynamic Programming
Lecture 34 Introduction to Dynamic Programming
Lecture 35 Dynamic Programming Example Algorithm 1: Matrix chain multiplication - part 1
Lecture 36 Dynamic Programming Example Algorithm 1: Matrix chain multiplication - part 2
Lecture 37 Dynamic Programming Example Algorithm 1: Matrix chain multiplication - part 3
Lecture 38 Dynamic Programming Example Algorithm 2: Least Common Subsequence - part 1
Lecture 39 Dynamic Programming Example Algorithm 2: Least Common Subsequence - part 2
Lecture 40 Dynamic Programming Example 3: Floyd Warshall Shortest path algorithm - part 1
Lecture 41 Dynamic Programming Example 3: Floyd Warshall Shortest path algorithm - part 2
Lecture 42 Dynamic Programming Example 4: 01 knapsack problem
Lecture 43 Dynamic Programming Example 4: 01 knapsack problem implementation
Lecture 44 Dynamic Programming Example 5: Travelling Salesman Problem
Lecture 45 Dynamic Programming Example 5: Travelling Salesman Problem implementation
Section 10: Backtracking design technique
Lecture 46 Introduction to backtracking
Lecture 47 Backtracking algorithm 1 - N Queen problem
Lecture 48 Backtracking algorithm 2 - Graph colouring problem
Lecture 49 Backtracking algorithm 3 - Hamiltonian Cycle
Section 11: Branch and Bound design technique
Lecture 50 Introduction to Branch and Bound design technique
Lecture 51 Branch and Bound Algorithm example 1 : 01 knapsack problem
Lecture 52 Branch and Bound Algorithm example 1 : 01 knapsack problem implementation
Lecture 53 Branch and Bound Algorithm example 2: Travelling salesman problem
Lecture 54 Branch and Bound Algorithm example 2: Travelling Salesman problem implementation
Section 12: Classification Of Algorithms
Lecture 55 P, NP - NP Hard and NP Complete
Section 13: Conclusion
Lecture 56 Congratulations!!!
Data structures and Algorithm is the base for Software engineering. Hence anyone who has aspiration to become a great programmer can watch this course