LearningMasteringAlgorithms-C
LearningMasteringAlgorithms-C copied to clipboard
Mastering Algorithms with C 《算法精解:C语言描述》源码及Xcode工程、Linux工程
《算法精解:C语言描述》源码及Xcode工程、Linux工程
Mac 下使用 Xcode 打开 MasteringAlgorithms.xcodeproj
即可。Algorithms.xcodeproj
为算法库文件工程。每个 Example 都是单独的运行文件。
Mac 或者 Linux 命令行
只需要有简单的 c 编译环境cc
然后执行 ./run bfs
,其中 bfs
为 Example
中的示例目录。
也可以自己使用cc
gcc
等,gcc source/*.c Example/bfs/main.c -I ./include -o bfs && ./bfs
数据结构
链表
- 单链表
- 页帧管理
- 双向链表
- 循环链表
- 第二次机会页面置换
栈和队列
- 栈
- 队列
- 事件处理
集合
- 集合
- 集合覆盖
哈希表
- 链式哈希表
- 符号表
- 开地址哈希表
树
- 二叉树
- 二叉树遍历
- 二叉搜索树
堆和优先队列
- 堆
- 优先队列
- 包裹分拣
图
- 图
- 图的深度搜索
- 图的广度搜索
算法
排序和搜索
- 插入排序
- 快速排序
- 目录列表
- 归并排序
- 计数排序
- 基数排序
- 二分查找
- 拼写检查器
数值计算
- 多项式插值法
- 最小二乘估计法
- 方程求解
数据压缩
- 位操作
- 霍夫曼编码
- 网络传输优化
- LZ77
数据加密
- DES算法
- 分组加密模式
- RSA算法
图算法
- 最小生成树
- 最短路径
- 最短距离路由
- 旅行商问题
几何算法
- 测试线段是否相交
- 凸包计算
- 球面弧长
- 地球上两点之间的近似距离