You are on page 1of 12

Your Skill Set as of Today (Week 01/02)

Your Response
Never heard of it before
Heard of it but do not know the details
Know it, but have not code/use it
Can code/use it, but not very confident to do it fast
Can code/use it very fast and confident

Task: Give a score in Column B for each Keywords below, see the scoring table above, th
Data Structures, Algorithms, & Programming Keywords
Sequence, Selection, Repetition Programming Constructs
Recursion/Backtracking
Ad Hoc Problem
C++ STL (Standard Template Library)
Java API (Application Programming Interface)
Array/C++ STL vector/Java Vector
Basic Bitmask Techniques
LinkedList/C++ STL list/Java LinkedList
Stack/Queue/Deque/C++ STL stack/queue/deque/Java Stack/Queue/Deque
Binary Search Tree/C++ STL map/set/Java TreeMap/TreeSet
Balanced Binary Search Tree/AVL/Red-Black-Tree (with your own library)
Hash Table/Java HashMap (C++11 unordered_map)
Heap/PriorityQueue/C++ STL priority_queue/Java PriorityQueue
Graph/AdjacencyMatrix/AdjacencyList/EdgeList
Union-Find Disjoint Sets
Segment Tree
Binary Indexed (Fenwick) Tree
Bubble Sort
Insertion Sort
Selection Sort
Merge Sort
Quick Sort
Heap Sort
Multi-Field Sorting
Counting Sort
Inversion Index (with Merge Sort)
Complete Search/Brute Force/Iterative/Recursive Backtracking
I can solve n-Queens problem up to n 14
State-Space Search
Meet in the Middle (Bidirectional Search)
A* Search (standard one)
Iterative-Deepening Technique (esp IDA*)
Divide and Conquer Principles
Binary Search Techniques
Greedy
Basic Ideas of Dynamic Programming

Max Sum 1D/2D/etc


Kadane's Algorithm for 1D/2D/etc Max Sum
Longest Increasing Subsequence (LIS)
O(n log k) solution for LIS
Coin Change (CC)
0-1 Knapsack/Subset Sum
Traveling Salesman Problem (TSP)
DP and its relationship with DAG
DP "on Tree"
Longest Common Subsequence (LCS)
String Alignment/Edit Distance
DP Optimization Techniques
Bitonic TSP
Matrix Chain Multiplication (MCM)
Optimal Binary Search Tree (OBST)
Depth First Search (Traversal)
Topological Sort
Finding Connected Components/Flood Fill
Finding Articulation Points/Bridges in O(V+E)
Finding Strongly Connected Components (SCC) in Directed Graph in O(V+E)
Breadth First Search (Traversal)
Kruskal's (Minimum Spanning Tree)
Prim's (Minimum Spanning Tree)
Dijkstra's (Single-Source Shortest Paths)
Bellman Ford's (Single-Source Shortest Paths)
Floyd Warshall's (All-Pairs Shortest Paths)
Ford Fulkerson's/Edmonds Karp's (Max Flow, Min Cut)
Independent and Edge-Disjoint Paths
Min Cost (Max) Flow
Shortest/Longest/All Pairs Paths in Tree
Lowest Common Ancestor (LCA)
Eulerian Graph/Path/Cycle
Chinese Postman Problem
Directed Acyclic Graph (DAG)
Shortest/Longest Path in DAG
Counting Paths in DAG
Min Path Cover in DAG
Bipartite Graph
Max Cardinality Bipartite Matching (MCBM)
Min Vertex Cover in Bipartite Graph (Konig Theorem)
Max Independent Set/Dominating Set in Bipartite Graph
Augmenting Path Algorithm for finding MCBM
Hopcroft Karp's Algorithm for finding MCBM
Kuhn Munkres/Hungarian Algorithm for finding weighted MCBM
Edmond's Matching Algorithm (Blossom Shrinking) for General Matching
Sequences and Number Systems
Polynomial
Big Integer

Base Number
Combinatorics
Factorial/Fibonacci
Number Theory
Prime Number Generation: Sieve
Prime Testing
Miller Rabin's Algorithm
Prime Factoring by Trial Division
Pollard Rho's Algorithm
Modified Sieve
GCD/LCM/Euclid's Algorithm
Extended Euclid/Linear Diophantine Equation
Euler Phi
Modulo Arithmetic
Fibonacci/Factorial
Divisibility
Cycle Finding/Tortoise-Hare Algorithm
Divide and Conquer Quick Exponentiation
Matris Power
Linear Algebra/Gaussian Elimination
Backus Naur Form (BNF) Grammar
Knuth Morris Pratt (KMP) String Matching algorithm
Aho Corasick
Suffix Trie Applications
Suffix Tree Applications
Suffix Array Construction O(n log n) and Applications
Geometry Basics, e.g. area, perimeter, Euclidean distance, Trigonometry
Line Segment Intersection
CCW Test
Incircle Test
Area and Perimeter of Arbitrary Polygon
Testing if a Polygon is Convex
Testing if a Point is Inside a Polygon
Cutting a (Convex) Polygon with a Straight Line
Graham Scan (Convex Hull)
Plane Sweep Paradigm
Area or Volume Intersection
Triangulation
Closest Pair Problem
Order Statistics: Linear Time Selection Algorithm
Classic Board games, Card games, Chess, popular AI games
Fedora (Linux) OS environment

Score
1
2
3
4
5

oring table above, the graph on the right side will be gradually updated
My Subjective Score
12

10

My Skill

My Skill

You might also like