Reference Cards (Cheats Sheets) Collection Update.
Reference cards (cheat sheets) collection.
- Actionscript – The permanent link to cards: Actionscript cards.
- Ada – The permanent link to cards: Ada cards.
- Admintools – The permanent link to cards: Admintools cards.
- Agile – The permanent link to cards: Agile cards.
- Ajax – The permanent link to cards: Ajax cards.
- Apache – The permanent link to cards: Apache cards.
- C, Cplusplus, C_ – The permanent link to cards: C, Cplusplus, C_ cards.
- Cheatography – The permanent link to cards: Cheatography cards.
- ControlVersionSystems – The permanent link to cards: ControlVersionSystems cards.
- CSS – The permanent link to cards: CSS cards.
- DesignPatterns – The permanent link to cards: DesignPaterns cards
- DZoneReferenceCards – The permanent link to cards: DZone Reference cards.
- Google – The permanent link to cards: Google cards.
- HTML,SHTML,XHTML – The permanent link to cards: HTML cards.
- Infographics – The permanent link to cards: Infographics cards.
- Java – The permanent link to cards: Java cards.
- JavaScript – The permanent link to cards: JavaScript cards.
- JQuery – The permanent link to cards: JQuery cards.
- Makeuseof – The permanent link to cards: Makeuseof cards.
- Microsoft and DreaminCode – The permanent link to cards: Microsoft cards.
- MySQL – The permanent link to cards: MySQL cards.
- OpenERP – The permanent link to cards: OpenERP cards.
- Oracle – The permanent link to cards: Oracle cards.
- OracleSOA – The permanent link to cards: OracleSOA cards.
- Others – The permanent link to cards: Other cards.
- Perl – The permanent link to cards: Perl cards.
- Php – The permanent link to cards: Php cards.
- Python – The permanent link to cards: Python cards.
- Regular Expressions – The permanent link to cards: Regular Expressions cards.
- RSS – The permanent link to cards: RSS cards.
- Ruby – The permanent link to cards: Ruby cards.
- Stl – The permanent link to cards: Stl cards.
- UML – The permanent link to cards: UML cards.
- Unix and Linux – The permanent link to cards: Unix and Linux cards
- VisiBone Reference Cards – The permanent link to cards: VisiBone cards
- Web Design – The permanent link to cards: Web Design cards.
- WordPress – The permanent link to cards: WordPress cards.
- XML – The permanent link to cards: XML cards.
- XSLT and XPath – The permanent link to cards: XSLT and XPath cards
Pretty fundamental:
1. Binary search. Binary search. Binary search. This is an incredibly important concept, and it pops up in everything from convex optimization to databases. If you need to find a particular value in a big set of things, and you can figure out which direction you need to go, use binary search for a MASSIVE speed up.
2. Matrix operations. Now, this one only pops up for me because I’m more of a data scientist, but in general, it’s important to remember that matrix multiplication is faster than you think it is. Brilliant people have come up with incredibly unintuitive algorithms to make matrices multiply in O(n^2.something) instead of O(n^3), like you would expect. In practice, these algorithms aren’t necessarily used, but the BLAS and MPI libraries do provide incredibly fast matrix multiplication all the same. Anytime you can express a bunch of calculations in terms of matrix operations, you win.
3. Linear regression. Simple, beautiful, and useful.
4. Caching. Justuse caching. Does that count as an algorithm? I don’t know, but it is the cause of, and solution to, all of your problems.
5. The idea of a concurrent work queue.
6. Knowing when to throw hashtables at a problem.
Main algorithms to use.
Basic algorithms :
- Sorting – Merge Sort, Insertion Sort, Quick Sort, Number of inversions
- Matrix Multiplication (just know the algo if not implement it)
- Prime Sieving
- Modular Math including multiplication and division
- Euclidean Algorithm for GCD, Modular Inverse, Fast Exponentiation
- Fibonacci number with matrix multiplication
- Probability distribution and expected value
- Stats – Mean, Median, Variance, Bayes theorem
Linear data structures and algorithms:
- Arrays
- Linked List
- Stack
- Queues
Algorithmic techniques:
- Divide and Conquer – Binary Search, Maximum Subarray
- Greedy Algorithms – Activity Selection, Huffman encoding
- Dynamic Programming – Matrix Chain Multiplication, Knapsack,
- Linear Programming – Variable Maximisation, Linear time sorting
- String Algorithms – Manacher, LCS, Edit Distance
Typical non-linear data structures:
- Trees – Binary Tree, General Tree, Lowest Common Ancestor
- Binary Search Tree – Inorder Traversal, Level order traversal, finding kth largest element, diameter, depth, number of nodes, etc.
- Heaps – Array Implementation, Heapify, Heap Sort
- Union Find
- Hash Table – Linear Probing, Open addressing, Collision avoidance
Graphs:
- Adjacency List, Adjacency Matrix, Weighted Edge Graphs
- Basic Traversal algos – Breadth First Search, Depth First Search, etc
- Shortest Path Finding Algorithm – Dijkstra, Floyd Warshal, Bellman Ford
- Minimum Spanning Tree – Kruskal’s Algo, Prim’s Algo
Advance Tree and Graph :
- Balanced Trees – AVL, Red-Black
- Heavy Light Decomposition, B+ Trees, Quad Tree
- Advance Graph – Min Cut, Max Flow
- Maximum Matching – Hall’s Marriage
- Hamiltonian Cycle
- Edge Graphs / Line Graphs
- Strongly Connected Components
- Dominant Sub-Graph, Vertex Cover, Travelling Salesman – Approx algos
Advance String Algorithms :
- Knuth Morris Pratt Algorithm
- Rabin Karp Algorithm
- Tries and Compressed Tries
- Prefix Trees, Suffix Trees, Suffix Automation – Ukkonen Algorithm
Advance Math:
- Fast Fourier Tranformation
- Primality Testing
- Computational Geometry – Closest point pair, Voronoi diagram, Convex Hull
General Advance topics :
- Iterating through all combination / permutation
- Bit manipulation
Reference Cards (Cheats Sheets) Collection Update.
Reference cards (cheat sheets) collection.
- Actionscript – The permanent link to cards: Actionscript cards.
- Ada – The permanent link to cards: Ada cards.
- Admintools – The permanent link to cards: Admintools cards.
- Agile – The permanent link to cards: Agile cards.
- Ajax – The permanent link to cards: Ajax cards.
- Apache – The permanent link to cards: Apache cards.
- C, Cplusplus, C_ – The permanent link to cards: C, Cplusplus, C_ cards.
- Cheatography – The permanent link to cards: Cheatography cards.
- ControlVersionSystems – The permanent link to cards: ControlVersionSystems cards.
- CSS – The permanent link to cards: CSS cards.
- DesignPatterns – The permanent link to cards: DesignPaterns cards
- DZoneReferenceCards – The permanent link to cards: DZone Reference cards.
- Google – The permanent link to cards: Google cards.
- HTML,SHTML,XHTML – The permanent link to cards: HTML cards.
- Infographics – The permanent link to cards: Infographics cards.
- Java – The permanent link to cards: Java cards.
- JavaScript – The permanent link to cards: JavaScript cards.
- JQuery – The permanent link to cards: JQuery cards.
- Makeuseof – The permanent link to cards: Makeuseof cards.
- Microsoft and DreaminCode – The permanent link to cards: Microsoft cards.
- MySQL – The permanent link to cards: MySQL cards.
- OpenERP – The permanent link to cards: OpenERP cards.
- Oracle – The permanent link to cards: Oracle cards.
- OracleSOA – The permanent link to cards: OracleSOA cards.
- Others – The permanent link to cards: Other cards.
- Perl – The permanent link to cards: Perl cards.
- Php – The permanent link to cards: Php cards.
- Python – The permanent link to cards: Python cards.
- Regular Expressions – The permanent link to cards: Regular Expressions cards.
- RSS – The permanent link to cards: RSS cards.
- Ruby – The permanent link to cards: Ruby cards.
- Stl – The permanent link to cards: Stl cards.
- UML – The permanent link to cards: UML cards.
- Unix and Linux – The permanent link to cards: Unix and Linux cards
- VisiBone Reference Cards – The permanent link to cards: VisiBone cards
- Web Design – The permanent link to cards: Web Design cards.
- WordPress – The permanent link to cards: WordPress cards.
- XML – The permanent link to cards: XML cards.
- XSLT and XPath – The permanent link to cards: XSLT and XPath cards