离散数学是现代数学的一个重要分支,是计算机科学与技术的重要理论基础。 1977年,离散数学被 IEEE确定为计算机专业核心主干课程,2004年在计算机 5个相关专业的培养计划中,离散数学是计算机工程(Computer Engineering,CE)、计算机科学(Computer Science,CS)和系统工程( System Engineering,SE)3个专业的重要核心课程。作为数据结构、编译原理、数据库原理、操作系统、人工智能等专业课程的前导课程,离散数学不仅需要提供必要的基础知识,更重要的是通过离散数学的学习,培养学生的抽象思维能力和逻辑思维能力,进一步强化学生的程序设计能力。
对于学生而言,单纯的理论知识是枯燥的。因此,增加必要的工程应用,与后续的专业课程进行有效衔接,将提高学生的学习兴趣。在设计具体内容时,本教材借鉴了目前主流教材的特点,除必要的基础知识外,增加了相关知识点的工程应用,突出离散数学在程序设计、算法分析以及相关专业课程中的应用。
1. 特点
1)针对性强,适用范围广
本书针对单学期、短学时的离散数学或计算机数学课程而设计,除必要的基础知识外,增加了学习本课程所需要的矩阵基础知识、组合数学以及数论基础知识。本教材适合高等学校计算机类、数学类等专业的学生使用。
2)授之以渔,注重对解题方法和解题思路的培养
本书针对每一个例题,在给出完整的解题过程之前,尽可能给出详细的分析过程和必要的证明思路。通过对例题的分析,注重对学生解题方法和解题思路的培养,达到“授之以渔”的目的。
3)注重数学的工程应用,培养学生的程序设计思维
本书在设计教学内容时,注重知识点在程序设计、算法分析以及后续专业课程中的应用,让学生了解知识点的应用价值。同时,选取了程序设计大赛中的典型赛题,基于相关的知识点对赛题进行分析,设计巧妙的程序。
2. 内容安排
第 1章矩阵知识初步。对本书中需要的矩阵知识进行简要的介绍,包括矩阵的基本概念、矩阵的运算以及布尔矩阵等。
第 2章组合数学与数论初步。对组合数学及数论的基本知识进行介绍,包括基本计数原则、排列组合、鸽笼原理、素数、最大公约数与最小公倍数、数的进制转换等。
第 3章命题逻辑。对命题逻辑的相关知识进行介绍,包括命题及命题联结词、命题公式、命题公式的等值演算、联结词的完备集、命题公式的范式、命题逻辑的推理等。
第 4章谓词逻辑。对谓词逻辑的相关知识进行介绍,包括谓词逻辑的基本知识、谓词公式的等价及蕴含、谓词逻辑的推理等。
第 5章集合论基础。对集合论的基础知识进行介绍,包括集合的基本表示、集合的基本运算、容斥原理等。
第 6章关系。对关系的相关知识进行介绍,包括关系的定义与表示、关系的运算、关系的性质等。
第 7章特殊关系。介绍了 3类特殊的关系:等价关系、偏序关系和函数。
第 8章图论基础。对图论的基础知识进行介绍,包括图论的基本概念、通路与回路、无向图和有向图的连通性等。
第 9章特殊图。介绍 3种常用的图:欧拉图、汉密尔顿图、树。
第 10章代数系统。对代数系统的基本概念进行介绍,包括运算与代数系统的基本定义、运算的性质及特殊元素、代数系统的同态、代数系统与子代数系统等。
第 11章群论。对半群、独异点、群的基本概念进行介绍,此外,对置换群、循环群、正规子群等也进行了介绍。
第 12章其他代数系统。介绍了环、域、布尔代数等其他代数系统。
本书具体编写分工如下:第 1章、第 7章由李秀芳编写,第 8章、第 9章由杨洪勇编写,第 10章、第 12章由赵永升编写,其余章节由张小峰编写,全书的策划和定稿工作由张小峰负责。
作为鲁东大学软件工程专业、计算机科学与技术专业应用型人才培养的系列教材之一,本书曾作为校内讲义在校内多次印刷,在软件工程、计算机科学与技术、网络工程、信息管理与信息系统等专业中使用。在清华大学出版社正式出版之际,在原讲义的基础上,结合多年的教学实践与改革,进行了较大的修改,使其既能适合在校学生学习,又能适合其他读者阅读。
在本书的规划和写作过程中,山东大学张彩明教授、西安电子科技大学李兴华教授、鲁东大学邹海林教授等对书稿进行了审阅,提出许多建设性的建议,在此深表感谢。清华大学出版社的广大员工也为教材的出版付出了大量的心血,使本书得以及时出版,在此一并致以衷心的感谢。
在本书编写的过程中,作者参考了国内外诸多版本的《离散数学》、《计算机数学基础》等相关教材,同时参考了相关计算机程序设计大赛的相关资料,这里不再一一列举,在此一并感谢。
限于作者学识水平,教材在内容的取舍、教学体系的设计、知识点的构造、程序设计思想的培养等方面肯定存在不足之处,恳请专家、同行和读者提出批评指正。
作者
2015年 9月于烟台
