图书前言

前言

本书以《离散数学基础(第2版)》为基础,在广泛听取广大读者的意见和建议的基础上修改而成。本版主要对第2版中一些描述错误和印刷错误进行订正,增加了第8章离散数学实验等内容。

离散数学是计算机类专业的一门重要的专业基础课,属于现代数学的范畴,是随着计算机科学的发展而逐步形成的一门新兴的工具性学科。它在计算机类专业的许多后续课程中有着广泛的应用,为计算机科学与技术提供数学基础。国内已出版的离散数学教材不少,但特别适合地方院校和独立学院计算机类专业使用的不多,主要的问题是理论性太强,大都是从纯数学的角度讨论问题,缺乏与计算机相关专业的联系。本书的写作目的是从离散数学教学的实际现状出发,克服目前国内教材普遍存在注重理论、忽视应用的问题,按照突出离散数学的实用性以及实用够用的原则精选教学内容,突破传统的离散数学的四大模块内容,删除部分大学阶段用不到的内容,增加基础知识、组合数学、布尔代数及离散数学实验等内容,使教学内容更加易学实用。

本书第1章主要介绍本书所需的准备知识,包括集合及其在计算机中的表示、数论初步、序列和递推关系、一般矩阵和布尔矩阵的运算等。第2章主要介绍数理逻辑的基础知识,包括命题逻辑和谓词逻辑的基本概念、演算及推理等。第3章主要介绍组合数学中的计数理论和方法,包括计数原则、生成函数、鸽巢原理和容斥原理等。第4章主要介绍关系理论,包括二元关系基本概念和运算、等价关系与划分、偏序关系、n元关系及应用、函数等。第5章主要介绍布尔代数的基本理论和应用,包括布尔运算、布尔表达式和布尔函数、积之和展开式(析取范式)、逻辑门电路表示和卡诺图等。第6章主要介绍图的基本理论和应用,包括图论基础、图的矩阵表示、连通性理论、几种特殊的图、带权图的最短路径算法(Dijkstra算法和Floyd算法)等。第7章主要介绍树及其应用,包括树的定义,树的应用(决策树、前缀码等),树的遍历算法,表达式表示,生成树和最小生成树算法(Prim算法和Kruskal算法)等。第8章给出了离散数学实验,每个实验都针对书中理论部分的具体知识点,这样使读者既巩固了前面所学的知识又提高了编程能力。

本书有以下特点。

(1) 简单易学: 只要求学生学过高等数学,不需要更多的预备知识; 书中内容深入浅出,理论适中,实例丰富,便于自学。

(2) 实用性强: 注重离散数学作为计算机科学专业的数学基础,强调与本专业后续课程的关系,所举例子尽量与专业相关。

(3) 定位明确: 适合地方二本院校和独立学院学生使用。

本书教学课时为72~90学时。教师可根据学时、专业和学生的实际情况对书中内容进行选讲。

本书由谢胜利、虞铭财、王振宏编著。其中,第1章和第8章由虞铭财编写,第2章由王振宏编写,其余章节由谢胜利编写。全书由谢胜利统稿。

因为编者水平有限,难免存在疏漏之处,恳请读者批评指正。

编者

2018年4月