本书围绕大学生计算机算法,收集和整理了比较常见的算法与数据结构写成。借鉴了一些经典的算法书籍,和互联网上的资料。本书通过数学公式和图画的方式来描述算法,并配备源码实现、测试用例,以及一些在Online Judge网站上的题目,来帮助读者真正理解算法。
由于个人经验有限,难免存在一些疏漏和错误的地方,还请指正。
本书目前只能算是半成品,因为参加工作,项目进度一直比较慢。如果有人愿意参与,可以直接fork项目,然后提交pull request,我会review之后merge。
本书主要使用markdown编写文档、draw.io制作SVG插图、cmake管理C++11项目、gitbook发布书籍,编写时尽量与书中基本完成的前四章风格保持一致。
gitbook的发布方式是我目前找到的最好的方法,支持markdown文档、Latex公式、SVG图片、展示源码、集成github代码库,而且通过gitbook站点可以直接分发本书。但由于gitbook的插件mathjax对website和ebook的支持存在bug,目前通过浏览器访问需要两次刷新才能正确显示Latex公式,而且pdf也无法正确下载。这些bug可能需要更久的时间等待gitbook及相关作者的修复,或者找到其它更好的替换方案。
