主要数据结构与算法的C++实现
下面是我学习数据结构与算法时的一些主要数据结构以及算法的C++实现,都放在我的GitHub里了(点击下方链接即可查看),欢迎大家来踩(文明交流、探讨),有问题可随时在我的GitHub上或博客下方评论。
主要涉及以下几个方面:
图(Graph)
有向图、无向图、加权有向图、加权无向图的实现
以及基于这些图的最短路径,关键路径,最小生成树算法, 环以及负环的判定(BellmanFord)
符号表(symbolTable)
二叉树的遍历、平衡树、二叉搜索树、经典红黑树、左倾红黑树、哈希表(线性探测法与拉链法),集合(分别基于红黑树、基于哈希表)、稀疏矩阵
字符串(string)
低位优先、高位优先、单词查找树、暴力算法、KMP、正则表达式
排序(sort)
简单排序、优先队列、堆排、归并、快排、希尔排序
链表(List)
单链表、顺序链表、双向环形链表
栈(Stack)
链栈、顺序栈、以及基于栈的计算器实现
队列(Queue)
顺序队列、链式队列、随机队列、环形队列
随机背包(RandomBag)
UnionFind的实现
nSum问题
最长子序列求和问题(MaxSubSeqSum)
文件夹的遍历问题(FileList)
以及一些其他的杂项(Miscellaneous)