使用 Swift 语言实现数据结构与算法之美专栏代码 ,在原有基础上扩增了一些内容,原始代码 https://github.com/wangzheng0822/algo
源代码在第一级目录所对应的文件夹下,测试工程以及测试代码在 Algorithm 目录下,可以直接使用 Xcode 打开工程文件 Algorithm.xcodeproj
,选择对应的 Target 运行测试代码
- 实现单链表、循环链表、双向链表,支持增删操作
- 实现单链表反转
- 实现两个有序的链表合并为一个有序链表
- 实现求链表的中间结点
- 实现求链表的倒数第K个结点(快慢指针)
- 判断链表是否有环
- 链表有环的话,求链表环的入口位置
- 实现有向图、无向图、有权图、无权图的邻接矩阵和邻接表表示方法
- 实现图的深度优先搜索、广度优先搜索
- 实现图的最小生成树算法(Kruskal、Prime)
- 实现 Dijkstra 算法、A*算法
- 实现拓扑排序的 Kahn 算法、DFS 算法
- 实现朴素的字符串匹配算法
- 实现BM算法
- 实现KMP算法
- 实现一个字符集,只包含a~z这26个英文字母的Trie树
- 分糖果、钱币找零、区间覆盖
- 霍夫曼编码问题
- 非负整数中,移除K个数字,让剩下的数字值最小
- n个人等待服务问题,如何安排被服务的先后顺序,使 n 个人总的等待时间最短
更多 LeetCode 题解请点击
- VisuAlgo.net:数据结构与算法动态可视化网站,网站是由 Steven Halim 博士推行建立,初衷是为了帮助新加坡国立大学的学生们,更好的理解数据结构与算法,并进一步强化对各项知识点的吸收;
- 旧金山大学数据结构与算法可视化网站 :见名知意,旧金山大学为学生提供的数据结构与算法在线可视化网站,可以直接在网页上面查看算法执行效果;
- swift-algorithm-club:raywenderlich 网站出品的 swift 数据结构与算法书籍答案,非常全面和具体。学习 iOS 的各位都十分清楚,raywenderlich 网站提供的知识非常靠谱,学起来准没错;
- SwiftAlgorithms:针对 swift-algorithm-club 编写的开源应用程序;
- LeetCode-Swift:Swift 编写的 LeetCode 题解,强大;
- LeetCodeAnimation:图解 LeetCode 算法,使用 Java 语言编写;
- LeetCode刷题指南: 完整的刷题计划,帮助大家少走弯路,循序渐进学算法;
- 数据结构与算法博客:使用C、C++、Java 语言实现的常见数据结构与算法博客,原理讲的比较透彻,代码编写的比较经典,学习时可以参考下;
- algorithms:使用 Java 语言编写的 《剑指offer》题解;
- 《编程之法:面试与算法心得》:书籍配套代码,七月在线科技创始人兼 CEO,CSDN 超人气博客"结构之法算法之道"作者 July 编写,质量有保证,可参考学习;