我来一个五一节目
有人整天讨论那个语言快,.NET效率怎么个低法,每次看了都很不顺眼。我想正好反正五一节也没有什么节目,大家都怕非典吧?那么我出一个题目,考考大家。
希望大家不要忘了,一个好的算法和一个差的算法才是运行效率最关键的地方。我举一个自己的例子,你们说VC3.0比之QBasic怎样?当年有这么一个问题:已知二叉树的前序和后序,求所有合法的中序,结果我用QBasic的只用了2秒,另一个人用VC的用了半个小时。(不包括输出的时间)不信的话大家可以做来试一下,我这里给出一个“最糟糕”情况的例子,每个字符代表一个节点,大小写敏感。
前序:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz
后序:zyxwvutsrqponmlkjihgfedcba0987654321ZYXWVUTSRQPONMLKJIHGFEDCBA
当然了,前提是你的程序求出来的结果必须是正确的,而且是完整的。上面这个例子有2的61次方个解,或者说有 2,305,843,009,213,693,952 个解。或者说,至少你得求出下面的这个例子的所有解:
前序:ABDEGCFHIJKLMNOPQRSTUVW
后序:DGEBIMNLWVUTSRQPOKJHFCA
这个例子有2的12次方个解,或者说有4,096个解。
随便你们用什么语言去做,只要做出来了,你告诉我你的程序用了多少时间?上面的时间是96年的纪录。
为了证实你的程序是正确的,请你将第二个例子的中序的输出给十个出来,如果有人写出来了就得换一个,反正有两千多个解呢。
为了刺激一点,谁做出来了将会有如下的得分奖励:
10秒以内,100分。
60秒以内,50分。
60分钟以内,25分。
超过60分钟的,10分。
***剩下的分数由没做的人平分。
分数送完即止,欲拿从速!随时都可能结贴的哦!