Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Mastering critical SKILLS in Algorithms using C++: Part 2
Rating: 4.8 out of 5(286 ratings)
3,320 students

Mastering critical SKILLS in Algorithms using C++: Part 2

70 Challenges to master recursive based techniques, shortest-path and MST algorithms.
Last updated 12/2022
English

What you'll learn

  • Master recursive techniques by solving MANY problems
  • Expose yourself to many algorithmic techniques
  • After the course, a smooth experience to prepare for coding interviews
  • Short and well written codes

Course content

17 sections135 lectures15h 4m total length
  • Fibonacci Sequence11:04
  • Fibonacci RCA7:30
  • Fibonacci Implementations9:54
  • Dynamic Programming13:58

Requirements

  • Strong programming background
  • Solved several practice during a programming course
  • STL, especially vector class. Others include: set, map and hash table
  • Optional but recommended: Implement long programming projects
  • Highly recommended: Attended a strong data structure course first and solved a lot

Description

Almost all other courses focus on knowledge. In this course, we focus on gaining real skills.

 

Overall:

  • The course covers a good subset of algorthmic topics

  • Learn the inner details of the algorithms and their time & memory complexity analysis

  • Learn how to code line-by-line

  • Source code and Slides and provided for all content

  • An extensive amount of practice to master the taught algorithms (where most other content fails!)


Content:

  • Dynamic Programming: Intro

  • DP: Pick or Leave Pattern

  • DP: Enumerating the choices

  • DP Range Patterns

  • DP on Graph and Grids

  • DP Counting

  • DP: Printing Solution

  • DP Tabulation

  • DP Solving Marathon

  • Backtracking

  • Divide and Conquer

  • Shortest Path Algorithm: Floyd-Warshal

  • Shortest Path Algorithm: Bellman-Ford

  • Shortest Path Algorithm: Dijkstra

  • Minimum Spanning Tree: Prim

  • Minimum Spanning Tree: Kruskal



Teaching Style:

  • Instead of long theory then coding style, we follow a unique style

  • I parallelize the concepts with the codes as much as possible

    • Unless better for you to work on pseudocode first

  • Go Concrete as possible

  • Use Clear Simple Visualization

  • Engagement


By the end of the journey

  • Solid understanding of Algorithms topics in C++

  • Mastering different skills

    • Analytical and Problem-Solving skills

    • Clean coding for algorithms

  • With the administered problem-solving skills

    • You can start competitive programming smoothly

    • A strong step toward interviews preparation


Prerequisites

  • Programming Skills:

    • Strong Programming skills

      • Solving a lot of basic problem-solving problems on fundamentals

    • Good understanding for basic recursion (E.g. Fibonacci)

    • STL, especially Vectors, map/set, unordered map/set

  • Highly Preferred: 

    • Do programming projects

    • Finish a descent data structure course (extensive data structure practice)

Don't miss such a unique learning experience!


Acknowledgement: “I’d like to extend my gratitude towards Robert Bogan for his help with proofreading the slides for this course”

Who this course is for:

  • People who want to master a critical CS component
  • People who want to prepare for interviews, then Algorithms is a must step before interviews preparations