个人觉得离散数学中间的东西在数据结构中出现的重点是树(包括二叉树)、图,还有表达式的中缀前缀和后缀(当然,如果光考研,这个也没有太大问题,很多学校数据结构单考试题没有),其实数据结构中的重点除了一部分离散数学知识外,还有的是算法思路、算法理解和算法设计,这个就不是离散数学所包括了的,而且如果自己程序设计(包括算法设计)的基础比较好,光为了考研应试,对离散数学的要求真的不是太多,当然,如果能够将树和图的经典算法(离散数学和数据结构都有)弄懂并且编码实现就更好了
你看看这个行不? 【摘要】离散数学是计算机科学基础理论的核心,本文介绍了离散数学在人工智能、数据结构、数据库等方面的应用,显示了离散数学在计算机科学中的重要性。
【关键词】人工智能 二叉树的遍历 数据库
1 引言
离散数学是计算机专业的核心基础课,它在计算机科学中有着重要的应用。它是计算机专业课《数据结构》、《操作系统》、《编译原理》、《数据库系统原理》和《数字逻辑》等课的必备基础,因此离散数学是掌握计算机科学理论基础的重要数学工具。本文正是从这一角度出发,介绍离散数学在计算机科学中的重要应用。
2 离散数学在计算机学科中的应用
2.1 数理逻辑在人工智能中的应用
人工智能是计算机学科中一个非常重要的方向,离散数学在人工智能中的应用主要是数理逻辑部分在人工智能中的应用。数理逻辑包括命题逻辑和谓词逻辑,命题逻辑就是研究以命题为单位进行前提与结论之间的推理,而谓词逻辑就是研究句子内在的联系。大家都知道,人工智能共有两个流派,连接主义流派和符号主义流派。其中在符号主义流派里,他们认为现实世界的各种事物可以用符号的形式表示出来,其中最主要的就是人类的自然语言可以用符号进行表示。语言的符号化就是数理逻辑研究的基本内容,计算机智能化的前提就是将人类的语言符号化成机器可以识别的符号,这样计算机才能进行推理,才能具有智能。由此可见数理逻辑中重要的思想、方法及内容贯穿到人工智能的整个学科。
2.2 图论在数据结构中的应用
离散数学在数据结构中的应用主要是图论部分在数据结构中的应用,树在图论中占着重要的地位。树是一种非线性数据结构,在现实生活中可以用树来表示某一家族的家谱或某公司的组织结构,也可以用它来表示计算机中文件的组织结构,树中二叉树在计算机科学中有着重要的应用。二叉树共有三种遍历方法:前序遍历法、中序遍历法和后序遍历法。
2.2.1 前序遍历法:如果二叉树为空,则返回。否则(1)访问根节点(2)前序遍历左子树(3)前序遍历右子树,得到前序序列。
2.2.2 中序遍历法:如果二叉树为空,则返回。否则(1)中序遍历左子树(2)访问根节点(3)中序遍历右子树,得到中序序列。
2.2.3 后序遍历法:如果二叉树为空,则返回。否则(1)后序遍历左子树(2)后序遍历右子树(3)访问根节点,得到后序序列。
通过访问不同的遍历序列,可以得到不同的节点序列,通常在计算机中利用不同的遍历方法读出代数表达式,以便在计算机中对代数表达式进行操作。
2.3 集合论在数据库系统理论中的应用
集合论是离散数学中极其重要的一部分,它在数据库中有着广泛的应用。我们可以利用关系理论使数据库从网络型、层次型转变成关系型,这样使数据库中的数据容易表示,并且易于存储和处理,使逻辑结构简单、数据独立性强、数据共享、数据冗余可控和操作简单。当数据库中记录较多时,集合中的笛卡儿积方便了记录的查询、插入、删除和修改。
2.4 代数系统在通信方面的应用
代数系统在计算机中的应用广泛,例如有限机,开关线路的计数等方面。但最常用的是在纠错码方面的应用。在计算机和数据通信中,经常需要将二进制数字信号进行传递,这种传递常常距离很远,所以难免会出现错误。通常采用纠错码来避免这种错误的发生,而设计的这种纠错码的数学基础就是代数系统。纠错码中的一致校验矩阵就是根据代数系统中的群概念来进行设计的,另外在群码的校正中,也用到了代数系统中的陪集。
2.5 离散数学在生物信息学中的应用
生物信息学是现代计算机科学中一个崭新的分支,它是计算机科学与生物学相结合的产物。目前,在美国有一个国家实验室Sandia国家实验室,主要进行组合编码理论和密码学的研究,该机构在美国和国际学术界有很高的地位。另外,由于DNA是离散数学中的序列结构,美国科学院院士,近代离散数学的奠基人Rota教授预言,生物学中的组合问题将成为离散数学的一个前沿领域。而且,IBM公司也将成立一个生物信息学研究中心。在1994年美国计算机科学家阿德勒曼公布了DNA计算机的理论,并成功地运用DNA计算机解决了一个有向哈密尔顿路径问题,这一成果迅速在国际产生了巨大的反响,同时也引起了国内学者的关注。DNA计算机的基本思想是:以DNA碱基序列作为信息编码的载体,利用现代分子生物学技术,在试管内控制酶作用下的DNA序列反应,作为实现运算的过程;这样,以反应前DNA序列作为输入的数据,反应后的DNA序列作为运算的结果,DNA计算机几乎能够解决所有的NP完全问题。
3 结论
现在我国每一所大学的计算机专业都开设离散数学课程,正因为离散数学在计算机科学中的重要应用,可以说没有离散数学就没有计算机理论,也就没有计算机科学。所以,应努力学习离散数学,推动离散数学的研究,使它在计算机中有着更为广泛的应用。
参考文献
[1] 耿素云,屈婉玲,离散数学[M].北京:高等教育出版社<1998.
[2] 左孝凌,李永监,刘永才编著.离散数学[M].上海:上海科学技术文献出版社,2004.
[3] 朱一清.离散数学[M].北京:电子工业出版社,2004
数据结构与算法紧密联系,程序就是用算法处理以一定数据结构存储的数据。
而离散数学是数学的理论知识,我学习的主要是结题方法,也即算法。