Algorithms in C++
I have met many developers in the field, and have used both C++ and Java extensively in the career. One thing separates C/C++ developers from Java progammers is C/C++ developers always ask why and how the algorithms work, while Java programmers assume the libraries take care of the efficiency issues. Sometimes I become the outlier because I always ask the obvious questions. In the work, I have used several data structures and algorithms to improve computing performance and reduce glitches.
Data structure
- Array
- LinkedList
- Stack/Queue
- Heap
- Tree
- Graph
- Hash map
Sorting
- Insertion sort
- Merge sort
- Heap sort
- Quick sort + quick select
Search
- Binary search
- Depth first search
- Breadth first search
Dynamic programming
Memoization
- Memoization
Tabulation
Important DP problems and algorithm design:
- Shortest path
- Text justification
- Edit distance
- Parenthesization
- Knapsack
- Blackjack
Reference: MIT open course on Youtube