This document contains a self-assessment of the user's skills in various data structures, algorithms, and programming topics. It includes a scoring table for rating their level of knowledge on each topic from 1 to 5. There is then a list of over 90 keywords related to these topics, and the user has provided a subjective score from 1 to 5 for each, which is plotted on a graph. This allows the user to visualize their current skill set and identify areas to improve.
Download as XLS, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
478 views
Skill Set For Competitive Programming
This document contains a self-assessment of the user's skills in various data structures, algorithms, and programming topics. It includes a scoring table for rating their level of knowledge on each topic from 1 to 5. There is then a list of over 90 keywords related to these topics, and the user has provided a subjective score from 1 to 5 for each, which is plotted on a graph. This allows the user to visualize their current skill set and identify areas to improve.
Download as XLS, PDF, TXT or read online on Scribd
You are on page 1/ 7
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 be gradually updated Data Structures, Algorithms, & Programming Keywords My Subjective Score 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 5 Stack/Queue/Deque/C++ STL stack/queue/deque/Java Stack/Queue/Deque 5 Binary Search Tree/C++ STL map/set/Java TreeMap/TreeSet 5 Balanced Binary Search Tree/AVL/Red-Black-Tree (with your own library) 4 Hash Table/Java HashMap (C++11 unordered_map) 4 Heap/PriorityQueue/C++ STL priority_queue/Java PriorityQueue Graph/AdjacencyMatrix/AdjacencyList/EdgeList Union-Find Disjoint Sets Segment Tree Binary Indexed (Fenwick) Tree Bubble Sort 5 Insertion Sort 5 Selection Sort 5 Merge Sort 5 Quick Sort 5 Heap Sort 5 Multi-Field Sorting Counting Sort Inversion Index (with Merge Sort) 5 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 0 1 2 3 4 5 6 1 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 Task: Give a score in Column B for each Keywords below, see the scoring table above, the graph on the right side will be gradually updated 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 My Skill 93 97 101 105 109 113 117 121 125
Data Structures and Algorithm Analysis in JavaTM 3rd edition by Mark Weiss 9780133465013 0133465012 - Get instant access to the full ebook with detailed content
Data Structures and Algorithm Analysis in JavaTM 3rd edition by Mark Weiss 9780133465013 0133465012 - Get instant access to the full ebook with detailed content