我来一个五一节目

sumtec 2003-05-01 01:21:35
有人整天讨论那个语言快,.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分。
***剩下的分数由没做的人平分。

分数送完即止,欲拿从速!随时都可能结贴的哦!
...全文
90 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
sophyking 2003-05-14
  • 打赏
  • 举报
回复
以为从学校出来就再也看不到前序中序的问题了,头大ing……跟着大家学习吧!
sumtec 2003-05-14
  • 打赏
  • 举报
回复
……
sumtec 2003-05-04
  • 打赏
  • 举报
回复
有人开始做了,其他人呢?
sumtec 2003-05-04
  • 打赏
  • 举报
回复
没关系,这个至少到5月10号才结,除非分都要分完了。
Acony 2003-05-04
  • 打赏
  • 举报
回复
唉,来晚了,已经过了3天时间了~~~ 看来是拿不到高分了 >_<
mabro 2003-05-04
  • 打赏
  • 举报
回复
我也來了,給分不????????????????????????哈哈.
sumtec 2003-05-04
  • 打赏
  • 举报
回复
自己up一下。
sumtec 2003-05-03
  • 打赏
  • 举报
回复
没人来看了?
Montaque 2003-05-03
  • 打赏
  • 举报
回复
时的。我搞糊涂了。
benbenc 2003-05-03
  • 打赏
  • 举报
回复
明白楼主的意思了,我去做做看
zhouyonglijun 2003-05-02
  • 打赏
  • 举报
回复
当时没有好好学数据结构,现在不会算了了,哈哈后,等着白拿的分,嘿嘿
starw2002 2003-05-02
  • 打赏
  • 举报
回复
"二叉树的前序和后序,求所有合法的中序"
专业,我连二叉树是什么都不知道,惭愧!!谁能简单说一下,随便问问,不好意思.....
jlhdlj 2003-05-02
  • 打赏
  • 举报
回复
up
sumtec 2003-05-02
  • 打赏
  • 举报
回复
另外:
前序的定义就是:遍历节点的时候,从根节点出发,首先给出当前节点,然后首先用同样的方法处理左节点,然后是右节点。
后序的定义就是:遍历点的时候,首先处理左节点,然后右节点,最后给出当前节点。
中序:先左,然后给出当前节点,最后右。

eg: tree-1

a
b c
d

前:abdc
后:dbca
中:dbac

如果仅仅根据上面的前、后两个输出,还可以得到另外一棵树,或者说下面这棵树的前、后序和上面的tree-1是一样的:
tree-2
a
b c
d
前:abdc
后:dbca
中:bdac 当然,中序是不一样的。中序相同不代表是同一棵树,但是根据前序和中序,或者中序和后序,都可以产生一棵唯一的树(或者不可能产生树)。而前、后序则可能产生0-n个解。
sumtec 2003-05-02
  • 打赏
  • 举报
回复
已知前序后序,是不能够确定为一中序的,或者说仅有前序后序不能够确定一个唯一的树,尽管有这个可能有唯一的解,但不是一定有唯一解的。
imfine 2003-05-02
  • 打赏
  • 举报
回复
up
Montaque 2003-05-02
  • 打赏
  • 举报
回复
怎么会又那么多解呢?好像应该是唯一的。
贝贝壳壳 2003-05-02
  • 打赏
  • 举报
回复
不知道二叉树的中序怎么算,上课睡觉了
蹭点分吧
duebbin 2003-05-02
  • 打赏
  • 举报
回复
修炼中...
xiyun 2003-05-02
  • 打赏
  • 举报
回复
5.1要作别的东西,没有时间做,就接一点分好了,分少点我也不介意啊.
加载更多回复(19)

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧