# CS2040S Data Structures and Algorithms

## CS2040S Data Structures and Algorithms

- [Overview](https://cs2040s.devanshshah.dev/algorithms/overview.md)
- [Time Complexity](https://cs2040s.devanshshah.dev/algorithms/time-complexity.md)
- [Binary Search](https://cs2040s.devanshshah.dev/algorithms/binary-search.md)
- [Sorting Algorithms](https://cs2040s.devanshshah.dev/sorting-algorithms.md)
- [Order Statistics](https://cs2040s.devanshshah.dev/order-statistics.md): Find the kth smallest element in an unsorted array
- [Interval Searching](https://cs2040s.devanshshah.dev/interval-searching.md): Given an array of unsorted and possibly overlapping intervals, and a point, find an interval containing the point.
- [Orthogonal Range Queries](https://cs2040s.devanshshah.dev/orthogonal-range-queries.md): (1D-Version) Given an array of points and an interval, find the points (not just the number of points) that are contained the interval.
- [Random Permutation Generation](https://cs2040s.devanshshah.dev/random-permutation-generation.md): Given an array A of  items, come up with an algorithm that produces a random permutation of A on every run
- [Disjoint Set Union](https://cs2040s.devanshshah.dev/disjoint-set-union.md): Also known as Union Find Disjoint Set
- [Binary Search Tree](https://cs2040s.devanshshah.dev/data-structures/binary-search-tree.md)
- [Trie](https://cs2040s.devanshshah.dev/data-structures/trie.md)
- [Hash (Symbol) Table](https://cs2040s.devanshshah.dev/data-structures/hash-symbol-table.md)
- [(a, b)-Trees](https://cs2040s.devanshshah.dev/data-structures/a-b-trees.md)
- [(k, d)-Trees](https://cs2040s.devanshshah.dev/data-structures/k-d-trees.md)
- [Heap](https://cs2040s.devanshshah.dev/data-structures/heap.md)
- [Introduction](https://cs2040s.devanshshah.dev/graphs/introduction.md)
- [BFS and DFS](https://cs2040s.devanshshah.dev/graphs/bfs-and-dfs.md)
- [DAG and Topological Sort](https://cs2040s.devanshshah.dev/graphs/dag-and-topological-sort.md)
- [SCC (Tarjan's and Kosaraju's)](https://cs2040s.devanshshah.dev/graphs/scc-tarjans-and-kosarajus.md)
- [SSSP (Bellman-Ford and Dijkstra)](https://cs2040s.devanshshah.dev/graphs/sssp-bellman-ford-and-dijkstra.md)
- [MST (Prim's and Kruskal's)](https://cs2040s.devanshshah.dev/graphs/mst-prims-and-kruskals.md)
- [Concept](https://cs2040s.devanshshah.dev/dynamic-programming/concept.md)
- [APSP Floyd-Warshall](https://cs2040s.devanshshah.dev/dynamic-programming/apsp-floyd-warshall.md)
- [Longest Increasing Subsequence](https://cs2040s.devanshshah.dev/dynamic-programming/longest-increasing-subsequence.md)
- [0-1 Knapsack](https://cs2040s.devanshshah.dev/dynamic-programming/0-1-knapsack.md)
- [Prize Collecting](https://cs2040s.devanshshah.dev/dynamic-programming/prize-collecting.md)
- [Vertex Cover on a Tree](https://cs2040s.devanshshah.dev/dynamic-programming/vertex-cover-on-a-tree.md)
