Algorithms & Data structures in C++.
Switch branches/tags
Nothing to show
Clone or download
xtaci Merge pull request #80 from kounkou/patch-makefile
This pull request solve the cleaning of *.o file issue
Latest commit 2ac19a7 Feb 22, 2018

Algorithms & Data Structures in C++

Build Status

目标 ( goal ) :

  1. 经典的算法实现
    (classical algorithms implementations)
  2. 服务器端
    (based on linux/gcc)
  3. 正确,易于使用和改造, 一个头文件一个算法,并附带一个demo.
    (correct! and ease of use, one .header file per algorithm)

约定 ( Convention ):

  1. 一个算法用一个.h文件表示放到include下. ( one .header file per algorithm. )
  2. 算法演示的demo程序放到src下. ( one demo per algorithm. )
  3. 程序正确通过后,请发起Pull Requests,代码被验证后入库,并在README中发布新算法实现。 (Please Use Fork+Pull Requests !!! Correctness is the most important!)
  4. TAB = 4 space. set ts=4 in vim
  5. Graph的输出格式为 Graphviz Dot格式. (the output format of the graph is in dot of graphviz.) eg: demograph

已实现 ( Implemented ):

Name File
Array shuffle
Prime test(trial division)
Prime test(Miller-Rabin's method)
2D Array
Arbitrary Integer
Linear congruential generator
Maximum subarray problem
Binary Heap
Fibonacci Heap
Priority Queue (list based)
Bubble sort
Selection sort
Insertion sort
Shell sort
Radix sort
Merge sort
Double linked list
Skip list
Largest common sequence
Binary search tree
AVL tree
Dynamic order statistics
Red-black tree
Interval tree
Prefix Tree(Trie)
Suffix Tree
Suffix Array
Hash by multiplication
Hash table
Universal hash function
Perfect hash
Java's string hash
FNV-1a string hash
Bloom Filter
SHA-1 Message Digest Algorithm
Strongly Connected Components(SCC)
Prim's minimum spanning tree
Kruskal MST
Breadth First Search
Depth First Search
Dijkstra's algorithm
Bellman-Ford algorithm
Edmonds-Karp Maximal Flow
Push–Relabel algorithm
Huffman Coding
Word segementation
A* algorithm
Knuth–Morris–Pratt algorithm
8-Queue Problem
LCA using Binary Lifting

贡献者 ( Contributors ) :

Samana:  for heavy work of MSVC compatability
wycg1984: for K-Means
xmuliang: for HeapSort, Kruskal MST
wyh267: for base64, LRU, bubble sort, selection sort
ZhangYou0122: Push-Relabel algorithm, Suffix Tree           
UsingtcNower: Suffix Array
afernandez90: AVL trees

支持此项目 ( Donations ) :