Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 软件时空 > 软件相关 > 从Solstice Google题解说起
【标  题】:从Solstice Google题解说起
【关键字】:Solstice,Google
【来  源】:http://blog.csdn.net/myan/archive/2006/04/13/661597.aspx

从Solstice Google题解说起

Your Ad Here

前两天Solstice放出一个帖子,把前一段时间在CSDN首页停留过的Google 850分试题给解析了一番。记得当时这个题目的出现是我告诉他的,他大概做了半下午加一晚上,就得出O(n3)的解,次日上午又得出O(n2)的解。当天晚上,Solstice给我打了两个小时电话,讨论这个题目。当时我也给出了一个算法,但是使用了树作为数据结构,当我知道他使用二维矩阵解决此问题后,经过短暂的考虑,立刻认定他的想法比我好得多。我弟弟是建筑师,当时在旁被骚扰了两个小时,挂断电话之后,他对我说:“你们搞计算机的还真是不一样。在我们建筑设计行业里,各有各的想法与立场,两人的方案相比较,彼此互不相让,谁也不服谁,表面上分个优劣,心里通常都是不服气的,最后说到底是只能拼经验、拼名气,拼资历。哪像你们这么容易见分晓!” 我听了这话,不由得有些得意。虽说我弟弟也不过是一己之见,未见得正确,但是至少也从一个侧面证明了计算机算法设计还是一个讲求实证的科学技术领域,与当下流行的那些徒以口舌为能事的显学等并非同类。

回过头来说,Goolge这个题目,只要花一些时间去认真研究,得出O(n3)的算法并非难事。不过看看Solstice的代码,除了函数命名不是很规范以外,在数据结构的设计和标准库算法的使用上,还是显现了功力。一维和二维数组确实是非常有用的数据结构,简单而又威力无穷。每个元素,除了其对象内自带信息之外,其所处的位置也是重要的信息。这就是数组威力的源泉。长期以来,我设计数据结构时有轻视数组,而偏爱复杂数据结构的倾向,Solstice的这个轻快的算法确实给我上了很好的一课。另外,C++ <algorithm>的威力也可以从这段程序中看出端倪。在那篇文章的回复中,有人写了python和scheme等动态语言的程序,看上去更短小。不过相对于那些语言,C++的程序显然更“常规”,更适合出现在产品代码里。

明星效应。。:【上一篇】
苑姓起源——古老而孤独:【下一篇】
【相关文章】
  • Google Calendar终于goes live了!
  • google工具栏的提示真是很体贴
  • 用python 连接 google的简单例子
  • Google CEO来中国 现场七巧板拼出中文名“谷歌”
  • google hacking的实现以及应用====转
  • Google Writely 邀请
  • 告诉你一个真实的Google
  • GoogleMaps探秘
  • 用于Firefox的Google工具栏Beta 2发布
  • Google工具栏2.0(BETA) Firefox扩展/Extension发布
  • 【随机文章】
  • 在Flash中制作带有进度条的Loading
  • 用shell脚本批量修改当前目录下的文件名
  • 无线LAN中的WPA2是什么
  • java zip 中文问题
  • 安装XP后的五个技巧提示
  • 对不住观众
  • SpamAssassin使用中需要注意的
  • apache2.0.39 php4.2.3在windowsXP下模块方式搭建
  • 解决ASP.NET带中文参数出现乱码的问题
  • X86汇编语言学习手记(3)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.