Answers:
使用CLR书籍的MIT课程具有特定的先修课程。该先修课程使用的教科书是免费提供的。
这里是:
前提课程的前提课程是单变量演算。
正如@ user16764所指的是参考特定的MIT课程产品(6.042)一样,通常称为离散数学的版本与第一年(大学)水平的微积分相结合,是理解许多(基本)算法及其原理的主要要求。分析。
专门或高级算法可能需要其他或高级数学背景,例如统计/概率(科学和金融程序设计),抽象代数和数论(即用于密码学)。
作为一名学生,我的离散数学课程有Susanna Epp 编写的《离散数学及其应用》教科书,我在图书馆找到的另一本教科书是Kenneth Ross和Charles Wright的《离散数学》。高质量的二手书之一可能是一个不错的起点(根据您的学习风格,是否与MIT开放式课件结合使用)。对于自学,我经常发现有两个参考资料可以帮助阐明我难以理解的要点。
我见过的另一种建议是《具体数学》,由Ronald L. Graham,Donald E. Knuth和Oren Patashnik 撰写的第二版。目前,我找不到我的副本,也没有认真研究它,因此无法提出建议或反对。
从序言:
但是具体数学到底是什么?它是连续和离散数学的融合。更具体地说,它是使用一系列解决问题的技术来控制数学公式。
我将在此博客条目“ Books Programmers'd Really Readed ”中注意到蜥蜴人Bill的curmudgeon评论。就我个人而言,我仍然觉得罗伯特·塞奇威克的算法(现在是第4版)不那么令人生畏,而且更容易接近。
除非您担心算法的“分析”,而不仅仅是它们的实现,否则我相信您会很好。在大多数大学课程中,我们课程通常是UD数学或CS课程。
仅了解如何实现该书中的算法就不会有问题