All Projects → cirosantilli → algorithm-cheat

cirosantilli / algorithm-cheat

Licence: other
MOVING TO: https://cirosantilli.com/linux-kernel-module-cheat/#algorithms see README. Algorithm tutorials and simple multi-language implementations with unit tests. Test case data in language agnostic file formats. Usually updated when I'm grinding for job interviews :-)

Programming Languages

C++
36643 projects - #6 most used programming language
java
68154 projects - #9 most used programming language
c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language

MOVING to: https://cirosantilli.com/linux-kernel-module-cheat#algorithms

It is early days, but this repo will be progressively split up and moved to either:

Algorithm cheat logo

Build Status

Algorithm tutorials and simple multi-language implementations with unit tests. Test case data in language agnostic file formats. Usually updated when I'm grinding for job interviews :-)

  1. Implementations
    1. Getting started
    2. src/
    3. data/
    4. test
  2. Introduction
    1. Beauty
      1. Recursive algorithms
    2. Turing machine
      1. Busy beaver
    3. Out of core algorithms
    4. Undecidability
    5. P vs NP
  3. Data structures
    1. Graph
      1. Tree
      2. Dijkstra
    2. Map: map.cpp,
      1. BST: bst.cpp, bst.c
      2. Hash map: hash_map.cpp
      3. Heap: Heap.java
  4. Sorting algorithms
    1. Quicksort: QuickSort.java, QuickSortTail.java
    2. Merge sort
    3. Bubble sort
  5. Parsing, formal languages and their automatons
    1. Formal language
    2. Context-free grammar
    3. Regular grammar
    4. Regular language
  6. Programming languages
    1. Type systems
  7. String algorithms
    1. Longest common subsequence
    2. Longest increasing subsequence
    3. Maximum subarray
    4. String search: StringSearchNaive.java, KnuthMorrisPratt.java
    5. Version string parsing: version_string.c
  8. Cryptography
    1. base64
    2. ECDSA
    3. GPG
    4. md5sum
  9. Linear programming
    1. Change making
  10. Out-of-core
    1. tac: tac.c, Tac.java
  11. Misc algorithms
    1. Hanoi tower
    2. Hash function
    3. XOR-swap
  12. Numerical
    1. Matrix multiplication
    2. PDE
  13. Misc
    1. Bitcoin
    2. Decimal data type
    3. Human factors
    4. Licenses
    5. Quantum computing
    6. Security
    7. Stack Overflow Data Dump
  14. Bibliography
  15. TODO

WIP

  1. Knapsack
  2. Data structures
    1. Crit-bit tree
    2. Disjoint set
    3. Skip list
    4. Map
      1. Set
      2. Prefix trees
        1. Trie: trie.c
        2. Radix tree
      3. RB tree
      4. B-tree
        1. B-tree
        2. B-plus-tree
    5. Graph
      1. Topological sort
      2. A*
      3. B*
      4. Bellman-ford
  3. Sorting algorithms
    1. Heap sort: HeapSort.java
    2. Insertion sort
  4. Misc
    1. Error detection
  5. Numerical Newton's method: newton.py
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].