# Algorithm and data structures [![Stars](https://img.shields.io/github/stars/mbinary/algorithm.svg?label=Stars&style=social)](https://github.com/mbinary/algorithm/stargazers) [![Forks](https://img.shields.io/github/forks/mbinary/algorithm.svg?label=Fork&style=social)](https://github.com/mbinary/algorithm/network/members) [![repo-size](https://img.shields.io/github/repo-size/mbinary/algorithm.svg)]() [![License](https://img.shields.io/badge/LICENSE-WTFPL-blue.svg)](LICENSE) [![Language](https://img.shields.io/badge/language-python3-orange.svg)]() [![codebeat badge](https://codebeat.co/badges/d52dd17d-a437-4dee-a6ec-cb532e8135bd)](https://codebeat.co/projects/github-com-mbinary-algorithm-master) >Notes and codes for learning algorithm and data structures :smiley: ## Notes >Notes were written in Chinese. Some pictures and ideas are from `Introduction to Algorithm` * docs * [algorithm-general.md](./docs/algorithm-general.md) * [b-tree.md](./docs/b-tree.md) * [dft.md](./docs/dft.md) * [fib-heap.md](./docs/fib-heap.md) * [graph.md](./docs/graph.md) * [hashTable.md](./docs/hashTable.md) * [red-black-tree.md](./docs/red-black-tree.md) * [sort.md](./docs/sort.md) * [string-matching.md](./docs/string-matching.md) * [tree.md](./docs/tree.md) ## Codes * [.](.) * [dataStructure](./dataStructure) * [LRU](./dataStructure/LRU) * [bTree.py](./dataStructure/bTree.py) * [binaryHeap.py](./dataStructure/binaryHeap.py) * [binaryTree.py](./dataStructure/binaryTree.py) * [circularQueue.py](./dataStructure/circularQueue.py) * [graph](./dataStructure/graph) * [hashTable.py](./dataStructure/hashTable.py) * [huffman](./dataStructure/huffman) * [insert_remove_getRandom.py](./dataStructure/insert_remove_getRandom.py) * [intervalTree.py](./dataStructure/intervalTree.py) * [leftHeap.py](./dataStructure/leftHeap.py) * [linkedList.py](./dataStructure/linkedList.py) * [map.cc](./dataStructure/map.cc) * [polynomial.cpp](./dataStructure/polynomial.cpp) * [polynomial.py](./dataStructure/polynomial.py) * [redBlackTree.py](./dataStructure/redBlackTree.py) * [redBlackTree0.py](./dataStructure/redBlackTree0.py) * [splayTree.py](./dataStructure/splayTree.py) * [trie](./dataStructure/trie) * [unionFindSet.py](./dataStructure/unionFindSet.py) * [winnerTree.py](./dataStructure/winnerTree.py) * [divideAndConquer](./divideAndConquer) * [min_distance_of_n_points.py](./divideAndConquer/min_distance_of_n_points.py) * [dynamicProgramming](./dynamicProgramming) * [Vec2d.hs](./dynamicProgramming/Vec2d.hs) * [last-stone-weight.py](./dynamicProgramming/last-stone-weight.py) * [lcs.py](./dynamicProgramming/lcs.py) * [matrixChainMultiply.py](./dynamicProgramming/matrixChainMultiply.py) * [max-len-of-repeated-subarray.py](./dynamicProgramming/max-len-of-repeated-subarray.py) * [splitStripe.hs](./dynamicProgramming/splitStripe.hs) * [splitStripe.py](./dynamicProgramming/splitStripe.py) * [stoneGame.py](./dynamicProgramming/stoneGame.py) * [testVec2d.hs](./dynamicProgramming/testVec2d.hs) * [graph](./graph) * [cloneGraph.cpp](./graph/cloneGraph.cpp) * [dfs.py](./graph/dfs.py) * [isBipartGraph.py](./graph/isBipartGraph.py) * [math](./math) * [README.md](./math/README.md) * [dft.py](./math/dft.py) * [fastPow.py](./math/fastPow.py) * [fibonacci](./math/fibonacci) * [numWeight](./math/numWeight) * [numberTheory](./math/numberTheory) * [numericalAnalysis](./math/numericalAnalysis) * [permute](./math/permute) * [parser](./parser) * [PL0-compiler](./parser/PL0-compiler) * [calculator](./parser/calculator) * [declarationParser](./parser/declarationParser) * [search](./search) * [Astar.py](./search/Astar.py) * [BFS_knight.hs](./search/BFS_knight.hs) * [binary_search.hs](./search/binary_search.hs) * [bloomFilter.py](./search/bloomFilter.py) * [schedule.py](./search/schedule.py) * [work_dispatch.py](./search/work_dispatch.py) * [sort](./sort) * [binaryTree.py](./sort/binaryTree.py) * [heapSort.py](./sort/heapSort.py) * [quickSort.c](./sort/quickSort.c) * [quickSort.py](./sort/quickSort.py) * [radixSort.py](./sort/radixSort.py) * [select.py](./sort/select.py) * [shellSort.py](./sort/shellSort.py) * [string](./string) * [KMP.py](./string/KMP.py) * [README.md](./string/README.md) * [manacher.py](./string/manacher.py) * [markov.py](./string/markov.py) * [min-window-substring.py](./string/min-window-substring.py) * [rabin_karp.py](./string/rabin_karp.py) * [rotate.py](./string/rotate.py) * [src](./string/src) * [sunday.py](./string/sunday.py) * [wildcard_matching.py](./string/wildcard_matching.py)