Program description
Great code has its foundation built upon data structures and algorithms. One must have a deep understanding of how da…
Great code has its foundation built upon data structures and algorithms. One must have a deep understanding of how data structures operate and designing efficient algorithms. Implementing algorithmic techniques that efficiently manipulate data structures is the essence of this program.
What you will learn:
- Learn how to differentiate between linear data structures like linkedlists, arrays, arraylists, stacks, and queues, and select the correct structure for a given situation. Analyze data structure performance with the course visualization tool.
- Visualize and study nonlinear/hierarchical data structures such as Binary Trees, BSTs and Heaps. Examine tree operations & algorithms. Implement a HashMap that uses key-value pairs to store data. Explore probabilistic data structures like SkipLists.
- To differentiate between complex tree data structures, like AVL and (2-4) trees, understand their self-balancing techniques and implementations. Visualize and examine various Divide and Conquer sorting algorithms along with their performance.
- Analyze & implement various Pattern Matching algorithms from KMP to Rabin-Karp. Study essential graph traversal algorithms in order to implement Dijkstra’s Shortest Path, and construct Minimum Spanning Trees. Delve in Dynamic Programming.