这是我在自考对北京邮电大学时, 学习计算机应用本科教材 <数据结构> 2012 年版的笔记 和代码整理. 用来自查和备考快速浏览用.
对应的 Wiki 地址是: https://github.com/UniFreak/AlgsZikaoNote/wiki.
- 尽量保持和书中代码一致, 但对于特别绕口的代码, 做了一些简单优化, 如变量名重命名.
- 针对所有算法都添加了测试用例, 可以参看每个文件中的
main()
函数. - 添加了一些学习时的总结和理解.
- 改正了一些书中的错误代码和讲解.
- 在 Wiki 右侧列出了每章节的相关代码链接, 方便阅览和复习.
代码中形如 p.94
的标记用于表示书中对应的页码; 形如 @err
的标记用于表示书中出
错的地方.
在大部分的函数实现的注释中给出了性能分析.
main()
方法中的注释给出了示例运行的结果.
你可以把本项目克隆到本地, 这样更便于运行代码:
git clone [email protected]:UniFreak/AlgsZikaoNote.git
直接在命令行运行已经编译好的文件即可看到测试用例的输出, 如运行 ./Sort
.
有些文件会单独有一个测试文件, 这些文件都以 Test
结尾, 比如 SeqStackTest
. 这
样做是为了在其他文件中引用 SeqList.c
时, 避免测试输出. 对于这些单独的测试文件,
你可以通过运行 ./test SeqStack
来运行测试.
我是在 Mac 上编译的, 如果在 Windows 上运行不了, 可以尝试自行编译每个文件再运行.