Description
Refer to The third edition of the book, covering content:
2. Getting Started: Insertion sort, Merge sort;
4. Divide-and-Conquer: Maximum-subarray, Matrix Multiplication[normal, recursive, Strassen’s algorithm];
6. Heapsort: Heapsort[max-heap, min-heap];
7. Quicksort: Quicksort;
8. Sorting in Linear Time: Counting sort;
12. Binary Search Trees: Binary search tree[Inorder Walk, Search Recursive, Search Iterative, Minimum Iterative, Maximum Iterative, Successor, Predecessor, Insert, Delete];
13. Red-Black Trees: Red Black Tree[Insert, Delete];
15. Dynamic Programming: Rod cutting[Recursive, Top_down, Bottom_up, Print],Longest common subsequence;
16. Greedy Algorithms: Acitivity selection[Recursive, Iterative],Huffman codes;
22. Elementary Graph: Breadth-first search, Depth-first search, Topological sort, Strongly connected components;
23. Minimum Spanning Trees: Minimum spanning tree[Kruskal’s algorithm,Prim’s algorithm];
24. Single-Source Shortest Paths: The Bellman-Ford algorithm,DAG algorithm,Dijkstra’s algorithm;
25. All-pairs Shortest Paths: All-pairs Shortest paths algorithms[Slow,Faster,The Floyd-Warshall algorithm];
26. Maximum Flow: The Ford-Fulkerson algorithm;
Addition: Tower of Hanoi,N Queens Problem,Comparison of sorting algorithms;
The primary features:
You can run the pseudo-code single step or continuous, observe the change of parameters and data structures,it can help you to understand the design thought of the algorithm;
You can set breakpoints in program and ovserve the status of breakpoint, it can help you to understand why this algorithm is corrcet by using loop invariants;
With running-time function stacks and the returning positions,you can track the running process of recursive functions easily, and understand the operation mechanism of computer programs;
By recording the performed times of the pseudo-codes can help you to understand the running time of algorithms;
I wish this app can be helpful to you;