免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4934 | 回复: 11
打印 上一主题 下一主题

[书评] 这个函数的设计者绝对应该获得图灵奖 [复制链接]

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-24 23:23 |只看该作者 |倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
4
天秤座
日期:2013-10-18 13:58:33金牛座
日期:2013-11-28 16:17:01辰龙
日期:2014-01-14 09:54:32戌狗
日期:2014-01-24 09:23:27
2 [报告]
发表于 2012-11-25 14:38 |只看该作者
单纯看这段代码木有什么问题啊,求指点~~~~

论坛徽章:
0
3 [报告]
发表于 2012-11-25 14:47 |只看该作者
回复 2# liuiang


    他的意思是那句可以不要

论坛徽章:
5
技术图书徽章
日期:2013-11-07 13:21:58技术图书徽章
日期:2013-12-07 10:34:46技术图书徽章
日期:2014-04-23 08:50:31双鱼座
日期:2014-09-16 09:12:34亥猪
日期:2015-01-23 13:37:49
4 [报告]
发表于 2012-11-25 15:28 |只看该作者
我倒是觉得把折半查找用于链表太搞笑,支持随机访问的链表么?

论坛徽章:
4
天秤座
日期:2013-10-18 13:58:33金牛座
日期:2013-11-28 16:17:01辰龙
日期:2014-01-14 09:54:32戌狗
日期:2014-01-24 09:23:27
5 [报告]
发表于 2012-11-25 15:37 |只看该作者
没有那句会好多少?
  1. student * gettail(student * head)
  2. {
  3.     while (NULL != head)
  4.     {
  5.         if (NULL == head->next)
  6.             return head;
  7.         head = head->next
  8.     }

  9.     return NULL;
  10. }
复制代码

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
6 [报告]
发表于 2012-11-25 15:45 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
7 [报告]
发表于 2012-11-25 15:47 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
4
天秤座
日期:2013-10-18 13:58:33金牛座
日期:2013-11-28 16:17:01辰龙
日期:2014-01-14 09:54:32戌狗
日期:2014-01-24 09:23:27
8 [报告]
发表于 2012-11-25 15:50 |只看该作者
回复 6# pmerofc


   如果要链接两个单向链表,当然需要找链表的尾,所以这种函数是需要的

  那个node变量并没有什么不妥,相反,把head直接带入反倒觉得代码傻傻的

  当然会找不到,链表为空就没有尾

  最后,要说链表折半查找可以获得图灵奖,我同意,这个绝对跟图灵奖没关系。

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
9 [报告]
发表于 2012-11-25 16:28 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
4
天秤座
日期:2013-10-18 13:58:33金牛座
日期:2013-11-28 16:17:01辰龙
日期:2014-01-14 09:54:32戌狗
日期:2014-01-24 09:23:27
10 [报告]
发表于 2012-11-25 16:53 |只看该作者
本帖最后由 liuiang 于 2012-11-25 17:52 编辑

另外,补充一点,这世界上是否真有一种场景是需要折半查找链表,这个还真不确定,

典型的应用在于“比较的开销远远大于遍历本身”,比如:

有10k个节点分布在世界各地,每个节点都是一个计算密集型的集群,链表以计算能力排序。当一个任务到来,

程序需要在所有的节点中选择一个最合适当前任务计算量的节点执行任务。但是节点是否可以连接上,

节点集群是否能够在一段时间提供符合计算的能力要求,则需要通过网络连接到该节点服务器才能获得

(比如印度某个节点停电了,服务器假设通过ups可以工作)。此时是典型的“比较的开销远远大于遍历”的场景。

如果真有这样的场景,并且程序员采用了基于链表的折半查找,个人认为也并没有什么不妥。当然是否有更为合理的

方案没有细想。

事实上我也同意这个图灵奖的授予,至少在一本入门书中介绍这种XX的算法是很荒唐的。

编辑:1,删除与技术无关的p话;
      2,上述这个例子并不正确,不能说非常符合实际情况。构建“比较的开销远远大于遍历”模型,本人最初想法是:
         如果程序本身无法完成比较,而不得不发起网络报文,委托别人完成比较,那么这样的模型应该符合题设。
         这里的例子不能百分百匹配这个场景。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP