Algorithms

Wishlist Share
Share Course
Page Link
Share On Social Media

About Course

In this course, part of the Algorithms and Data Structures MicroMasters program, you will learn basic algorithmic techniques and ideas for computational problems.

which arise in practical applications such as sorting and searching, divide and conquer, greedy algorithms, and dynamic programming.

This course will cover theories, including:

  1. how to sort data and how it helps for searching;
  2. how to break a large problem into pieces and solve them recursively;
  3. when it makes sense to proceed greedily;
  4. how dynamic programming is used in genomic studies.

You will practice solving computational problems, designing, and implementing solutions efficiently (so that they run in less than a second).

ENROLLED NOW!

 

Show More

What Will You Learn?

  • Learn Algorithms From A to Z
  • Essential algorithmic techniques - greedy algorithms, divide and conquer, binary search, sorting, dynamic programming
  • Best practices of implementing algorithms efficiently
  • Ways of testing and debugging programs And Much More

Course Content

Algorithms

  • 1. Introduction to Algorithms
    00:00
  • 1.1 Priori Analysis and Posteriori Testing
    00:00
  • 1.2 Characteristics of Algorithm
    00:00
  • 1.3 How Write and Analyze Algorithm
    00:00
  • 1.4 Frequency Count Method
    00:00
  • 1.5.1 Time Complexity #1
    00:00
  • 1.5.2 Time Complexity Example #2
    00:00
  • 1.5.3 Time Complexity of While and if #3
    00:00
  • 1.6 Classes of functions
    00:00
  • 1.7 Compare Class of Functions
    00:00
  • 1.8.1 Asymptotic Notations Big Oh – Omega – Theta #1
    00:00
  • 1.8.2 Asymptotic Notations – Big Oh – Omega – Theta #2
    00:00
  • 1.9 Properties of Asymptotic Notations
    00:00
  • 1.10.1 Comparison of Functions #1
    00:00
  • 1.10.2 Comparison of Functions #2
    00:00
  • 1.11 Best Worst and Average Case Analysis
    00:00
  • 1.12 Disjoint Sets Data Structure – Weighted Union and Collapsing Find
    00:00
  • 2 Divide And Conquer
    00:00
  • 2.1.1 Recurrence Relation (T(n)= T(n-1) + 1) #1
    00:00
  • 2.1.2 Recurrence Relation (T(n)= T(n-1) + n) #2
    00:00
  • 2.1.3 Recurrence Relation (T(n)= T(n-1) + log n) #3
    00:00
  • 2.1.4 Recurrence Relation T(n)=2 T(n-1)+1 #4
    00:00
  • 2.2 Masters Theorem Decreasing Function
    00:00
  • 2.3.1 Recurrence Relation Dividing Function T(n)=T(n/2)+1 #1
    00:00
  • 2.3.2 Recurrence Relation Dividing [ T(n)=T(n/2)+ n]. #2
    00:00
  • 2.3.3 Recurrence Relation [ T(n)= 2T(n/2) +n] #3
    00:00
  • 2.4.1 Masters Theorem in Algorithms for Dividing Function #1
    00:00
  • 2.4.2 Examples for Master Theorem #2
    00:00
  • 2.5 Root function (Recurrence Relation)
    00:00
  • 2.6.1 Binary Search Iterative Method
    00:00
  • 2.6.2 Binary Search Recursive Method
    00:00
  • 2.6.3 Heap – Heap Sort – Heapify – Priority Queues
    00:00
  • 2.7.1 Two Way MergeSort – Iterative method
    00:00
  • 2.7.2. Merge Sort Algorithm
    00:00
  • 2.7.3 MergeSort in-depth Analysis
    00:00
  • 2.8.1 QuickSort Algorithm
    00:00
  • 2.8.2 QuickSort Analysis
    00:00
  • 2.9 Strassens Matrix Multiplication
    00:00
  • 3. Greedy Method – Introduction
    00:00
  • 3.1 Knapsack Problem – Greedy Method
    00:00
  • 3.2 Job Sequencing with Deadlines – Greedy Method
    00:00
  • 3.3 Optimal Merge Pattern – Greedy Method
    00:00
  • 3.4 Huffman Coding – Greedy Method
    00:00
  • 3.5 Prims and Kruskals Algorithms – Greedy Method
    00:00
  • 3.6 Dijkstra Algorithm – Single Source Shortest Path – Greedy Method
    00:00
  • 4 Principle of Optimality – Dynamic Programming introduction
    00:00
  • 4.1 MultiStage Graph – Dynamic Programming
    00:00
  • 4.1.1 MultiStage Graph (Program) – Dynamic Programming
    00:00
  • 4.2 All Pairs Shortest Path (Floyd-Warshall) – Dynamic Programming
    00:00
  • 4.3 Matrix Chain Multiplication – Dynamic Programming
    00:00
  • [New] Matrix Chain Multiplication using Dynamic Programming Formula
    00:00
  • 4.3.1 Matrix Chain Multiplication (Program) – Dynamic Programming
    00:00
  • 4.4 Bellman Ford Algorithm – Single Source Shortest Path – Dynamic Programming
    00:00
  • 4.5 0/1 Knapsack – Two Methods – Dynamic Programming
    00:00
  • 4.5.1 0/1 Knapsack Problem (Program) – Dynamic Programming
    00:00
  • 4.6 Optimal Binary Search Tree (Successful Search Only) – Dynamic Programming
    00:00
  • 4.6.2 [New] Optimal Binary Search Tree Successful and Unsuccessful Probability – Dynamic Programming
    00:00
  • 4.7 [New] Traveling Salesman Problem – Dynamic Programming using Formula
    00:00
  • 4.8 Reliability Design – Dynamic Programming
    00:00
  • 4.9 Longest Common Subsequence (LCS) – Recursion and Dynamic Programming
    00:00
  • 5.1 Graph Traversals – BFS & DFS -Breadth First Search and Depth First Search
    00:00
  • 5.2 Articulation Point and Biconnected Components
    00:00
  • 6 Introduction to Backtracking – Brute Force Approach
    00:00
  • 6.1 N Queens Problem using Backtracking
    00:00
  • 6.2 Sum Of Subsets Problem – Backtracking
    00:00
  • 6.3 Graph Coloring Problem – Backtracking
    00:00
  • 6.4 Hamiltonian Cycle – Backtracking
    00:00
  • 7 Branch and Bound Introduction
    00:00
  • 7.1 Job Sequencing with Deadline – Branch and Bound
    00:00
  • 7.2 0/1 Knapsack using Branch and Bound
    00:00
  • 7.3 Traveling Salesman Problem – Branch and Bound
    00:00
  • 8. NP-Hard and NP-Complete Problems
    00:00
  • 8.1 NP-Hard Graph Problem – Clique Decision Problem
    00:00
  • 9.1 Knuth-Morris-Pratt KMP String Matching Algorithm
    00:00
  • 9.2 Rabin-Karp String Matching Algorithm
    00:00
  • 10.1 AVL Tree – Insertion and Rotations
    00:00
  • 10.2 B Trees and B+ Trees. How they are useful in Databases
    00:00
  • Asymptotic Notations – Simplified
    00:00
  • Hashing Technique – Simplified
    00:00
  • Shortest Path Algorithms (Dijkstra and Bellman-Ford) – Simplified
    00:00
  • BFS DFS – Simplified
    00:00
  • Tower of Hanoi Problem – Made Easy
    00:00
  • Row-Major and Column-Major Mapping
    00:00

Student Ratings & Reviews

No Review Yet
No Review Yet
ResearcherStore

Want to receive push notifications for all major on-site activities?