本书系统地介绍了计算机科学与技术等相关专业所必需的离散数学知识。全书共8章。第1章介绍命题及命题逻辑,第2章介绍谓词逻辑及其推理理论,第3章介绍集合与关系的基本概念和性质,第4章介绍函数,第5章介绍代数系统,第6章介绍格与布尔代数,第7章介绍图论的基本概念及其性质,第8章介绍离散数学在计算机科学中的一些具体应用。 本书适合作为高等学校计算机专业及相关专业的本科生教材,也可以供对离散数学有兴趣的读者自学。
本书介绍了算法设计与分析的基本技巧,主要包括递归、分治、动态规划、贪心和随机等算法,以及利用这些算法求解计算问题的时间复杂度分析等内容。通过诸多有趣的实例,向读者介绍了算法设计的思想,以便读者能形成算法思维的固定模式去解决问题。在介绍每一类算法范式以及分析算法复杂度时,都力求建立直观的思维过程,而摒弃过深的数学证明。书中所有算法均采用 Python语言描述,读者能从中学习到许多算法实现的技巧,从而提高编写程序的能力。 本书可作为高等学校计算机专业大一、大二或者学习过程序设计的非计算机专业学生的算法设计与分析教材。