Lecture Description
- The CosmoLearning Team
Course Index
- Introduction to Data Structures and Algorithms
- Stacks
- Queues and Linked Lists
- Dictionaries
- Hashing
- Trees
- Tree Walks / Traversals
- Ordered Dictionaries
- Deletion
- Quick Sort
- AVL Trees
- AVL Trees
- Trees
- Red Black Trees
- Insertion in Red Black Trees
- Disk Based Data Structures
- Case Study: Searching for Patterns
- Tries
- Data Compression
- Priority Queues
- Binary Heaps
- Why Sorting
- More Sorting
- Graphs
- Data Structures for Graphs
- Two Applications of Breadth First Search
- Depth First Search
- Applications of DFS
- DFS in Directed Graphs
- Applications of DFS in Directed Graphs
- Minimum Spanning Trees
- The Union
- Prims Algorithm for Minimum Spanning Trees
- Single Source Shortest Paths
- Correctness of Dijkstras Algorithm
- Single Source Shortest Paths
Course Description
The objective of the course is to familiarize students with basic data structures and their use in fundamental algorithms. Course contents: Introduction to object oriented programming through stacks, queues and linked lists. Dictionaries: skip-lists, hashing, analysis of collision resolution techniques. Trees, traversals, binary search trees, optimal and average BST's. 2-4 trees and red-black trees. Tries and pattern matching. Priority queues and binary heaps. Sorting: merge, quick, radix, selection, heap. Graphs, Breadth first search and connected components. Depth first search in directed and undirected graphs and strongly connected components. Spanning trees: Prim's and Kruskal's algorithm, union-find data structure. Dijkstra's algorithm for shortest paths, shortest path tree. Directed acyclic graphs: topological sort and longest path.