Sei sulla pagina 1di 8

SkillSet

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

Your Response Score


Never heard of it before 1
Heard of it but do not know the details 2
Know it, but have not code/use it 3
Can code/use it, but not very confident to do it fast 4
Can code/use it very fast and confident 5

Task: Give a score in Column B for each Keywords below, see the scoring table above, the graph on the right side will b

Data Structures, Algorithms, & Programming Keywords My Subjective Score


Sequence, Selection, Repetition Programming Constructs
Recursion/Backtracking
12
Ad Hoc Problem
C++ STL (Standard Template Library)
Java API (Application Programming Interface)
Array/C++ STL vector/Java Vector
Basic Bitmask Techniques
10
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 8
Graph/AdjacencyMatrix/AdjacencyList/EdgeList
Union-Find Disjoint Sets
Segment Tree
Binary Indexed (Fenwick) Tree
Bubble Sort 6
Insertion Sort
Selection Sort
Merge Sort
Quick Sort
Heap Sort 4
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 2
State-Space Search
Meet in the Middle (Bidirectional Search)
A* Search (standard one)
Iterative-Deepening Technique (esp IDA*)
Divide and Conquer Principles 0

Page 1
SkillSet 0
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

Page 2
SkillSet
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

Page 3
SkillSet
Order Statistics: Linear Time Selection Algorithm
Classic Board games, Card games, Chess, popular AI games
Fedora (Linux) OS environment

Page 4
SkillSet

ph on the right side will be gradually updated

12

10

Page 5
0 SkillSet

Page 6
SkillSet

Page 7
SkillSet

Page 8

Potrebbero piacerti anche