这是一本面向计算机专业或者计算机爱好者的算法教材,旨在将更多对程序算法感兴趣,但又苦于无从入手的同学带进算法的大门。全书共分11 章,第1 章介绍Linux 操作系统与C++编程环境,第2 章简单介绍初级算法,第3 章介绍基础数据结构,第4 章介绍枚举、递推、递归、贪心、分治、哈希和二分等基础算法设计,第5 章介绍简单排序算法,第6 章介绍图论的相关知识,第7 章介绍并查集和线段树两种高级数据结构,第8章介绍KMP、字典树、Z 算法和马拉车算法等处理字符串的数据结构,第9 章介绍深度优先搜索、宽度优先搜索、双向宽度优先搜索、A*搜索和一些剪枝常用的策略,第10 章介绍初等数论,第11 章介绍动态规划,重点讲述背包问题。
本书可作为高等学校计算机专业、软件工程专业教学用书,以及ACM大赛参考用书。
这是面向计算机专业或者爱好计算机的同学的算法教材配套课程网站,同学们在今后的学习还是工作中都会应用到一些算法的知识,而目前国内外大型互联网公司招聘时的笔试和面试都以算法为主,可见算法的重要性是不言而喻的。本课程旨在将更多对计算机和算法感兴趣,但又苦于无从入手的同学带进算法的大门,包含了排序、搜索、图论、数论、动态规划等算法,通过C++语言实现了教材中的每一个经典的计算机算法,相信当同学们掌握了这些内容之后,会对算法和程序设计有一个新层次的认识并会对它们产生浓厚的兴趣。为了配合教学,我们将程序运行过程抓屏录制了58个视频,9个pdf文件为课外拓展阅读。