Algorithms
Complexity, graph theory, greedy methods and dynamic programming.
Start with lecture 1
12 lectures
- 01Introduction to AlgorithmIn this course, we will learn about algorithms through examples.
- 02Time Complexity (for loop)Time complexity is the amount of time it takes an algorithm to run as a function of the input length. It calculates the time required to execute each code…
- 03Graph TheoryGraph is a data structure which is used extensively in our real-life.
- 04Greedy MethodSuppose we have a P problem which is we want to travel from A point to B point, and there are multiple solutions S1, S2, S3........Sn. So, if there is a…
- 05BFS and DFSA graph's Breadth-First Traversal (or Search) is comparable to a tree's Breadth-First Traversal. The one catch is that, unlike trees, graphs can contain…
- 06Job Sequencing with DeadlineThe job sequencing problem aims to find a sequence of jobs completed within their deadlines and gives maximum profit.
- 07Optimal Merge PatternGiven n sorted files, the task is to find the Optimal Merge Pattern with the fewest computations. The Optimal Merge Pattern is used when two or more sorted…
- 08Huffman CodingProblem: Suppose we have a message with a length of 20.
- 09Minimum Cost Spanning TreeAssume there is an undirected and connected graph G(V, E) with a spanning tree. G is a subgraph of G that is a tree that spans G (that is, it includes every…
- 10Shortest Path: DijkstraDijkstra's algorithm finds the shortest path between any two graph vertices. It differs from the minimum spanning tree in that the shortest distance between…
- 11Dynamic ProgrammingDynamic Programming is primarily an improvement over simple recursion. We can use Dynamic Programming to optimize any recursive solution with repeated calls…
- 12DP Problems: Multi-Stage GraphA Multistage graph is a directed, weighted graph in which the nodes are divided into stages, and all edges are from one stage to the next (In other words,…