以下仅为Avalon_Y的个人观点,与Avalon_Y本人无关
一直被一个问题困扰,如果说没有数据结构和算法,那么程序就什么也没留下,那么为了学习编程是不的需要学习这门课程吗?
百度这个问题基本上是众说纷纭:
最多的官方的说法是离散数学是计算机专业的核心基础课,它在计算机科学中有着重要的应用。它是计算机专业课《数据结构》、《操作系统》、《编译原理》、《数据库系统原理》和《数字逻辑》等课的必备基础,因此离散数学是掌握计算机科学理论基础的重要数学工具。
那么离散数学这么理论化的东西真的对我们有用吗?当然我们举个简单的例子说明一下就好
if a then
if b then x;
else then y;
else
if b then x;
else y;
我们不妨用逻辑学的方法简单分析一下(与和或是用下面的符号吗?+_+):
执行x的条件为
(a&&b)||(!a&&b)=(a||!a)&&b=b
执行y的条件为
(a&&!b)||(!a&&!b)=(a||!a)&&!b=!b
根据这个结论
程序可以优化为
if b then x;
else y;
这样看来似乎很有用,除此之外最小生成树等很多的算法也要用到离散数学的知识啊。 好的我们得出一个结论,我们一定要去学校离散数学啊,赶紧恶补离散数学!
上网易公开课上找找?
哎呦?怎么只有一堆算法 数据结构的,没找到离散数学的公开课啊ÿ