What is an Algorithm? It is a set of rules that allows you to solve computational problems in an organized and definite order. You can also use algorithms on a roadmap to reach a destination.

This course is important to understand the basics in Algorithm as they are related to all the branches in computer science, development of technological innovations, quantum mechanics, economic market and facing new challenges on developing the current technologies.

**Assessment**

This course does not involve any written exams. Students need to answer 5 assignment questions to complete the course, the answers will be in the form of written work in pdf or word. Students can write the answers in their own time. Each answer needs to be 200 words (1 Page). Once the answers are submitted, the tutor will check and assess the work.

**Certification**

Edukite courses are free to study. To successfully complete a course you must submit all the assignment of the course as part of the assessment. Upon successful completion of a course, you can choose to make your achievement formal by obtaining your Certificate at a cost of £49.

Having an Official Edukite Certification is a great way to celebrate and share your success. You can:

- Add the certificate to your CV or resume and brighten up your career
- Show it to prove your success

Course Credit: Stanford University

### Course Curriculum

Module 01 | |||

Why Study Algorithms | 00:04:00 | ||

Algorithms – Integer Multiplication | 00:09:00 | ||

Algorithms – Karatsuba Multiplication | 00:13:00 | ||

Algorithms – “big-oh” notation and asymptotic analysis – About the Course | 00:17:00 | ||

Algorithms – Merge Sort Motivation and Example | 00:09:00 | ||

Algorithms – Merge Sort Pseudocode | 00:13:00 | ||

Merge Sort Analysis | 00:09:00 | ||

Guiding Principles for Analysis of Algorithms | 00:15:00 | ||

Algorithms – The Gist | 00:14:00 | ||

Algorithms – Big Oh Notation | 00:04:00 | ||

Algorithms – Asimptotic Analysis – Basic Examples | 00:07:00 | ||

Algorithms – Asimptotic Analysis – Big Omega and Theta | 00:08:00 | ||

Algorithms – Asimptotic Analysis – Additional Examples Review | 00:08:00 | ||

Module 02 | |||

Algorithms – On log n Algorithm for Counting Inversions I | 00:13:00 | ||

Algorithms – On log n Algorithm for Counting Inversions II | 00:17:00 | ||

Algorithms – Strassen’s Subcubic Matrix Multiplication Algorithm | 00:23:00 | ||

Algorithms – On log n Algorithm for Closest Pair I Advanced Optional | 00:32:00 | ||

Algorithms – On log n Algorithm for Closest Pair II Advanced Optional | 00:19:00 | ||

Analyzing divide and conquer algorithms. – Motivation | 00:08:00 | ||

Analyzing divide and conquer algorithms. – Formal Statement | 00:10:00 | ||

Analyzing divide and conquer algorithms. – Examples | 00:13:00 | ||

Analyzing divide and conquer algorithms. – Proof I | 00:10:00 | ||

Algorithms – Analyzing divide and conquer algorithms. – Interpretation of the 3 Cases | 00:11:00 | ||

Algorithms – Analyzing divide and conquer algorithms. – Proof II | 00:16:00 | ||

Module 03 | |||

Algorithms – Quicksort -Overview | 00:12:00 | ||

Algorithms – Quicksort – Partitioning Around a Pivot | 00:25:00 | ||

Algorithms – Quicksort – Correctness of Quicksort Review Optional | 00:11:00 | ||

Algorithms – Quicksort – Choosing a Good Pivot | 00:22:00 | ||

Algorithms – Quicksort – Analysis I A Decomposition Principle | 00:22:00 | ||

Algorithms – Quicksort – Analysis I A Decomposition Principle | 00:12:00 | ||

Algorithms – Quicksort – Analysis III Final Calculations | 00:09:00 | ||

Algorithms – Probability Review I | 00:26:00 | ||

Algorithms – Probability Review II | 00:17:00 | ||

Algorithms – Randomized Selection Algorithm | 00:22:00 | ||

Algorithms – Randomized Selection Analysis | 00:21:00 | ||

Algorithms – Deterministic Selection Algorithm | 00:17:00 | ||

Algorithms – Deterministic Selection Analysis I | 00:22:00 | ||

Algorithms – Deterministic Selection Analysis II | 00:13:00 | ||

Module 04 | |||

Algorithms – Omega(n log n) Lower Bound for Comparison Based Sorting | 00:14:00 | ||

Algorithms – Graphs and Minimum Cuts | 00:16:00 | ||

Algorithms – Graph Representations | 00:14:00 | ||

Algorithms – Random Contraction Algorithm | 00:09:00 | ||

Algorithms – Analysis of Contraction Algorithm | 00:30:00 | ||

Algorithms – Counting Minimum Cuts | 00:07:00 | ||

Algorithms – Graph Search Overview | 00:23:00 | ||

Algorithms – Breadth First Search BFS The Basics | 00:14:00 | ||

Algorithms – BFS and Shortest Paths | 00:08:00 | ||

Algorithms – BFS and Undirected Connectivity | 00:13:00 | ||

Algorithms – Depth First Search DFS The Basics | 00:07:00 | ||

Algorithms – Topological Sort | 00:22:00 | ||

Algorithms – Computing Strong Components The Algorithm | 00:29:00 | ||

Algorithms – Computing Strong Components The Analysis | 00:26:00 | ||

Module 05 | |||

Algorithms – Structure of the Web | 00:19:00 | ||

Algorithms – Dijkstra’s Shortest Path Algorithm | 00:21:00 | ||

Algorithms – Dijkstra’s Algorithm Examples | 00:13:00 | ||

Algorithms – Correctness of Dijkstra’s Algorithm | 00:19:00 | ||

Algorithms – Dijkstra’s Algorithm Implementation and Running Time | 00:26:00 | ||

Algorithms – Data Structures Overview | 00:05:00 | ||

Algorithms – Heaps Implementation Details | 00:21:00 | ||

Algorithms – Balanced Search Trees Operations and Applications | 00:11:00 | ||

Algorithms – Binary Search Tree Basics, Part I | 00:13:00 | ||

Algorithms – Binary Search Tree Basics, Part II | 00:30:00 | ||

Algorithms – Red Black Trees | 00:21:00 | ||

Module 06 | |||

Algorithms – Rotations Advanced | 00:08:00 | ||

Algorithms – Insertion in a Red Black Tree | 00:15:00 | ||

Algorithms – Hash Tables Operations and Applications | 00:19:00 | ||

Algorithms – Hash Tables Implementation Details, Part I | 00:19:00 | ||

Algorithms – Hash Tables Implementation Details, Part II | 00:22:00 | ||

Algorithms – Pathological Data Sets and Universal Hashing Motivation | 00:22:00 | ||

Algorithms – Universal Hashing Definition and Example Advanced Optional | 00:26:00 | ||

Algorithms – Universal Hashing Analysis of Chaining Advanced Optional | 00:19:00 | ||

Algorithms – Hash Table Performance with Open Addressing Advanced Optional | 00:16:00 | ||

Algorithms – Bloom Filters The Basics | 00:15:00 | ||

Algorithms – Bloom Filters Heuristic Analysis | 00:13:00 | ||

Algorithms – Application Internet Routing | 00:11:00 | ||

Algorithms – Application Sequence Alignment | 00:09:00 | ||

Algorithms – Introduction to Greedy Algorithms | 00:13:00 | ||

Algorithms – Application Optimal Caching | 00:11:00 | ||

Algorithms – two motivating applications Problem Definition | 00:06:00 | ||

Module 07 | |||

Algorithms – A Greedy Algorithm | 00:13:00 | ||

Algorithms – Correctness Proof Part I | 00:07:00 | ||

Algorithms – Correctness Proof Part II | 00:05:00 | ||

Algorithms – Handling Ties | 00:07:00 | ||

Algorithms – MST Problem Definition | 00:11:00 | ||

Algorithms – Prim’s MST Algorithm | 00:08:00 | ||

Algorithms – Correctness Proof I | 00:16:00 | ||

Algorithms – Proof of Cut Property | 00:12:00 | ||

Algorithms – Correctness Proof II | 00:08:00 | ||

Algorithms – Fast Implementation I | 00:15:00 | ||

Algorithms – Fast Implementation II | 00:10:00 | ||

Algorithms – Kruskal’s MST Algorithm | 00:07:00 | ||

Algorithms – Correctness of Kruskal’s Algorithm | 00:09:00 | ||

Module 08 | |||

Algorithms – Implementing Kruskal’s Algorithm via Union Find I | 00:09:00 | ||

Algorithms – Implementing Kruskal’s Algorithm via Union Find II | 00:14:00 | ||

Algorithms – MSTs State of the Art and Open Questions | 00:09:00 | ||

Algorithms – Application to Clustering | 00:12:00 | ||

Algorithms – Correctness of Clustering Algorithm | 00:10:00 | ||

Algorithms – Lazy Unions | 00:10:00 | ||

Algorithms – Union by Rank | 00:12:00 | ||

Algorithms – Analysis of Union by Rank | 00:15:00 | ||

Algorithms – Path Compression | 00:15:00 | ||

Algorithms – Path Compression The Hopcroft Ullman Analysis I | 00:09:00 | ||

Algorithms – Path Compression The Hopcroft Ullman Analysis II | 00:12:00 | ||

Module 09 | |||

Algorithms – The Ackermann Function | 00:16:00 | ||

Algorithms – Path Compression Tarjan’s Analysis I | 00:14:00 | ||

Algorithms – Path Compression Tarjan’s Analysis II | 00:15:00 | ||

Algorithms – Huffman codes – Introduction and Motivation | 00:09:00 | ||

Algorithms – Huffman codes – Problem Definition | 00:10:00 | ||

Algorithms – Huffman codes – A Greedy Algorithm | 00:17:00 | ||

Algorithms – Huffman codes – A More Complex Example | 00:04:00 | ||

Algorithms – Huffman codes – Correctness Proof I | 00:10:00 | ||

Algorithms – Huffman codes – Correctness Proof II | 00:13:00 | ||

Module 10 | |||

Algorithms – Introduction Weighted Independent Sets in Path Graphs | 00:08:00 | ||

Algorithms – WIS in Path Graphs Optimal Substructure | 00:09:00 | ||

Algorithms – WIS in Path Graphs A Linear Time Algorithm | 00:10:00 | ||

Algorithms – WIS in Path Graphs A Reconstruction Algorithm | 00:07:00 | ||

Algorithms – Principles of Dynamic Programming | 00:08:00 | ||

Algorithms – The Knapsack Problem | 00:10:00 | ||

Algorithms – The Knapsack Problem – A Dynamic Programming Algorithm | 00:10:00 | ||

Algorithms – The Knapsack Problem – example Review | 00:13:00 | ||

Algorithms – Sequence Alignment – Optimal Substructure | 00:14:00 | ||

Algorithms – Sequence Alignment – A Dynamic Programming Algorithm | 00:12:00 | ||

Algorithms – optimal binary search trees – Problem Definition | 00:12:00 | ||

Algorithms – optimal binary search trees – Optimal Substructure | 00:10:00 | ||

Algorithms – optimal binary search trees – Proof of Optimal Substructure | 00:07:00 | ||

Module 11 | |||

Algorithms – optimal binary search trees – A Dynamic Programming Algorithm I | 00:10:00 | ||

Algorithms – optimal binary search trees – A Dynamic Programming Algorithm II | 00:09:00 | ||

Algorithms – Single Source Shortest Paths, Revisted | 00:11:00 | ||

Algorithms – The Bellman-Ford algorithm – Optimal Substructure | 00:11:00 | ||

Algorithms – The Bellman-Ford algorithm – The Basic Algorithm I | 00:09:00 | ||

Algorithms – The Bellman-Ford algorithm – The Basic Algorithm II | 00:11:00 | ||

Algorithms – The Bellman-Ford algorithm – Detecting Negative Cycles | 00:09:00 | ||

Algorithms – The Bellman-Ford algorithm – A Space Optimization | 00:13:00 | ||

Algorithms – The Bellman-Ford algorithm – Internet Routing I | 00:11:00 | ||

Algorithms – The Bellman-Ford algorithm – Internet Routing II | 00:07:00 | ||

Module 12 | |||

Algorithms – Problem Definition I | 00:07:00 | ||

Algorithms – Problem Definition II | 00:12:00 | ||

Algorithms – The Floyd Warshall Algorithm | 00:13:00 | ||

Algorithms – A Reweighting Technique | 00:14:00 | ||

Algorithms – Johnson’s Algorithm I | 00:11:00 | ||

Algorithms – Johnson’s Algorithm II | 00:12:00 | ||

Algorithms – Polynomial Time Solvable Problems | 00:14:00 | ||

Algorithms – Reductions and Completeness | 00:14:00 | ||

Algoritjms – Definition and Interpretation of NP Completeness I | 00:11:00 | ||

Algorithms – Definition and Interpretation of NP Completeness II | 00:08:00 | ||

Algorithms – The P vs NP Question | 00:09:00 | ||

Algorithms – Algorithmic Approaches to NP Complete Problems | 00:13:00 | ||

Algorithms – The Vertex Cover Problem | 00:09:00 | ||

Module 13 | |||

Algorithms – Smarter Search for Vertex Cover I | 00:10:00 | ||

Algorithms – Smarter Search for Vertex Cover II | 00:08:00 | ||

Algorithms – The Traveling Salesman Problem | 00:15:00 | ||

Algorithms – A Dynamic Programming Algorithm for TSP | 00:12:00 | ||

Algorithms – A Greedy Knapsack Heuristic | 00:14:00 | ||

Algorithms – Analysis of a Greedy Knapsack Heuristic I | 00:07:00 | ||

Algorithms – Analysis of a Greedy Knapsack Heuristic II | 00:10:00 | ||

Algorithms – A Dynamic Programming Heuristic for Knapsack | 00:12:00 | ||

Algorithms – Knapsack via Dynamic Programming, Revisited | 00:10:00 | ||

Algorithms – Ananysis of Dynamic Programming Heuristic | 00:15:00 | ||

Module 14 | |||

Algorithms – The Maximum Cut Problem I | 00:08:00 | ||

Algorithms – The Maximum Cut Problem II | 00:09:00 | ||

Algorithms – Principles of Local Search I | 00:09:00 | ||

Algorithms – Principles of Local Search II | 00:10:00 | ||

Algorithms – Principles of Local Search II | 00:15:00 | ||

Algorithms – Random Walks on a Line | 00:16:00 | ||

Algorithms – Analysis of Papadimitriou’s Algorithm | 00:15:00 | ||

Algorithms – Stable Matching Optional | 00:15:00 | ||

Algorithms – Matchings, Flows, and Braess’s Paradox Optional | 00:14:00 | ||

Algorithms – Linear Programming and Beyond Optional | 00:11:00 | ||

Algorithms – Epilogue | 00:01:00 | ||

Assessment | |||

Submit Your Assignment | 00:00:00 | ||

Certification | 00:00:00 |

### Course Reviews

No Reviews found for this course.

**425 STUDENTS ENROLLED**