LearningMasteringAlgorithms-C icon indicating copy to clipboard operation
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,其中 bfsExample 中的示例目录。

也可以自己使用cc gcc 等,gcc source/*.c Example/bfs/main.c -I ./include -o bfs && ./bfs

ScreenShot

数据结构

链表

  • 单链表
  • 页帧管理
  • 双向链表
  • 循环链表
  • 第二次机会页面置换

栈和队列

  • 队列
  • 事件处理

集合

  • 集合
  • 集合覆盖

哈希表

  • 链式哈希表
  • 符号表
  • 开地址哈希表

  • 二叉树
  • 二叉树遍历
  • 二叉搜索树

堆和优先队列

  • 优先队列
  • 包裹分拣

  • 图的深度搜索
  • 图的广度搜索

算法

排序和搜索

  • 插入排序
  • 快速排序
  • 目录列表
  • 归并排序
  • 计数排序
  • 基数排序
  • 二分查找
  • 拼写检查器

数值计算

  • 多项式插值法
  • 最小二乘估计法
  • 方程求解

数据压缩

  • 位操作
  • 霍夫曼编码
  • 网络传输优化
  • LZ77

数据加密

  • DES算法
  • 分组加密模式
  • RSA算法

图算法

  • 最小生成树
  • 最短路径
  • 最短距离路由
  • 旅行商问题

几何算法

  • 测试线段是否相交
  • 凸包计算
  • 球面弧长
  • 地球上两点之间的近似距离