免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: snowboy9859
打印 上一主题 下一主题

[算法] 淘宝2012校招题目,高手们请进 [复制链接]

论坛徽章:
0
41 [报告]
发表于 2011-09-22 16:32 |只看该作者
这个树的结构咋定义的呢,N叉树?

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
42 [报告]
发表于 2011-09-22 16:32 |只看该作者
我说你这个办法不是最优的方案。在我 (1)的例子里,我只要走一步就可以得到结果,
你要走两亿 ...
fanronghua 发表于 2011-09-22 16:21


小狗撒尿两只小狗同时撒尿同时嗅, 你以为需要几步就能得到结果???

论坛徽章:
0
43 [报告]
发表于 2011-09-22 16:37 |只看该作者
小狗撒尿两只小狗同时撒尿同时嗅, 你以为需要几步就能得到结果???
zylthinking 发表于 2011-09-22 16:32



    你说的没有错,在最优的情况下,我只需要一步就可以啦。

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
44 [报告]
发表于 2011-09-22 16:39 |只看该作者
本帖最后由 zylthinking 于 2011-09-22 16:41 编辑
你说的没有错,在最优的情况下,我只需要一步就可以啦。
fanronghua 发表于 2011-09-22 16:37


所以, 你的方法和小狗撒尿相比, 没有明显优点;缺点却是不容忽视的
而小狗撒尿和计算深度比, 看已知节点分布情况, 各有优缺点。

论坛徽章:
0
45 [报告]
发表于 2011-09-22 16:42 |只看该作者
所以, 你的方法和小狗撒尿相比, 没有明显优点;
而小狗撒尿和计算深度比, 看已知节点分布情况, 各 ...
zylthinking 发表于 2011-09-22 16:39



    在这种未知树的情况下,预想去做计算,多有可能导致死循环(可能计算的结果巨大的情况下),只有直接去做查找比较动作,才是最优的。

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
46 [报告]
发表于 2011-09-22 16:52 |只看该作者
在这种未知树的情况下,预想去做计算,多有可能导致死循环(可能计算的结果巨大的情况下),只有 ...
fanronghua 发表于 2011-09-22 16:42


不知你在说什么, 你先别和计算深度的哪个方法比了, 先和小狗撒尿的算法比吧。

0, 保存A 为saveA, B为saveB
1。 两节点直接比, 相等退出
2。 节点 tmp = A->parent; if(tmp->left != A && tmp->right != A) 则tmp 为共同父节点; 否则 if(tmp->left == A) {tmp->right +=1;}else{tmp->left +=1;}
3。 和2相同, 将A替换成B
4.   如果找到共同节点, 从 saveA开始直到tmp, 将步骤2中做的 +1 进行反操作; 从saveB到tmp 将步骤3中做的+1进行反操作; 而后转到6
5. 如果没有找到共同节点, 则A = A->parent, B = B->parent, 转到2;     
6, 返回tmp

论坛徽章:
0
47 [报告]
发表于 2011-09-22 16:57 |只看该作者
本帖最后由 fanronghua 于 2011-09-22 16:58 编辑
不知你在说什么, 你先别和计算深度的哪个方法比了, 先和小狗撒尿的算法比吧。

0, 保存A 为saveA, ...
zylthinking 发表于 2011-09-22 16:52



    left,right ?? 你怎么知道他是 二叉树? 他有可能是 N个叶子的树啊!天哪! 有可能是上亿个啊。

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
48 [报告]
发表于 2011-09-22 17:03 |只看该作者
如果是多叉, 则将所有 tmp->ptr != A 的所有 ptr 都 +1, 不影响讨论;

论坛徽章:
0
49 [报告]
发表于 2011-09-22 17:08 |只看该作者
如果是多叉, 则将所有 tmp->ptr != A 的所有 ptr 都 +1, 不影响讨论;
zylthinking 发表于 2011-09-22 17:03



    上亿个怎么办? 你又陷入2亿个循环了,多说了,不能做假设的。

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
50 [报告]
发表于 2011-09-22 17:10 |只看该作者
上亿个怎么办? 你又陷入2亿个循环了,多说了,不能做假设的。
fanronghua 发表于 2011-09-22 17:08



你这就是抬杠了。。。。。。。那我同意你的是最好的, 你的不会陷入2亿个循环?? 看这个
        o
       / \
     A   X
      \
       ...(2亿个)
         \
          B
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP