V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Rice
V2EX  ›  问与答

学了数据结构与算法几乎没用的上的,感觉挺浪费

  •  
  •   Rice · 2017-12-04 09:45:20 +08:00 via Android · 3726 次点击
    这是一个创建于 2571 天前的主题,其中的信息可能已经有所发展或是发生改变。

    而且太久不用都快忘光了,应该找个什么场景用上? 大家平时有这种感觉吗?

    20 条回复    2017-12-04 23:37:45 +08:00
    ipwx
        1
    ipwx  
       2017-12-04 09:57:53 +08:00   ❤️ 1
    数据结构和算法又不止局限于你教科书上看到的什么排序、堆之类的狭义含义。比如以下都可以称之为算法:

    ( 1 ) SVM,决策树等传统机器学习方法;
    ( 2 )深度网络等新锐机器学习方法;
    ( 3 )并行、高性能程序设计。

    当然,这些算法的实现,很多情况下都包含了一个又一个你教科书上看到的各种数据结构和算法。

    可以说,数据结构和算法这种东西就像是零件,你熟悉了,无论写什么程序,都会不由自主地用上的。如果你用不上,那你日常面对的任务一定太趋同而又不假思索了。

    (话说,讲道理,写个 UI 说不定还会用上数据结构呢。比如需要有序遍历各个控件,难道还每次遍历前排序一遍?怕不是低级 Javascript 程序员常干的事情)
    tabris17
        2
    tabris17  
       2017-12-04 09:59:51 +08:00
    没有这种感觉,可能你还在面向业务编程
    coderluan
        3
    coderluan  
       2017-12-04 10:32:23 +08:00
    跳槽去面试就用上了......
    kenshinhu
        4
    kenshinhu  
       2017-12-04 10:45:04 +08:00
    这个可以和一些不懂数据结构与算法的程序给他们抛书本,就可以突显自己的知识面了!
    Bingbing
        5
    Bingbing  
       2017-12-04 10:46:10 +08:00
    找个项目落地吧,搞 IT 的感觉知识不落地,忘记起来相当可怕
    dong3580
        6
    dong3580  
       2017-12-04 10:50:13 +08:00
    多年的经验告诉我,基本的业务场景用不到的,几万几十万几百万根本也用不到,用现成的轮子。然而,只有面试让你打飞机才会用到。
    duguwei888
        7
    duguwei888  
       2017-12-04 10:51:29 +08:00
    面向业务编程不是很正常吗,就跟打仗一样,士兵总比指挥官多。
    SErHo
        8
    SErHo  
       2017-12-04 11:01:03 +08:00
    面试的时候就知道有用没用了。。。
    Shura
        9
    Shura  
       2017-12-04 11:14:55 +08:00
    造轮子的时候就能用到了
    SuperMild
        10
    SuperMild  
       2017-12-04 11:19:36 +08:00 via iPhone
    做个人项目、贡献开源社区就可以用到了
    msg7086
        11
    msg7086  
       2017-12-04 12:56:25 +08:00
    这东西不会百分之百忘光的。你学过的知识会留在你的潜意识里,你利用这些知识的时候可能你自己都不会反应过来原来你用了算法或者用了数据结构。学过不用的,真的就和完全没碰过的不一样。

    学来的知识,很少存在说浪费掉的情况。
    beggarvip
        12
    beggarvip  
       2017-12-04 13:11:44 +08:00 via Android
    有了算法基础,理解语言里的一些特性会很轻松,反之会不明就里。
    举个最简单的例子,比如 java 里什么时候用 list,什么时候用数组。
    arrow2015
        13
    arrow2015  
       2017-12-04 13:23:09 +08:00 via Android
    同楼主,工作多年几乎没有地方运用到。除了自己给自己找题
    arrow2015
        14
    arrow2015  
       2017-12-04 13:26:48 +08:00 via Android
    数据结构用上了。List, Map 类还是经常用。算法几乎没有用到。排序直接用的 jdk 中的 Collections.sort 方法。
    skadi
        15
    skadi  
       2017-12-04 13:43:20 +08:00
    我感觉我只用到过一次。
    优化股票计算的时候用了线段树。
    mpich
        16
    mpich  
       2017-12-04 13:45:57 +08:00
    简单业务的时候确实不需要,如果连简单的时候都需要的话,那别人的轮子都白造了…

    业务比较复杂且独特的时候,通用的轮子可能并不能满足了,要么把其他轮子再造重组,要么自己重写,这时候就需要用到了…
    wowo243
        17
    wowo243  
       2017-12-04 18:33:52 +08:00 via Android
    @dong3580 面试打飞机 :-D
    wheeler
        18
    wheeler  
       2017-12-04 21:46:50 +08:00
    朋友,你应该试试用 C 这种自带很少库的语言写代码,各种轮子。
    siyemiaokube
        19
    siyemiaokube  
       2017-12-04 23:35:33 +08:00 via iPhone
    到红黑树应该还是有意义的,再深入到什么动态仙人掌树套树一般图匹配大概就意义不大,纯属娱乐了
    tlday
        20
    tlday  
       2017-12-04 23:37:45 +08:00 via Android
    楼主的 id 和头像很眼熟,印象中楼主不像是会问出这种问题的人。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5346 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 08:17 · PVG 16:17 · LAX 00:17 · JFK 03:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.