Learn how to structure and use algorithms to solve real life problems.
Algorithms power the biggest web companies and the most promising startups.
Interviews at tech companies start with questions that probe for good
algorithm thinking.
In this computer science course, you will learn how to think about
algorithms and create them using sorting techniques such as quick sort and
merge sort, and searching algorithms, median finding, and order statistics.
The course progresses with Numerical, String, and Geometric algorithms like
Polynomial Multiplication, Matrix Operations, GCD, Pattern Matching,
Subsequences, Sweep, and Convex Hull. It concludes with graph algorithms
like shortest path and spanning tree.
The topics covered in this course:
-
Sorting and Searching
-
Numerical Algorithms
-
String Algorithms
-
Geometric Algorithms
-
Graph Algorithms
The detailed description is given below:
Topic 1: Complexity
-
Learn to analyse algorithm based on its running time
-
Empirical Analyses of Running Time
-
Differentiating between Average and Worst Case Analysis
-
Learn about Asymptotic Analysis
-
Understanding the concept of Big-Oh
Topic 2: Sorting
-
Learn about Comparison based Sorting
-
Learn about Selection, Insertion and Heap Sort of Abstract Data
types for Sorting
-
Learn about Min-Heap Based Sort and its Array Representation
-
Know about Divide and Conquer Approach to Sorting and Merge-Sort
Execution Tree
-
Learn about Quick-Sort Execution Tree and Worst case Running time
of Quick-Sort
Topic 3: Searching (Graph Based)
-
Introduction to Graph Traversal Algorithm – (BFS) – Its properties,
analysis, and application.
-
Introduction to Graph Traversal Algorithm – (DFS) - Its properties,
analysis, and application.
-
Know about Shortest Path in Weighted Graphs and Dijkstra’s
Algorithm
-
Know about Shortest Path Algorithms – Bellman-Ford Algorithm
-
Introduction to All Pair Shortest Path Algorithm – Floyd-Warshal
Algorithm and its examples
Topic 4: Spanning Trees and Numeric Algorithms
-
Using Prim’s Algorithm for finding a spanning tree for a graph
-
Introduction to Kruskal’s Algorithm and its analysis
-
Analysis of Prim’s Algorithm and Kruskal’s Algorithm
-
Learn about Bisection Method and its Advantages and Disadvantages
-
Introduction and Principles of Newton-Raphson Method
Topic 5: String Algorithms
-
Introduction to String Matching Algorithm
-
Learn about Naive String Matching Algorithm and its Analysis
-
Introduction to Rabin-Karp Algorithm and its Analysis
-
Introduction to Finite Automaton Algorithm
-
Introduction to Knuth-Morris-Pratt Algorithm and its Analysis
Topic 6: Geometric Algorithms
-
Learn about different Computational Geometry Algorithms
-
Learn about properties of Line Segment
-
Introduction to Convex Hull and its illustrations