Skip to content

diophung/algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About


My works in free time to brush up algorithms and data structures, and to keep myself hands-on.

Requirements

  • python 3.x
  • pip

Set up

pip install -r requirements.txt

Test

To run tests:

cd tests
chmod +x ./test_run.sh
./test_run.sh

Topic in algorithms

Divide & Conquer

  • Break down the original problem to smaller pieces and solve each of them, thus solve the whole problem.

Dynamic Programming

  • Memorization, trade memory for speed.

Bitwise operation & Logic

  • Logic gates (XOR, NAND)

Maths

  • Statistics, Probability, Computational Geometry

Recursion

  • Tail call optimization
  • Backtrack

Greedy

  • Minimax, Maximin

Topics in Data Structure

Array & Matrix

  • Traversal, sorting,

Stack / Queue

  • Reversal, Peek n-th element

Queue

  • Priority queue, FIFO, LIFO

String

  • Longest unique substring, longest common substring

Tree

  • Binary tree, n-ary tree, BST, balanced vs unbalanced tree.

Hashtable | Dictionary

  • Hash function, double hashing, chain-link, hash-collision.

Graph

  • DFS, BFS, Dijkstra's shortest path, Hamilton cycle, cyclic vs non-cyclic, directed vs. non-directed, uni-directional.

Advanced data structures

  • Bloom filter, Trie, Skip list.

Releases

No releases published

Packages

No packages published