2018-12-11 15:57:58 +08:00
|
|
|
|
2019-01-31 12:09:46 +08:00
|
|
|
# Algorithm and data structures
|
|
|
|
|
2019-03-18 00:54:04 +08:00
|
|
|
[![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)]()
|
2019-01-31 12:09:46 +08:00
|
|
|
[![License](https://img.shields.io/badge/LICENSE-WTFPL-blue.svg)](LICENSE)
|
|
|
|
[![Language](https://img.shields.io/badge/language-python3-orange.svg)]()
|
2019-03-18 01:01:32 +08:00
|
|
|
[![codebeat badge](https://codebeat.co/badges/4ef725b5-405a-4390-a860-a86deefab3f8)](https://codebeat.co/projects/github-com-mbinary-algorithm-master)
|
2019-01-31 12:09:46 +08:00
|
|
|
|
2018-07-13 23:42:46 +08:00
|
|
|
>Notes and codes for learning algorithm and data structures :smiley:
|
2018-07-11 19:26:24 +08:00
|
|
|
|
2018-12-29 19:30:21 +08:00
|
|
|
Some pictures and ideas are from `<<Introduction to Algotithm>>`
|
2018-07-11 19:41:35 +08:00
|
|
|
|
2019-03-18 12:23:52 +08:00
|
|
|
# Notes
|
|
|
|
* [docs](./docs)
|
|
|
|
* [algorithm-general.md](./docs/algorithm-general.md)
|
|
|
|
* [b-tree.md](./docs/b-tree.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)
|
|
|
|
* [src](./docs/src)
|
|
|
|
* [string-matching.md](./docs/string-matching.md)
|
|
|
|
* [tree.md](./docs/tree.md)
|
2018-07-11 19:26:24 +08:00
|
|
|
|
2018-07-15 11:20:52 +08:00
|
|
|
# Index
|
2018-07-11 19:26:24 +08:00
|
|
|
* [.](.)
|
2019-01-31 12:09:46 +08:00
|
|
|
* [LICENSE](./LICENSE)
|
2018-12-11 15:57:58 +08:00
|
|
|
* [README.md](./README.md)
|
2019-03-18 01:01:32 +08:00
|
|
|
* [_config.yml](./_config.yml)
|
2018-12-11 15:57:58 +08:00
|
|
|
* [backtracking](./backtracking)
|
2018-07-11 19:44:09 +08:00
|
|
|
* [dataStructure](./dataStructure)
|
|
|
|
* [allOone](./dataStructure/allOone)
|
2018-12-11 15:57:58 +08:00
|
|
|
* [bTree.py](./dataStructure/bTree.py)
|
2018-07-11 19:44:09 +08:00
|
|
|
* [binaryHeap.py](./dataStructure/binaryHeap.py)
|
2018-12-29 19:30:21 +08:00
|
|
|
* [binaryHeap1.py](./dataStructure/binaryHeap1.py)
|
2018-07-11 19:44:09 +08:00
|
|
|
* [binaryTree.py](./dataStructure/binaryTree.py)
|
2018-12-29 19:30:21 +08:00
|
|
|
* [circularQueue.py](./dataStructure/circularQueue.py)
|
2018-07-15 11:20:52 +08:00
|
|
|
* [graph](./dataStructure/graph)
|
2018-10-02 21:24:06 +08:00
|
|
|
* [hashTable.py](./dataStructure/hashTable.py)
|
2018-07-15 11:20:52 +08:00
|
|
|
* [huffman](./dataStructure/huffman)
|
2018-11-07 16:59:20 +08:00
|
|
|
* [intervalTree.py](./dataStructure/intervalTree.py)
|
2018-07-11 19:44:09 +08:00
|
|
|
* [leftHeap.py](./dataStructure/leftHeap.py)
|
2018-12-29 19:30:21 +08:00
|
|
|
* [linkedList.py](./dataStructure/linkedList.py)
|
2018-07-11 19:44:09 +08:00
|
|
|
* [loserTree.py](./dataStructure/loserTree.py)
|
2018-07-15 11:20:52 +08:00
|
|
|
* [map.cc](./dataStructure/map.cc)
|
|
|
|
* [polynomial.cpp](./dataStructure/polynomial.cpp)
|
|
|
|
* [polynomial.py](./dataStructure/polynomial.py)
|
2018-10-02 21:24:06 +08:00
|
|
|
* [redBlackTree.py](./dataStructure/redBlackTree.py)
|
2018-12-11 15:57:58 +08:00
|
|
|
* [redBlackTree0.py](./dataStructure/redBlackTree0.py)
|
2018-10-02 21:24:06 +08:00
|
|
|
* [splayTree.py](./dataStructure/splayTree.py)
|
2018-12-16 17:09:54 +08:00
|
|
|
* [trie](./dataStructure/trie)
|
2018-12-29 19:30:21 +08:00
|
|
|
* [unionFindSet](./dataStructure/unionFindSet)
|
2018-07-11 19:44:09 +08:00
|
|
|
* [winnerTree.py](./dataStructure/winnerTree.py)
|
2018-11-07 16:59:20 +08:00
|
|
|
* [divideAndConquer](./divideAndConquer)
|
|
|
|
* [min_distance_of_n_points.py](./divideAndConquer/min_distance_of_n_points.py)
|
2018-10-02 21:24:06 +08:00
|
|
|
* [dynamicProgramming](./dynamicProgramming)
|
2018-12-11 15:57:58 +08:00
|
|
|
* [Vec2d.hs](./dynamicProgramming/Vec2d.hs)
|
2018-10-02 21:24:06 +08:00
|
|
|
* [lcs.py](./dynamicProgramming/lcs.py)
|
2018-11-07 16:59:20 +08:00
|
|
|
* [matrixChainMultiply.py](./dynamicProgramming/matrixChainMultiply.py)
|
2018-10-02 21:24:06 +08:00
|
|
|
* [splitStripe.hs](./dynamicProgramming/splitStripe.hs)
|
|
|
|
* [splitStripe.py](./dynamicProgramming/splitStripe.py)
|
2018-12-16 17:09:54 +08:00
|
|
|
* [stoneGame.py](./dynamicProgramming/stoneGame.py)
|
2018-10-02 21:24:06 +08:00
|
|
|
* [testVec2d.hs](./dynamicProgramming/testVec2d.hs)
|
2018-12-16 17:09:54 +08:00
|
|
|
* [wildcard_matching.py](./dynamicProgramming/wildcard_matching.py)
|
2018-12-29 19:30:21 +08:00
|
|
|
* [graph](./graph)
|
2019-03-18 01:01:32 +08:00
|
|
|
* [cloneGraph.cpp](./graph/cloneGraph.cpp)
|
2018-12-29 19:30:21 +08:00
|
|
|
* [isBipartGraph.py](./graph/isBipartGraph.py)
|
2018-10-02 21:24:06 +08:00
|
|
|
* [math](./math)
|
2018-12-16 17:09:54 +08:00
|
|
|
* [README.md](./math/README.md)
|
2018-12-29 19:30:21 +08:00
|
|
|
* [convertWeight.py](./math/convertWeight.py)
|
|
|
|
* [fastPow.py](./math/fastPow.py)
|
2019-03-18 01:01:32 +08:00
|
|
|
* [fibonacci](./math/fibonacci)
|
2018-12-29 19:30:21 +08:00
|
|
|
* [numberTheory](./math/numberTheory)
|
|
|
|
* [numericalAnalysis](./math/numericalAnalysis)
|
|
|
|
* [permute](./math/permute)
|
2019-03-18 01:01:32 +08:00
|
|
|
* [parser](./parser)
|
|
|
|
* [PL0-compiler](./parser/PL0-compiler)
|
|
|
|
* [calculator](./parser/calculator)
|
|
|
|
* [declarationParser](./parser/declarationParser)
|
2018-10-02 21:24:06 +08:00
|
|
|
* [search](./search)
|
|
|
|
* [8Astar.py](./search/8Astar.py)
|
2018-12-11 15:57:58 +08:00
|
|
|
* [BFS_knight.hs](./search/BFS_knight.hs)
|
|
|
|
* [binary_search.hs](./search/binary_search.hs)
|
2018-11-07 16:59:20 +08:00
|
|
|
* [bloomFilter.py](./search/bloomFilter.py)
|
2018-12-11 15:57:58 +08:00
|
|
|
* [schedule.py](./search/schedule.py)
|
2019-01-31 12:09:46 +08:00
|
|
|
* [work_dispatch.py](./search/work_dispatch.py)
|
2018-11-07 16:59:20 +08:00
|
|
|
* [sort](./sort)
|
|
|
|
* [binaryTree.py](./sort/binaryTree.py)
|
|
|
|
* [heapSort.py](./sort/heapSort.py)
|
2018-12-29 19:30:21 +08:00
|
|
|
* [quickSort.c](./sort/quickSort.c)
|
2018-11-07 16:59:20 +08:00
|
|
|
* [quickSort.py](./sort/quickSort.py)
|
|
|
|
* [radixSort.py](./sort/radixSort.py)
|
|
|
|
* [select.py](./sort/select.py)
|
|
|
|
* [shellSort.py](./sort/shellSort.py)
|
|
|
|
* [string](./string)
|
2018-12-11 15:57:58 +08:00
|
|
|
* [KMP.py](./string/KMP.py)
|
|
|
|
* [README.md](./string/README.md)
|
2018-11-07 16:59:20 +08:00
|
|
|
* [manacher.py](./string/manacher.py)
|
|
|
|
* [markov.py](./string/markov.py)
|
2018-12-11 15:57:58 +08:00
|
|
|
* [rabin_karp.py](./string/rabin_karp.py)
|
2019-01-31 12:09:46 +08:00
|
|
|
* [rotate.py](./string/rotate.py)
|
2018-12-11 15:57:58 +08:00
|
|
|
* [src](./string/src)
|
|
|
|
* [sunday.py](./string/sunday.py)
|
2018-12-16 17:09:54 +08:00
|
|
|
* [wildcard_matching.py](./string/wildcard_matching.py)
|
2018-12-11 15:57:58 +08:00
|
|
|
* [utils](./utils)
|
2019-03-18 01:01:32 +08:00
|
|
|
* [codecogs.py](./utils/codecogs.py)
|
2018-12-11 15:57:58 +08:00
|
|
|
* [config.py](./utils/config.py)
|
|
|
|
* [genReadme.py](./utils/genReadme.py)
|
|
|
|
* [headinfo.py](./utils/headinfo.py)
|
|
|
|
* [tree.py](./utils/tree.py)
|