Overview
Basic algorithms on tree data structures, binary search trees, self-balancing trees, graph data structures and basic traversal algorithms on graphs. This course also covers advanced topics such as kd-trees for spatial data and algorithms for spatial data.
Trees and Graphs: Basics can be taken for academic credit as part of CU Boulder’s Master of Science in Data Science (MS-DS) degree offered on the Coursera platform. The MS-DS is an interdisciplinary degree that brings together faculty from CU Boulder’s departments of Applied Mathematics, Computer Science, Information Science, and others. With performance-based admissions and no application process, the MS-DS is ideal for individuals with a broad range of undergraduate education and/or professional experience in computer science, information science, mathematics, and statistics. Learn more about the MS-DS program at https://www.coursera.org/degrees/master-of-science-data-science-boulder.
Syllabus
- Binary Search Trees and Algorithms on Trees
- In this module, you will learn about binary search trees and basic algorithms on binary search trees. We will also become familiar with the problem of balancing in binary search trees and study some solutions for balanced binary search trees such as Red-Black Trees.
- Basics of Graphs and Graphs Traversals
- In this module, you will learn about graphs and various basic algorithms on graphs such as depth first/breadth first traversals, finding strongly connected components, and topological sorting.
- Union-Find Data Structures and Spanning Tree Algorithms
- Union Find Data-structure with rank compression. Spanning trees and properties of spanning trees. Prim’s algorithm for finding minimal spanning trees. Kruskal’s algorithm for finding minimal spanning trees.
- Shortest Path Algorithms
- In this module, you will learn about: Shortest Path Problem: Basics. Bellman-Ford Algorithm for single source shortest path. Dijkstra’s algorithm. Algorithms for all-pairs shortest path problem (Floyd-Warshall Algorithm)
Taught by
Sriram Sankaranarayanan