易玩游戏盒子官方网站:9.11 结尾语

来源:百度文库 编辑:中财网 时间:2024/04/26 06:09:37

9.11 结尾语

学完排序,你能够感受到,我们的算法研究者们都是在“似乎不可能”的情况下,逐步提高排序算法的性能的。在剩下的几分钟时间里,我们再来做一道智力题,感受一下把不可能变为可能。

请问如何把图9‐11‐1中用四段直线一笔将这九个点连起来?

图9-11-1大家举手很快,因为绝大多数同学应该都看过这道题目。没有做过题目的同学通常十有八九会落入一个小小的陷阱,在九个点围成的框中打转转,然后发现至少要五段以上的直线才能连成。结果是,要找到答案,必须在思维上突破这九个点所围成的框框的限制,如图9‐11‐2所示。
图9-11-2

如果智力题这就结束了,那就不考大家了。现在我的问题是如何做到三段直线一笔将这九个点连起来?

此时,大家都在交头接耳,心里一定想着,“这怎么可能?”我来公布答案,那就是用一条“Z”字线即可一笔连成。也许,最快找出这个答案的是那些没有学过数学的孩子。作为成人,我们已被另一些“框框”所框住大脑。那就是数学上有一条基本公理:两条平行线永不相交。另外数学上有另一个基本假设:点没有大小。可在现实中任何一点都会有大小。突破这一限制,只要无限延长“Z”字三段线,九点必可一笔连。来看图9‐11‐3。

图9-11-3

有同学说,我图中的点比刚才的要大,这不符合题意。我想有这样想法的同学,可能还是没有理解我想表达的意思,事实上,刚才的小黑点再小,它也是有大小的,你可以想像三根直线足够长,它们就可以将这九个点相连了。

别急,题目没完,我现在要求只用一条直线将这九点一笔连,如何做?

显然,大家的思维已经被打开。我们可轻易找到答案,因为只要再次突破几何学中“线没粗细”的框框,用一条很粗的线,比如蘸了墨水的大刷子,画一条粗粗的直线将九点全部包含其中即可。

不是不可能用四段、三段、一段直线一笔连九点,只是暂时还没有找到方法而已。现实生活中所有的发明创造都是建立在打破前人所认定的“框框”的思维定势基础上的。这道智力题当然不是要挑战数学的权威,它只是在给我们启示:“所有的事情都是可能的,只是我们暂时还没有找到方法而已。”

本章的结束,其实也就是数据结构这门课的结束了。数据结构和算法,还有很多内容我们并没有涉及。要想真正掌握数据结构,并把它应用到工作中,你们的路还很长。

我们生命中,矛盾和困惑往往一直伴随。很多同学来学习数据结构,其实并不是真的明白它的重要性,通常只是因为学校开了这门课,而不得不来这里弄个PASS,过后,真到需要用时,却发现力不从心而追悔莫及。比如图9‐11‐4所示,悲剧通常就是这样产生的。因此尽管现在是课程的最后,对于个别没有重视这门课的同学来说有些晚了,我还是想再亡羊补牢:数据结构和算法对于程序员的职业人生来说,那就是两个圆圈的交集部分,用心去掌握它,你的编程之路将会是坦途。

(点击查看大图)图9-11-4

最后送大家电影《当幸福来敲门》中的一句话:

You got a dream,you gotta protect it. People can’t do something themselves, they wanna tell you you can’t do it. If you want something, go get it. Period. (如果你有梦想的话,就要去捍卫它。当别人做不到的时候,他们就想要告诉你,你也不能。如果你想要些什么,就得去努力争取。就这样!)

同学们,再见!