# Computer Science

## Sorting Algorithms

- Quicksort
- Merge sort
- Counting sort
- Radix sort

## Strings/Sequences

- Linear search
- Binary search
- Naive string matching
- Knuth-Morris-Pratt algorithm

## Linear Data Structures

- Linked lists
- Array
- Stack
- Queue
- Dynamically-sized arrays

## Non-Linear Data Structures

- Binary tree
- Binary search tree
- Binary heap
- Interval tree
- Segment tree
- Binary-indexed tree
- Trie
- Hash table
- Suffix arrays and suffix tree

## Graphs

- Graph representation
- Breadth-first search
- Depth-first search
- Dijkstra's algorithm

## Number-Theoretic Algorithms

- Greatest common divisor
- Primality testing

## Sources

- “List of data structures” on Wikipedia. https://en.wikipedia.org/wiki/List_of_data_structures.
- Introduction to Algorithms by Cormen et al (2022).