我的C语言要上天_5
注:没什么可注的。
老祖的精英班会议并没有让我参加,因为我不过是个有点追求的学渣,理想再美好也不能当算法写出来不是么。
所以我就先回去了。
正是下午,烫烫烫的太阳几乎要把我烤干。
身为一个未来的准程序员,盛夏的下午出门简直能要了我的老命。
我四处寻找阴凉的树荫也依旧是汗流浃背。
好想马上逃离这个夏日的囚笼,然而造化弄人,背后一个声音叫住了我。
“林南?”
我本想当成没听见,可惜那声音离得很近。
“林南,真是你。”
蒋昕悦。
同班同学,跟纯茗韩雪一个宿舍,平时在班里属于默默无闻那类人,我跟她并没有怎么打过交道,只是最近问韩雪项目的问题的时候,跟她见了几次面。
别人都这么熟络地跟你打招呼了,再装没听见可就伤人心了,我只好装成才听到她的样子:
“哟,昕月呀,刚才在想事情,没注意,这是要干嘛去?”
昕月快步走上前来,撩了撩被汗水粘在脸上的发丝:
“正好找你呢,你见到韩雪了吗?”
“韩大女神,没啊……”
我确实没看见她,但我一想刚才老祖叫了全校的精英过去搞了个精英班,韩雪肯定在里面,又改口道:
“对了,应该是导师叫他们过去开会了,说要组个精英班什么的。”
“是吗。”昕月一脸难为的样子:“那我的作业可怎么办?”
“什么作业?”
“就是明天要交的作业。”
“作业?!”
我几乎是懵逼的,这两个星期我都在搞学校的编程大赛,什么作业什么的全给忘了,这被昕月一提我才意识到最近好多门作业要提交。
“明天就交了?哪门课?”
昕月看我表情不禁问我:
“你不会还没写吧……”
“昂!”
我当然还没写,我什么作业都没开始呢好吧!
昕月估计也是醉了:
“明天就要交了啊,大哥。”
“所以啊,什么作业要交,我好赶紧补。”
“是人机交互吧。”
我一听顿时松了一口气:
“是绘图的那个?”
“昂。”
“那就好。”
人机交互的作业是做个小程序,实现绘图的引力场功能和橡皮筋功能,跟编程大赛的内容有交集。
编程大赛的题目是模拟实现Windows附件的画图软件。
其实说白了,这个作业就是把画图里画多边形的功能抠出来单独封个程序。
我跟昕月一说,她顿时兴奋起来。
“哇,那正好,林南你帮帮我,那个引力场是怎么一回事儿?”
没想到我个学渣还能给别人讲点东西,我顿时来了兴致,张口就来:
“那引力场啊,其实就是……”
“欸,不如我们一起去图书馆吧,正好我带电脑了,我写的代码你帮我看看。”
呃……
图书馆?那是我这种学渣去的地方么?
可是美女邀请,盛情难却,而且想到我手上老祖刚给我的《算法导论》,我也就从了昕月。
到了图书馆,我跟昕月讲了讲思路,就去看我的武功秘籍去了。
其实也没什么好说的,虽然编程大赛的程序没彻底做完,但是内核是实打实地我自己做的,画线这模块的也是我自己思考的方法,只是我做的界面出了很多bug,一时间没改完,所以程序最后没跑起来,但这时候跟昕月讲思路就显得游刃有余了。
我用我当时的思路一步步引导她,很快昕月就明白是怎么一回事儿,然后自己坐在那开始改代码。
我坐在她对面,打开了《算法导论》。
我的C语言就是能上天! 第五章 生命算法
《算法导论》,由美国著名码神托马斯·科尔曼编著,托马斯本人在并行计算、高延迟加速计算等计算领域技艺超群,碾压世界顶尖高手,如今在世界码神排行榜上位列第七十八名。
这本《算法导论》便是他毕生所学之精华,内容高屋建瓴,触类旁通,条理清晰,轻巧实用,适用于各个阶层的程序员研习算法、作为案头参考。
《算法导论》 。
顾名思义。
这是一本概述算法奥义的奇书。
全书用伪代码解释,以排序问题入手,由浅入深地介绍了算法精髓,化翻至简,化整为零,化抽象为具象。
从最快算法和数据结构到用于看似难以解决问题的多项式时间算法;从图论中的经典算法到用于字符匹配、计算集合和数论的特殊算法,每一处都妙不可言。
NP完全问题,分治策略,生日悖论……一个个数理逻辑问题让我迷恋,我几乎完全沉醉在编程迷人的算法奥义之中,不能自拔。
算法不是编程语言,不是程序员独有,算法自盘古开天辟地以来,便存在这世间,算法源于数学,绳结的计数,土地的丈量,八卦的演算,纪年法,十进制,割圆术……
一切算法都为解决数学问题而生,一切数学问题都是为解决现实问题而生。
曾经,一种算法对应解决一种现实问题,随着二十世纪计算机的出现,人类获得了从无仅有的数学计算能力,这世界上越来越多的现实问题被人们转换成数学问题,一种算法被应用在多种现实问题中,一种现实问题是多个算法的集。这其中的推演过程,便是算法的建立,便是编程。
编程不是单纯的码代码,更核心的思想是对现实问题的转化,将一切繁琐复杂的现实问题都抽象为数学模型,然后将它变成0和1的数字流。
甚至于,将生命转换成数字。
我们假设我们所生存的这个宇宙是一个精密的程序,那必然存在一种算法可以计算出每个人的生老病死,计算出每个人的人生轨迹,编程界称之为生命算法。中国人曾用八卦尝试达到这一境界,然而世界的复杂程度,并不能用六十四个卦象完全阐释。
生命的数量级或许远远超过六十四位,或许也有可能更戏剧,他可能仅仅只有0和1两种状态。
没有人解出完整的生命算法。
但编程界的人都相信生命算法的存在。
这并不是一种信仰,一种广为人知的解释是,因为宇宙宇宙是一个封闭空间,存在奇点这一初状态,假设计算机的运算能力无限大,那么必然存在一个算法可以计算出宇宙中的一切,这种算法被当今编程界称作万能算法。
万能算法是可以解决世界上一切问题的万能算法,一旦万能算法被参透,那么生命算法也不过是万能算法的一个子集。
而在编程界的发展中,每一个程序员隐隐可以察觉到万能算法的真实存在,所以在编程界,对万能算法的感触也被称为程序员之心。
每个程序员都对万能算法趋之若鹜,西方程序员们称这是上帝的指引,这使得万能算法有演变成一种玄学领域的态势。
但程序员们的理性和理智都告诉他们万能算法并非玄学,如今世界顶尖的程序员都在用他们自己的方式求解万能算法,暴力求解方案,仿宇宙方案,人工智能方案……
其中进展最快的是人工智能方案。
人工智能方案的希望是主算法master algorithm,即一种能通过数据学习万物的算法。
主算法是人工智能理论的极限,它意味着人工智能拥有独立自主学习任何事物的能力,换句话说,这意味着人工智能可以成为独立思考的个体而非机器。
主算法的人工智能没有精力和体力,只要CPU供电,它就可以通过不断的学习,不断地思考。
人工智能界的程序员们相信,只要有足够的时间,人工智能就会帮我们解出万能算法。