离散数学对程序员来说非常重要,还有组合数学、线性代数、概率论、数论等等,即使你将来不做研究,这些基础知识也能极大地提高你的水平。计算机科学对离散数学的要求很高,建议你先学习前面提到的这些课程,然后学习计算机算法和数据结构,再配合到网上的在线题库做题,过程很艰辛,但是对你的帮助会很大。
推荐书目:
《具体数学》(先学完前面的数学课程,在水平有一定进步以后再看)
《算法导论》(应该人手一本的好书)
简单来说,学数学的目的,一方面是活跃你的思维;另一方面是为了深入学习算法打基础,设想一下,同样的问题,普通人的程序要几十分钟甚至几小时几天才能解决出来,甚至根本无法解决,而你精心设计的程序却能在1秒内解决出来,这就是数学的魅力、算法的魅力。
其实,一切取决于你是否想做一个高级程序员。如果你做体力活(其实一般编程别人都认为是体力活),那你可以不学,因为你用不到,但是,你要是做技术上的创新,做个很强的程序员,没有数学的支持,很难。
你既然学习了C,c++,你也知道算法的重要性,同样一个问题,我用13行程序解决了,我的同学居然用了33行,因为他不懂的用数学。你要达到什么高等,取决于你的数学修养。当然,要做一个普通的程序员就不用学习了。要挑战自己,做个好的,优秀的,学习数学吧!
命题的判断是通过它是否是可以确切真值的陈述句来决定的,你想判断一个命题的真假可以用程序来写,但是如果你是想判断一个命题是不是命题,那就不行了,因为计算机不会帮你分析它是不是真假,除非你确定它是命题之后,可以用一系列的演算公式来推导它的真值,命题的真值表肯定能算出来,但是前提是,它必须是命题。
离散这破东西说起来就是拗口,绕来绕去了。你先分析一下是不是问的方式有问题。
《离散数学|01离散数学 北京大学134讲》百度网盘免费资源下载
422e
离散数学|01离散数学 北京大学 134讲|免费--离散数学学习指导与习题解析_屈婉玲_耿素云_张立昂pdf|《离散数学教程》-+屈婉玲_耿素云_王捍贫pdf|0134-KL的可靠性与和谐性flv|0133-KL的解释与赋值 (VI)flv|0132-KL的解释与赋值 (V)flv|0131-KL的解释与赋值 (IV)flv|0130-KL的解释与赋值 (III)flv|0129-KL的解释与赋值 (II)flv|0128-KL的解释与赋值 (I)flv|0127-NL与KL的等价性flv|0126-一阶谓词演算的形式系统KL (II)flv|0125-一阶谓词演算的形式系统KL (I)flv|0124-一阶谓词演算的自然推演形式系统NL (VI)flv
离散数学中的概念和定理偏多,思维较抽象,证明强调技巧性但变化不多。下面我给大家整理了关于离散数学证明 方法 ,希望对你有帮助!
1离散数学证明方法
离散数学是现代数学的一个重要分支,是计算机科学中基础理论的核心课程。离散数学以研究离散量的结构和相互间的关系为主要目标,其研究对象一般地是有限个或可数个元素,因此他充分描述了计算机科学离散性的特点。
2离散数学证明方法
直接证明法直接证明法是最常见的一种证明的方法,它通常用作证明某一类东西具有相同的性质,或者符合某一些性质必定是某一类东西。直接证明法有两种思路,第一种是从已知的条件来推出结论,即看到条件的时候,并不知道它怎么可以推出结论,则可以先从已知条件按照定理推出一些中间的条件(这一步可能是没有目的的,要看看从已知的条件中能够推出些什么),接着,选择可以推出结论的那个条件继续往下推演;另外一种是从结论反推回条件,即看到结论的时候,首先要反推一下,看看从哪些条件可以得出这个结论(这一步也可能是没有目的的,因为并不知道要用到哪个条件),以此类推一直到已知的条件。通常这两种思路是同时进行的。
反证法反证法是证明那些“存在某一个例子或性质”,“不具有某一种的性质”,“仅存在”等的题目。它的方法是首先假设出所求命题的否命题,接着根据这个否命题和已知条件进行推演,直至推出与已知条件或定理相矛盾,则认为假设是不成立的,因此,命题得证。
构造法证明“存在某一个例子或性质”的题目,我们可以用反证法,假设不存在这样的例子和性质,然后推出矛盾,也可以直接构造出这么一个例子就可以了。这就是构造法,通常这样的题目在图论中多见。值得注意的是,有一些题目其实也是本类型的题目,只不过比较隐蔽罢了,像证明两个集合等势,实际上就是证明“两个集合中存在一个双射”,我们即可以假设不存在,用反证法,也可以直接构造出这个双射。
数学归纳法数学归纳法是证明与自然数有关的题目,而且这一类型的题目可以递推。作这一类型题目的时候,要注意一点就是所要归纳内容的选择。
3离散数学证明方法
可以尝试将离散数学拆成三部分来学:集合论与数理逻辑、近世代数(抽象代数)和图论,当然还夹杂部分经典的算法。
离散数学中的概念和定理偏多,思维较抽象,证明强调技巧性但变化不多。我觉得这是一门很需要找“感觉”的数学科目。首先要强记所学内容的相关定义和定理,随后学习证明过程时必须结合定义和定理,即每推一步就弄清其根据的是什么定义或定理。用这种方法学习一段时间后对证明就有一定感觉了,再做证明题就会感觉顺手很多。
了解概念是必要的,如果概念没有了解清楚,就无法很好的了解各种定理了。初学者学习离散数学一定要对概念弄清楚是怎么来的,基于什么客观事实,所有的离散概念都源于实践,因此,如果脱离实践去单纯的了解离散中的概念会很难理解。《离散数学及其应用》是一本我个人觉得比较全面的书,但是建议还是配套一些国内的书籍看,比如现在普遍使用的曲婉玲老师的教材。这两本相互补充。教学中,我会采用曲婉玲老师的教材,难度适中,但是很多定理没有证明,就补充离散数学及其应用帮助理解。
离散数学的内容几乎都可以用编程实现的……然而,用程序员观点写的离散数学还是很少的,我只知道两三本,名字暂时忘了。rosen的那本有不少程序,书很厚!怎么学看概念,然后做题。快 毕业 了才发现,离散数学才是最有用的书。
4离散数学证明方法
离散数学中证明[0,1]是不可数的可以做映射,把无理数还是映到自己。然后把(0,1)上的有理数以某种规律排出来设为r1,r2,r3然后把0→r1,1→r2,r1→r3,r2→r4 r(n)→r(n+2)
康托尔在1874年和1891年分别用两种不同的方法,证明了实数集是不可数集。其中1891年所用的方法更加为人所熟知,又被称为对角线法。证明发表之后,这种方法在数理逻辑中获得广泛应用。
对角线法证明实数集不可数的大致思路如下:显然实数集不是有限集。反设实数集和自然数集之间存在一个双射,设自然数0对应的实数是a0,1对应实数a1,2对应a2,……i对应ai。注意任意实数可以地表示为不以无限多个9结尾的十进制小数,可设aij为ai小数点后的第j+1位。
现在确定一个实数_,并说明它不能和任何自然数对应。_的整数部分是0;设_j为_小数点后的第j+1位,令_j=0,当aij≠0;_j=1,当aij=0。_的表示形式是一个不以无限多个9结尾的十进制小数,但是它不等于任何一个ai,因为由定义,_小数点后的第i+1位_i不等于aii。因此“实数集和自然数集之间存在一个双射”的假设不成立,所以实数集是不可数集。
5离散数学证明题解题方法
离散数学是现代数学的一个重要分支,是计算机科学中基础理论的核心课程。离散数学以研究离散量的结构和相互间的关系为主要目标,其研究对象一般地是有限个或可数个元素,因此他充分描述了计算机科学离散性的特点。
1、定义和定理多。
离散数学是建立在大量定义上面的逻辑推理学科。因而对概念的理解是我们学习这门学科的核心。在这些概念的基础上,特别要注意概念之间的联系,而描述这些联系的实体则是大量的定理和性质。
●证明等价关系:即要证明关系有自反、对称、传递的性质。
●证明偏序关系:即要证明关系有自反、反对称、传递的性质。(特殊关系的证明就列出来两种,要证明剩下的几种只需要结合定义来进行)。
●证明满射:函数f:_Y,即要证明对于任意的yY,都有_
或者对于任意的f(_1)=f(_2),则有_1=_2。
●证明集合等势:即证明两个集合中存在双射。有三种情况:第
一、证明两个具体的集合等势,用构造法,或者直接构造一个双射,或者构造两个集合相互间的入射;第
二、已知某个集合的基数,如果为,就设它和R之间存在双射f,然后通过f的性质推出另外的双射,因此等势;如果为0,则设和N之间存在双射;第
三、已知两个集合等势,然后再证明另外的两个集合等势,这时,先设已知的两个集合存在双射,然后根据剩下题设条件证明要证的两个集合存在双射。
●证明群:即要证明代数系统封闭、可结合、有幺元和逆元。(同样,这一部分能够作为证明题的概念更多,要结合定义把它们全部搞透彻)。
●证明子群:虽然子群的证明定理有两个,但如果考证明子群的话,通常是第二个定理,即设是群,S是G的非空子集,如果对于S中的任意元素a和b有a_b-
1是的子群。对于有限子群,则可考虑第一个定理。
●证明正规子群:若是一个子群,H是G的一个子集,即要证明对于任意的aG,有aH=Ha,或者对于任意的hH,有a-1 __ _ _H。这是最常见的题目中所使用的方法。 ●证明格和子格:子格没有条件,因此和证明格一样,证明集合中任意两个元素的最大元和最小元都在集合中。
图论虽然方法性没有前几部分的强,但是也有一定的方法,如最长路径法、构造法等等 下面讲一下离散证明题的证明方法:
1、直接证明法
直接证明法是最常见的一种证明的方法,它通常用作证明某一类东西具有相同的性质,或者符合某一些性质必定是某一类东西。
直接证明法有两种思路,第一种是从已知的条件来推出结论,即看到条件的时候,并不知道它怎么可以推出结论,则可以先从已知条件按照定理推出一些中间的条件(这一步可能是没有目的的,要看看从已知的条件中能够推出些什么),接着,选择可以推出结论的那个条件继续往下推演;另外一种是从结论反推回条件,即看到结论的时候,首先要反推一下,看看S,则_,使得f(_)=y。 ●证明入射:函数f:_Y,即要证明对于任意的_
1、_2_,且_1≠_2,则f(_1) ≠f(_2);
从哪些条件可以得出这个结论(这一步也可能是没有目的的,因为并不知道要用到哪个条件),以此类推一直到已知的条件。通常这两种思路是同时进行的。
2、反证法
反证法是证明那些“存在某一个例子或性质”,“不具有某一种的性质”,“仅存在唯一”等的题目。
它的方法是首先假设出所求命题的否命题,接着根据这个否命题和已知条件进行推演,直至推出与已知条件或定理相矛盾,则认为假设是不成立的,因此,命题得证。
3、构造法
证明“存在某一个例子或性质”的题目,我们可以用反证法,假设不存在这样的例子和性质,然后推出矛盾,也可以直接构造出这么一个例子就可以了。这就是构造法,通常这样的题目在图论中多见。值得注意的是,有一些题目其实也是本类型的题目,只不过比较隐蔽罢了,像证明两个集合等势,实际上就是证明“两个集合中存在一个双射”,我们即可以假设不存在,用反证法,也可以直接构造出这个双射。
4、数学归纳法
数学归纳法是证明与自然数有关的题目,而且这一类型的题目可以递推。作这一类型题目的时候,要注意一点就是所要归纳内容的选择。
学习离散数学的最大困难是它的抽象性和逻辑推理的严密性。在离散数学中,假设让你解一道题或证明一个命题,你应首先读懂题意,然后寻找解题或证明的思路和方法,当你相信已找到了解题或证明的思路和方法,你必须把它严格地写出来。一个写得很好的解题过程或证明是一系列的陈述,其中每一条陈述都是前面的陈述经过简单的推理而得到的。仔细地写解题过程或证明是很重要的,既能让读者理解它,又能保证解题过程或证明准确无误。一个好的解题过程或证明应该是条理清楚、论据充分、表述简洁的。针对这一要求,在讲课中老师会提供大量的典型例题供同学们参考和学习。
在学习离散数学中所遇到的这些困难,可以通过多学、多看、认真分析讲课中所给出的典型例题的解题过程,再加上多练,从而逐步得到解决。在此特别强调一点:深入地理解和掌握离散数学的基本概念、基本定理和结论,是学好离散数学的重要前提之一。所以,同学们要准确、全面、完整地记忆和理解所有这些基本定义和定理。
学好高数=基本概念透+基本定理牢+基本网络有+基本常识记+基本题型熟。数学就是一个概念+定理体系(还有推理),对概念的理解至关重要,比如说极限、导数等
再快乐的单身汉迟早也会结婚,幸福不是永久的嘛!
爱就像坐旋转木马,虽然永远在你爱人的身后,但隔着永恒的距离。
相互牵着的手,永不放开,直到他的出现,你离开了我
时光就这样静静的流淌,那些在躺在草地上晒太阳的时光,那些拂面吹来的风
明知道是让对方痛苦的爱就不要让它继续下去,割舍掉。如果不行就将它冻结在自己内心最深的角落。
var _hmt = _hmt || []; (function() { var hm = documentcreateElement("script"); hmsrc = ">高等数学与C程序设计没有本质的联系,高等数学主要是培养你的推理思维能力。
离散数学和线性代数可以视为程序设计的基础课程,因为在这两门课中将会学到一些编程所要用到得结构、算法等,比如说离散数学中的树和图,线性代数中的线性结构、行列式和矩阵等,故这两门课程学好了对后面得程序设计课程的学习是有好处的!
数据结构是C程序的算法核心,主要是对数据类型以及在其上的 *** 作进行分析的。学好数据结构是学好程序设计的必经过程!
祝愿你早日成功!!
全称推广规则:universal generalization;
全称特指规则:universal specification;
存在推广规则:existential generalization;
存在特指规则:existential specification;
用来在证明时,需要添加或摘去谓词逻辑的时候EG:在证明的时候你需要有P(C)成立来推出Q(C)成立时,这时候题设条件只有任意x P(x),则采用UI来去掉”任意“符号。
离散数学”中的布尔代数:基于0、1这两个整数,我们额外赋予它们一些性质与运算,此情况下所组成的系统我们成为布尔代数,这也就是我们在写程序时常常看到的boolean值。
扩展资料:
离散数学可以看成是构筑在数学和计算机科学之间的桥梁,因为离散数学既离不开集合论、图论等数学知识,又和计算机科学中的数据库理论、数据结构等相关,它可以引导人们进入计算机科学的思维领域,促进了计算机科学的发展。
参考资料来源:百度百科-离散数学
以上就是关于程序员需要怎样的数学基础全部的内容,包括:程序员需要怎样的数学基础、求c或c++程序 判断表达式是不是命题(离散数学、离散数学都有哪些内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)