一些算法/数据结构在现代C++
的模板实现
下方链接为相关文章
TODO:
数据结构
- AA Tree(红黑树变体), AA_treeset.hpp
- 树状数组(Binary Index Tree), binary_index_tree.hpp
- 左偏红黑树(Left Leaning RBT), left_leaning_red_black_treeset.hpp
- 渐进式散列表(Rehash)
- 优先队列(Binary Heap), priority_queue.hpp
- 定序哈希(LinkedHashset)
- 跳表(Skiplist), skiplist.hpp
- B+树
- 字典树(Trie)
- LRU
- 线段树(SegmentTree), segment_tree.hpp, dynamic_segment_tree.hpp
- 稀疏表(SparseTable)
- 伸展树(Splay)
- 并查集(UnionFind), union_find.hpp
- LFU
- 跳舞链(DancingLink)
搜索与排序
- 快速排序, quick_sort.hpp
- A*
几何
- 凸包
图论
- 最小生成树
- 强连通分量(Tarjan)
- 单源最短路
数论
- 乘法逆元
- 素数筛
泛型
- 具名元组(namedtuple), named_tuple.hpp
- 变长模板参数(TypeList)
- 匿名结构体
- 柯里化(currying), curry.hpp
- 函数组合(compose),compose.hpp
- 递归lambda, recursive_lambda.hpp
- 类装饰器, trait.cpp
- 函数装饰器, decorator.cpp
- 打印STL容器,container_printer.hpp
杂项