首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 老生常谈:算法与数据结构究竟有多大用
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-26 15:01:25 楼主
    不好意思又提出了这样一个可以有口水战的问题。很多人的答案是“有用”,大部分的理由是不懂算法就会限制“思维”。我觉得这种答案有点牵强。软件产业现在也是有蛮细的分工的。一个人精力多花在了算法之上,那他就少了精力放在更高层面的设计问题上。就好像读设计的大部分是不会碰到土木用的力学。我们能不能说算法就是土木工程师的活,而酸法以外的架构和设计则是设计师的活呢?对设计师而言,懂力学自然是好,但是即使不怎么懂,也会无伤大雅。

    所以我觉得学了算法当然有用,但是学算法花的时间会不会不值得。当然我说的学算法是在看完introduction to algorithm大半本以后的学习---intro to algo是蛮基本的, 但是像The arts of computer programming或者concrete mathematics就有点过头了。

    即便在现实生活中,很多情况下我们都不会碰到有难度的算法。如果碰到有难度的算法,整个开发团队只要有一个人有本事解决,问题就不算是问题了。

    所以我蛮想知道这两件事的,
    1. 在这个论坛的,究竟有多少人是每天工作要碰到算法的?具体而言是哪些算法(离散的,信号处理的或者图形的?)如果你需要设计算法,有多少时候是找开源代码能解决问题的?有多少时候要自己真正设计的?
    2. 究竟有多少人读过"the art of computer programming"?我自己算是大概翻过了这本书,很多章节我都从其他地方看过类似的材料。但是我不觉得直接看teh arts of computer programming是学习那些课题的高效方式。


    0  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-26 16:22:281楼 得分:0
    做了半年 也没碰到过。感觉算法用不到
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-26 16:41:522楼 得分:0
    设计程序就是设计数据结构及其之间的关系
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-26 16:47:183楼 得分:0
    其实学习算法有两个好处:直接的和间接的.
    直接的好处就是将学到的算法使用在工作中.而间接的,就没有定论了,我觉得是能够提升思维能力.
    这两个好处中,我觉得提升思维能力更重要.说到底算法还是比较基础的东西.而越基础的东西,越是难以直观地评价它的价值.但是,正是由于它是基础的,其投资回报率其实更高.比如LZ所说的高层设计,也会因思维能力的提升而获益.另外,就算法本身而言,我觉得学习算法的主要目的是具备设计新算法的能力,而不是使用已有的算法.因为,人们很难预测将来的需求,只为现有需求付出努力回报率是不高的.因此学习算法的重要好处是:能够为将来未知的需求作好准备.
    总之,我的体会是:算法的实际价值总是比我们所估计地要高得多.

    当然,也没有必要因此就非算法不行.总体而言,它和其他基础的东西一样,是高投入高回报率的科目,但是并不是所有人都必须投入它.是否要花精力学习它,要学到什么程度,对每个人来说答案都是不同的.就象LZ所说,工作中直接遇到算法难题的情况平均而言是不多的.所以,也不必被算法的美好前景所诱惑.最好是根据自己的目标和实际情况,做最优选择.而一旦选择的学习算法,就必须下定决心做巨大的付出.

    就我个人而言,工作中是经常要碰到算法的;但是遇到难题的情况很少,大多数情况下,具备普通的能力就可以了.
    目前,我正在学习TAOCP,学习的主要目的是提高算法设计能力(而不是应付现有的工作).但是,我发现自己的数学基础还是有些薄弱(基础以前没打好,后悔啊),所以现在正在看Concrete Mathematics.(欢迎与我讨论这两本书上的内容,呵呵)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-26 21:41:294楼 得分:0
    楼主,,
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-26 21:54:015楼 得分:0
    同意3楼的看法!
    对我来现在工作中还没碰到算法的问题,本人今年刚毕业,本人认为学习算法不是为了懂得多少种算法,而是锻炼一种分析问题,解决问题的能力.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-26 23:41:306楼 得分:0
    正在学习《introduction  to  algorithm》

    虽然比较菜,但基本能看懂老外写的东西,偶尔还看看作者的

    MIT视频,虽然听不太懂,不过老外讲得很生动。

    可惜中国人翻译太差
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-27 09:31:037楼 得分:0
    "可惜中国人翻译太差"
    -----------------楼上的英语很强
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-27 18:18:358楼 得分:0
    我几乎天天在看算法,写算法。楼主做事欠踏实,还很回找理由,这就更可怕了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-28 07:20:519楼 得分:0
    To Vitin,

    TAOCP我是很不建议看的。厚厚的三本书你觉得两年能看完吗?两年不看这本书你能看很多别的书。再说作者出书的本意是写本关于编译器的书,所以一则用了很难懂的汇编语言,二则是太过注重信息细节的处理。现在算法的意义跟Knuth甚至Dijkstra的那个年代是有很大不同的。 首先我们出离了微观下的代码编写(不会以写段一两行代码作目的。TAOCP成书后几年的network flow和其他图论算法的出现,已经令算法的style已经跟Knuth所说的很不同了。如果你看看Kleinberg的搜索算法或者Google的page rank, "style"就跟Knuth完全不同了。Knuth出书的时候,Cook-Levin Theorem没出现(就是SAT-3是NP-Complete的定理), randomized algorithm的出现也是好年以后的事。现代意义上的hash function也是遥遥无期;更不要说approximation algorithm, online algorithm, hardness of approximation这些概念了。

    所以introduction to algorithm以后,你可以试一下Kleinberg的algorithms, 如果你还想看,可以试一下专门的领域, 这里列出了一点书单
    随机算法:"randomized algorithms", "probability and computing"
    在线算法: "online computation and competative analysis"
    近似算法:"approximation algorithms"。

    但是,看完这些书以后,我还是觉得算法挺没用的。


    To zjhzcjg:
    你还是在读大学生吧,呵呵。我也很怀念从前什么都不想的日子。



    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-28 07:24:4110楼 得分:0
    我还是想让这个帖子不离题----如果讨论表层上的算法有用没用那肯定是因人而异的。我只是想知道,现在在工业界究竟有多少人会碰到算法,而且都是些什么算法。


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-28 11:14:5311楼 得分:0
    不懂算法的可以做程序员,但做不了设计师。只能是个机器。中国需要自己的设计大师。
    说算法无用的大师请解决一下,(好的算法就是必定有好的数学模型).
    http://topic.csdn.net/u/20071126/17/14ff6a04-225d-482c-ba98-ec3d099c8209.html
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-28 11:53:3512楼 得分:0
    楼主,你从事什么样的工作 ,那就去学相关的算法
    如果你的工作涉及不到太多的算法,那可以少学点 ,了解点基础,也就可以了。
    什么叫 “算法挺没用”的
    你用不到 就说它没用
    没有算法  怎么会有高效率的搜索引擎;人工智能,机器学习怎么去进步;加密,医疗,多媒体,游戏引擎等等

    你用不到 并不代表别人用不到
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-28 14:22:0813楼 得分:0
    呵呵,LZ的问题很直白.

    不过我不能同意"算法与数据结构究竟有多大用"和"现在在工业界究竟有多少人会碰到算法,而且都是些什么算法"之间有等价关系.原因之前已经说了.所以,LZ的后一个问题我就不回答了.

    关于TAOCP,还是要解释一下的.这部书之所以非常有名,不是因为它覆盖了所有的算法,也不是仅仅因为它很有难度;而是因为它系统地、严谨地、深刻地分析了许多最基本的算法,它的理论体系构成了现代程序设计的基础.
    是的,如果说算法是编程的基础的话,那么TAOCP就是算法的基础.我相信,很少有在算法界取得成绩的人没有看过这本书.比如在introduction to algorithm 中就多次引用了Knuth和他的TAOCP.当你看的算法书的作者们也都在看TAOCP时,你是否觉得没必要看它呢?
    TAOCP中的算法是以一门汇编语言写的,那时因为Knuth认为如果编程人员只需要学一门语言的话,那他应该学一门汇编语言.毕竟,汇编是最接近计算机本质的语言.所以,Knuth用汇编语言做载体,主要希望通过这种方式来引导读者熟悉计算机的本质.Knuth的MIX汇编语言,是和TAOCP第一版所处的时代非常匹配的.诚然,现代的汇编语言已经和当时有很大不同;但是,如果能从计算机历史的源头处开始学习,不是更能把握其本质吗?我觉得TAOCP的主体思想就是究根问底,把握本质.所以,学习最初的MIX仍然是有益的.另一方面,为了加入第一版之后几十年的成果,Knuth在他的第四版中设计了一门新的汇编语言--MMIX,它是现代化的MIX.此外,即使不去学习MIX或MMIX,也可以通过TAOCP学习算法.因为算法本身是超越语言的.我一般用C++来写这些算法,并没有任何不适合的地方.(题外话:B.S.的TC++PL也同样参考了TAOCP,这令我更加确信TAOCP的重要性).
    TAOCP的定位就是基本的算法书,所以它并不关注(或偏向)某个应用领域,也不关注某个style.(是不是本意为了编译器呢?这无关紧要了,因为它的实际内容决定了它的读者已经远远超过编译器的作者了.强调一点:Knuth选择汇编,理由是我之前说的,而不是为了编译器;至于TAOCP未出版的部分涉及编译器和计算机语言,也是因为它们和排序查找、随机数生成等等一样,属于基础和本质的东西,而非相反).所以,任何使用算法者,都能从中获益.TAOCP不是算法的终结,而是开始.你需要做的,是通过学习它,而学会自己设计算法、分析算法;而不是仅仅让它给你提供一个现成的答案.TAOCP提供了许多算法,仅仅因为它们最基础,也最适合作为教授算法的素材.如果取其形而去其神,就大大模糊了TAOCP与其他算法书的区别了.所以,我更加认为,通读一遍TAOCP是非常有用的.如果你认为其他算法书对你没有用处,你更应该读一遍TAOCP.

    当然,这并不是说必须学习TAOCP,我只是想清楚地阐明TAOCP的价值,以免低估.当然代价是巨大的."需要多少时间"要看个人的实际情况了.即使每天都有8个小时学习,我估计也不是象其他书那样几天或几周就可以完成的.因此,两年是一个很正常的数字.我不想说其他书怎样怎样.总之这是一个机会成本的问题,我相信每个人都有自己的选择;我也相信即使选择的各不相同,也没有对错之分.最重要的是根据你的目的做出选择;并且,如果决定了,就不要轻易放弃.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-28 15:11:3614楼 得分:0
    To qq222ee:
    你想找一道没解的问题,通街都找得到。我不觉得你那道题有代表性和应用性。计算机科学/软件工程应该解决自己领域内的问题。

    To TAOBO2:
    我觉得你从来没有涉及过任何“搜索引擎;人工智能,机器学习;加密,医疗,多媒体,游戏引擎”的领域;所以很多问题你有点想当然的回答。

    1. 搜索引擎,人工智能,和机器学习的进步是研究所去做的,不是软件工程师去做的。如果要把他们转成产品,product team拿到手的至少已经是有了prototype的成果。我没有说研究算法对所有人都没用;我指的是软件工程师,或者是架构师。你可以从事软件开发,也可以从事算法研究,但是如果你两个一起做的话,在两个方面同时有造诣可能会难了点。所以我还是认为你没有说到点上。

    2. 加密领域的混乱程度看来你也是一点也不清楚的。但是同样的,理论领域的工作者在研究所;而应用领域的工作者基本上不参与软件设计(就算参与,也不是主流的软件设计)。你在工作中有遇到过自己处理没有封装好的加密组件吗?

    3. 你如果喜欢玩游戏又不知道游戏引擎是怎么来的,就更不应该的。游戏引擎是有专门的引擎公司提供的。暴雪不自己写引擎,柯纳美不自己写引擎,金山也不自己写引擎。游戏公司所负责的是脚本和创意。再说国内似乎没有任何引擎公司(请纠正我如果我说错了),所以应该没有人在国内从事引擎开发。

    由此,我还是觉得算法不怎么有用,所以我才贴出这个帖子询问有没有人**真的**用到了算法,而不是想看到夸夸其谈的回复。

    To Vitin,
    呵呵我算是跟Knuth有一点师承。我本科的导师是他的第二代学生。我怎么敢对他有任何不敬。不过我自己觉得TAOCP从来没有被低估,而是被(国)人过高的评价了,现在已经变得有点像圣经了,就是大家都推荐看,大家都不看的一套书。我上面说的style可能有点误导(让人联想到编程风格)。我觉得用fashion应该更恰当一点。你真的要看看我说的那些书去感觉一下区别。

    退一步说,你见过哪所大学真的用TAOCP作教材吗?这是不是侧面的说明了它不适合去做教材/学习读物?

    Knuth出书的原因,我记得是看到两三年前一份报纸对他的专访中看到的。你如果再看看Vol 4, 5, 6的draft(我不太清楚已经出了没有),你会看到所有书的背后隐隐约约的想写个编译器。

    你也提到了B.S, 我想问一个问题,你觉得B.S.又懂多少算法?他的C++的成功,也不是因为算法的原因。

    你有两个观点我不怎么同意,1. 学习要不要从源头学起。你记得你学微积分的时候,有拿起牛顿的principle来读吗?所以同样的,我觉得后人归纳总结后的书看起来是会更有效率的。2. 算法的有用和对思维的陶冶。我首先应该道歉,我不应该很武断的说“没用”。但是不是所有有用的东西你都需要去学。我也可以肯定你学纯粹数学和理论物理,也会很陶冶思维,甚至也会对写程序有用。但是这样子的有用,我觉得是费大力作小功;而且是也不明确自己的目的的表现。

    你如果很喜欢TAOCP和Knuth那个领域,你可以去选择做个这方面的专家或者业余爱好者。但是我觉得TAOCP对你在工业界的发展,或者对国内软件的发展,没有什么大的帮助。

    TAOCP的问题,你愿意的话,我可以再跟你线下谈。我这个帖子最感兴趣的还是究竟有多少人真的在工作中用“算法”。


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-28 16:55:4515楼 得分:0
    To zhenming_liu:
       
    很高兴看到你认真地回答每一个人的发言,谢谢.
    观点不同没有关系.一方面这可以促进我们交流;另一方面任何观点都是有局限的,也许是它们成立的充分必要条件不同而已.所以我和乐意和你交流,从而让彼此的视野更宽广,见解更全面.
       
    当然LZ希望在这个帖子里关注另一个问题,所以关于TAOCP的讨论就不深入下去了.
    这里仅就你所提到的说一下我的见解,作为结束.其他可以线下谈,呵呵.

    关于教材的问题,TAOCP确实不适合做为大学教材,我觉得部分原因是它的难度(可能不适合所有大学生,或所有处于大学阶段的人),部分原因是它的内容(作为一门课而言)太多.不过它的一部分确实有作为教材的先例. "1.2节数学基础"曾经作为教材被使用(一开始是由Knuth亲自授课),此后演变为"具体数学" 这本书.我的观点是:TAOCP在大学阶段作为课外学习是很好的,我也后悔当时自己没有做到这一天.

    关于Knuth出书的原因,之前我也说了,更重要的是书的实际意义.我也知道他的后续章节有关于语言和编译器的.我的理解是它们正是编程中最本质的东西;以及以此为出发点最适合学习算法.

    关于B.S.的算法功底问题.我觉得一个人能够取得成绩,是和他整体的知识和能力有关的.成功往往很难复制,一个原因正是夸大了直接原因而忽略的作为背景和底蕴的东西.不说这些形而上的,单就C++而言,如果B.S.想到要发明C++是灵光一现的结果,那么他将C++设计并实现出来与其深厚的算法功底是分不开的.要知道,算法功底并不只是能设计出某个算法,解决了某个具体问题而已.设计一门语言语言不可能不需要算法.B.S.关注于C++语言的设计和演化,是因为他既有这个愿望,也有这个能力.同时,就象不能将算法看得太简单,也不能将设计一门语言看得太简单.(B.S.没能发明什么算法?他发明了一门语言!)有多少人能够精通算法,又有多少人能够设计出一门语言?所以,不能低估啊.

    关于从源头学起的问题.我不是说必须,我是说可以,并且有益.必须的反义是不是必须不,而是不必须.所以怎么学习是个人的事,而TAOCP推荐了一种学习方法,并且它是有效的.

    关于算法的价值问题,之前已经解释过了,只是和LZ观点不同而已.重复一下,我认为自己是对的,但不认为LZ是错的.在合适的条件下做合适的选择,以及如何看待自己的目的,并采取什么行动,每个人可以有自己的见解.

    最后说一下TAOCP被神化的问题.我相信,不管是高估还是低估,都是没有获得充分信息的结果.我也相信,那些说TAOCP如何如何神奇的人中有很多还没有读过它.我想,最有资格评论它的价值的是那些读过的人.所以,我觉得,还是读一下比较好.我相信,当有很多人读过以后,它就不会再被神化;同样的,就会有更多的人清楚它的价值.
    因此,这个问题,我确实不能回答,因为我还没有读完.我只能给出自己的见解:对我而言,读一遍TAOCP,是值得的.
    有时候,你需要冒险;有时候,你会觉得冒险是值得的;有时候,你将发现,你曾经以为冒险的地方其实并没有多大的风险.有些结果是偶然的,有些则是必然的;重要的是有决心,并且能为自己的决定负责.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-11-28 23:05:0316楼 得分:0
    果然两大高手在华山之巅开坛了


    zhenming_liu VS Vitin


    值得期待
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-01 12:45:5817楼 得分:0
    To zhenming_liu
    你如果喜欢玩游戏又不知道游戏引擎是怎么来的,就更不应该的。游戏引擎是有专门的引擎公司提供的。暴雪不自己写引擎,柯纳美不自己写引擎,金山也不自己写引擎。游戏公司所负责的是脚本和创意。再说国内似乎没有任何引擎公司(请纠正我如果我说错了),所以应该没有人在国内从事引擎开发。

    中国还是有自己的游戏引擎制作公司的。听说过成都锦天有限公司的彭海涛吗?《风云》的3D引擎源代码都已经公开了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-01 13:07:0518楼 得分:0
    另外说道算法有用没有用!
      我也是个学生没做过什么工程上的项目,也没用到过特别复杂的算法。
      但我始终都这样认为:计算机是数学发展的产物。不管以后计算机的发展会有多大。即使就算真的可以不用去考虑会不会因为算法的好坏而带来的差异时,我想算法和数据结构仍然还是有用的。毕竟计算机是数学的产物。说白了,你就是在用数学。只是变相的把它抽象化了而已。哪怕就是你用到的每一句程序代码,每一个标识符。最终都是归结到数学的。
      何况现在的计算机还不能达到不会因为算法的好坏而不带来性能上的差异  如果你不重视算法的好坏的话,你可能会因为要计算1 to 10000的和而去执行10001次循环。如果是一个更大的数呢?如果是一个更复杂的过程呢?如果是一个工程上的应用呢?因为你的不重视算法。可能给每个人多带来1秒的损失。那么上万个人上亿个人又会带来多大的损失呢?
      计算机的发展是需要数学的,是需要算法的。我始终这样认为。

     
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-02 06:06:5819楼 得分:0
    To wpalhm:

    谢谢你指出我说的引擎的问题。
    至于你那个1加到10000例子,我看了好多遍,每次都觉得很白痴。首先我问的是算法有没有用,不是数学有没有用。这两件事还是有蛮大区别的。第二,就算讨论数学有没有用,我觉得应该也是限制在高等数学以上的数学,现在的程序员群体个人认为有白痴化倾向,一天到晚都拿着小学程度的1加到100000这个例子挂在嘴边(可能你不在其中,而无意中选了个方便的例子)。大有些越没文化越光荣的反智倾向。

    第二,即使是计算机是数学的产物,现在既然他已经独立出来了,就应该注重它与数学的区别。现在软件的主要问题多是架构的复杂度,可再用的方法,还有究竟软件能提供什么服务。大部分的效率问题都是能经过简单的优化去解决问题的,很少能用到"non-linear"的算法或者数据结构的。

    再者,我也不觉得计算机,特别是软件,真是与数学那么有关,你看过那门子的数学去描述两个process的context switch,或者哪门子数学去描述TCP/IP的。欧洲那群人老喜欢用lambda calculus去抽象object oriented software的功能,现在不是根本就没有人理他们吗?

    计算机的发展,当然是需要数学,但是大部分人是不需要通过数学去对计算机的发展作贡献的,特别是软件行业。

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-04 17:30:2120楼 得分:0
    还没学过这东西。。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-04 17:31:3121楼 得分:0
    算法也是别人研究出来的,就像兵书一样。爱看不看,无所谓吧。难道庞统要看三十六计么?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-04 17:37:0622楼 得分:0
    我感觉是就给以前用过的方法取一个好听的名字而已吧。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-04 20:38:0723楼 得分:0
        一个设计规则的人和一个用规则的人,哪个更有权力说话? 谁才是真正的牛人?

        是的,现在的很多算法已经有现成的实现方式,可以直接拿来用.STL就是这样,但是当
    碰到一个无人解决的难题,要用算法高效实现时.你是不是要等别人研究出来了再去进行项目?
    如果这样的话,如果中国的程序员都是这样的话.那永远只配做个二流,三流的角色.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-07 23:36:1424楼 得分:0
    做CAD的
    几何方面的算法,线段多边形之类的,这些基本上有API
    几何搜索,最短路径探索,特定的几何处理功能,都需要写特殊的算法
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-07 23:54:2825楼 得分:0
    一些行业要求比较高
    比如各种CAD,图像识别,语言文字处理等行业
    大概都是计算机在其它各种工业行业中的应用
    在纯的计算机软件开发中,好像用处不是很大
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-08 21:17:1126楼 得分:0
    我改行做建筑四年了,这几天回CSDN看看。做过一年程序,用到过几次算法,不多,但至少在碰到类似情况时可以很快想到应用什么样的的方法。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-11 19:43:5327楼 得分:0
    快毕业了,准备要找工作了!问师兄们的情况就是面试肯定有关于算法的题目!就好比楼上说到的1加到10000的问题叫你写个算法,假如不是最好的算法,肯定淘汰!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-14 22:54:3128楼 得分:0
    受益匪浅!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-15 23:30:3929楼 得分:0
    其实这个问题真的很简单,有的人觉得数据结构没用,是因为他工作跟这方面接触的比较少
    有人觉得非常有用,是因为他几乎天天接触。

    这个问题和另外一个问题比较类似:数学究竟有多大作用?(对学计算机而言)

    我个人都这两个问题的体会是:极其重要
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • WhatX
    • 等级:
    发表于:2007-12-17 10:50:5030楼 得分:0
    对算法感兴趣的人,应该研究算法。若不感兴趣,研究编程之道
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Cyrosly
    • 等级:
    发表于:2007-12-20 20:57:1231楼 得分:0
    直接问数学是否重要就可