由Fibonacci数列引发的感慨

来源:互联网 发布:js横向时间轴滑动插件 编辑:程序博客网 时间:2024/06/05 19:36

无处不洋溢着数学之风,让它刮的更猛烈些吧,虽然会把我吹得无影无踪。

对数学只是一般般的热爱,但是我已经领悟到它的强大。

 

数学,Mathematics、、、从算术,到解析几何,再到微积分,再到组合数学,离散数学,概率论、、、后面似乎还有许许多多的分门别类的数学分支。

记得高中学数学只是把它当做任务来完成,而且在那么多的学科当中也只有数学最有趣,每天回家做家庭作业的顺序都是数学第一位,等把所有的数学作业做完之后才是之后的物理化学什么的,如果还没到12点那么会背背英语单词,做做阅读。但是对于语文、、、几乎是没有看过,除了背背古文之外,所有的现代文阅读都是飘过,从没有看过,早读课也没去看,上课也没听过。

初中高中时数学始终是我的最爱,但是我始终不明白它到底有什么作用?我曾经对算各种圆锥曲线,什么斜率什么交点,乐此不疲。可它究竟能用到什么地方?当时没想过,只是糊里糊涂地学,也没管那么多,我想当时如果我真的纠结于这个问题了,并且没有找到一个很好的理由,我肯定不会再去学数学了。可能我是一个现实主义者吧。

大学后上的极限求导,级数,微积分,微积分方程,离散数学,组合数学,概率论,这么多东西,我似乎一点印象也没有了。很遗憾地说我忘记了,或者更遗憾地说,这些课我根本没听过,因为我的课堂作业基本上没交过,我只是上课带着耳朵去的。迷茫中的人很可怕,似乎对什么都失去了兴趣,的确很糟糕。

现在我想说的是数学很重要,如果你是学计算机的 J!

理由太多了,从计算机科学与技术导论中的01数字串,在十进制、二进制、八进制、十六进制之间的相互转化;到GDI绘图中曲线绘制函数,什么矩形、椭圆、弧、弦,这些在word画图中经常遇到的基本图形;再到真正体现数学威力的算法,如快速排序等算法的算法分析,对于冒泡排序为什么慢,对于快速排序为什么快,当你用概率论的知识去重新思考这个问题的时候一切都那么的明了,冒泡排序每遍历n个元素,它只为下一次比较剔除了一个不需要比较的元素,效率仅为1/n,但是快速排序每遍历n个元素,它为下一次的比较剔除了一半的元素,效率为1/2,孰快孰慢不言而喻。忽然之间概率论的知识跳到了眼前,当你真的去用你学的知识时,发现没有了书中固定的公式,也完全不是固定了答案的人造题目,一切都是来自于实践,而从实践中慢慢提炼出来的有用的东西。

 

无意中翻开了《算法导论》这本书,没看多少,却看到了Fibonacci数列。哈,熟悉而陌生的名字,大名鼎鼎的数列,如果我还没记错的话,还有个Ackerman数列,也是名气远扬的。用数学语言描述Fibonacci数列,简单精炼,递归式:

 

F(n) =  0             if n = 0

       1            if  n = 1

       F(n-1) + F(n-1)   if   n>=2

某一项的值等于其前两项的和。看看什么兔子繁殖问题,什么猴子吃桃问题,什么上台阶问题,都是冲着Fibonacci来的。无非就是去求Fibonacci的第n项的值F(n)。用递归式编程?用递推down-to-up的方法?当你看看Fibonacci数列的几个性质的时候:

1.      

2.       F(n)在数值上等于 的整数

如果你用递归式,算法呈指数级增长,能把你电脑撑爆,几百年日夜不停也算不出来;

如果用down – to – up,先求F(0),F(1),F(2)…以此类推,最后求出F(n),也是一种很好的办法,三个变量,三人成型,一个variant控制迭代何时停止,呵呵,我明明是要求F(n),你何必多次一举把F(0)到F(n)之间的Fibonacci数列项都给求出来了呢???自然这种方法不是最好的办法。所以还是数学数学啊,数学能够成就你,如果你有能力驾驭数学这匹野马。如果学过线性代数,对于矩阵自然是熟悉不过了。

呵呵///


 

算法中把线性代数又给扯上关系了。

算法中无处不洋溢着数学。计算机中无处不洋溢着数学。

而在计算机图形学中,更是如此,牵涉到很多3D几何知识。其中最经常涉及到的应该就是四元数来处理一个3D模型绕任意直线旋转,当然其中还有其他的方法进行处理,如神奇地利用矩阵将3D模型绕坐标轴进行旋转,里面还有很多三角函数的知识,不过相对于高中瞎编的三角函数题目,这里的三角函数并不难,而且还更有用,更让人有信心继续学下去。

 

 

数学是计算机的灵魂,但是灵魂需要附着于肉体之上,肉体是实实在在的,那就是各种计算机编程语言,他们是肉体,是我们实实在在可以看到的。灵魂脱离了肉体虽然依旧伟大,但是却少了实用性,而肉体脱离了灵魂,也就如同行尸走肉,没有什么意义了。对我来说,灵魂需要也必须附着于一个强大的肉体之中,而一个强健的肉体需要一个伟大的灵魂做导引。Body – Soul的完美结合才是真正的计算机,不偏向纯理论,因为那个不是给计算机专业的学生做的,不偏向于代码机器,因为那个不是计算机专业的学生愿意做的。我们必须是肉体与灵魂完美结合的人,一个都不能少,否则就不是我们自己了。

 

小记一翻,后天老师就要看论文,但是一个字也写不出来,还有二十几页要写,思路完全闭塞,但是这篇博文却写的洋洋洒洒。毕设论文是没什么东西可写,写的如同遗书,一个字一个字地挤。

 

 

#http://thinkoverflow.diandian.com

#WordPearl

#字字珠玑

#date 2012/5/28  12:13

原创粉丝点击