Skip to content

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 :-)

Notifications You must be signed in to change notification settings

cirosantilli/algorithm-cheat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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 :-)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published