mazingyu
V2EX  ›  算法

该怎么提高自己的算法能力啊?刷题有意义吗?

  •  
  •   mazingyu · Jun 14, 2015 · 14189 views
    This topic created in 4165 days ago, the information mentioned may be changed or developed.
    我准备走 iOS 开发,有时候感觉刷完题又忘了,在实际工作中不怎么用到,该怎么办呢?比较好的公司都注重算法能力呢?!
    42 replies  •  2015-06-15 15:16:52 +08:00
    chengzhoukun
    chengzhoukun
    Jun 14, 2015
    1
    然后就得造轮子、看源码、写一些基础的库之类吧
    binux
    binux
    Jun 14, 2015 via Android
    2
    应用开发算法用处不大。
    不过就我平常做的,算法无外乎算法导论上的几种思路,主要还是一种感觉。
    主要还是看论文。
    webjin
    webjin
    Jun 14, 2015
    3
    看缘分。
    rssf
    rssf
    Jun 14, 2015
    4
    全看天赋,创意是没法学习来的
    pyKun
    pyKun
    Jun 14, 2015
    5
    0 基础的话练练就好了,好的算法能力是建立在非常强的抽象能力的基础上了,先工作下,看看你抽象事务的能力和需求是多少...
    mazingyu
    mazingyu
    OP
    Jun 14, 2015
    6
    @pyKun 想毕业后进入 BAT 这类的公司,算法方面该如何提高!
    iyaozhen
    iyaozhen
    Jun 14, 2015
    7
    @mazingyu 面试的话,就刷题吧。
    lilydjwg
    lilydjwg
    Jun 14, 2015
    8
    @pyKun 为什么我不觉得抽象能力和算法的关系很强?至少比软件架构设计差多了。
    mazingyu
    mazingyu
    OP
    Jun 14, 2015
    9
    @iyaozhen 怎么刷题...有什么建议的书籍吗? : )
    xionghengheng
    xionghengheng
    Jun 14, 2015
    10
    bat的话 数据结构加基本算法就好 给个量化点的标准 leetcode上的easy题随便刷刷就行 难题基本可以忽略
    letv
    letv
    Jun 14, 2015
    11
    @xionghengheng medium要刷吗?
    xionghengheng
    xionghengheng
    Jun 14, 2015❤️2
    12
    @letv 可以忽略 你想想面试的时候,只有20分钟不到,不会让你写很难的代码,二叉树,链表玩得转就行 然后递归,dfs,动态规划刷点 就行 切记不要为了刷体而刷体,别到时候题都刷完了,面试的时候要你写个快排或者堆排都写不出来 那就不好了。。。。
    mazingyu
    mazingyu
    OP
    Jun 14, 2015
    13
    @xionghengheng 谢谢 : )
    mazingyu
    mazingyu
    OP
    Jun 14, 2015
    14
    @xionghengheng 但是有的时候,为了面试会不得不为了刷题而刷题...刷题后又容易忘...无限死循环...
    nowcoder
    nowcoder
    Jun 14, 2015
    15
    刷题开始肯定是有用的,关键是自己要刷的时候做总结
    loryyang
    loryyang
    Jun 14, 2015
    16
    有意义吗?有意义
    怎么刷?用脑子刷
    zonghua
    zonghua
    Jun 14, 2015
    17
    @binux 其实还是面相对象程序设计的设计模式吧
    yjd
    yjd
    Jun 14, 2015
    18
    这真的得天赋才行。比如数学比较好。
    yxzblue
    yxzblue
    Jun 14, 2015
    19
    进好公司当然得考算法。至少反转二叉树得写得来 :P
    deepreader
    deepreader
    Jun 14, 2015
    20
    我只是刷刷题测下智商上线,以免写应用的时候觉得自己很牛逼。
    lvvj
    lvvj
    Jun 14, 2015 via Android
    21
    @yxzblue 哈哈,高端黑…
    不过刷题是为了熟悉各种数据结构和常见算法,不要为了刷题而刷题。
    jiang42
    jiang42
    Jun 14, 2015
    22
    大部分公司——我亲身经历过Google、百姓、Atrenta(现在被Synopsys收购了)以及一些优质小公司;还有一些网上流传的笔试面试题——考的算法都不难,你不搞算法竞赛没必要刷题,掌握基础算法知识点就够了,重要的是你能在白板上把你的算法转换成无BUG、可运行的代码。

    当然,刷题是有一定好处的,比如:在把算法转换成BUG-free的代码的时候比别人更快。
    lujiajing1126
    lujiajing1126
    Jun 14, 2015
    23
    @jiang42 百姓都能和Google并列了么。。。。。。囧
    jiang42
    jiang42
    Jun 14, 2015
    24
    @lujiajing1126 面试题的难度我觉得可以并列啊。我遇到过一些前Google员工给我面试的,他们工作的公司你听都没听过,但是面试题难度真心差不多。
    yhf
    yhf
    Jun 14, 2015
    25
    国内的Google吗?大概是Leetcode什么水平?
    yhf
    yhf
    Jun 14, 2015
    26
    @jiang42 国内的Google吗?大概是Leetcode什么水平?
    YouXia
    YouXia
    Jun 14, 2015
    27
    @yhf
    国内的Google就别想了,ACM没地区金牌以上的基本上就不用考虑了。美帝的相应要求会低那么一点,当然也不是刷刷leetcode就能拿到的,特别聪明或者在美帝读书的除外。
    icylogic
    icylogic
    Jun 14, 2015 via Android
    28
    有一次同学谈起 leetcode,我说你还用刷这个(他是那种高中看完算导的 noi 选手),他说是用来面试前练手速的 orz 。

    虽然不一定要像他那样,但是我觉得,算法,数据结构,OS知识这些基础,确实是完整地啃书啃下来的,指望看几道题就完全明白比较困难,不愿意看算导就看数据结构与算法基础,或者红色的那本算法。
    MikeFish
    MikeFish
    Jun 14, 2015
    29
    红色的算法书叫什么
    TomDu
    TomDu
    Jun 14, 2015
    30
    @MikeFish 算法= =...目前是第四版
    huanglexus
    huanglexus
    Jun 14, 2015
    31
    每2天刷一道leetcode,日积月累
    msg7086
    msg7086
    Jun 14, 2015
    32
    @xionghengheng 面亚马逊的时候被考了堆
    secondwtq
    secondwtq
    Jun 14, 2015
    33
    @binux 不知您说的是哪种论文呢?我也就需要用的时候看一些机器学习、图像处理和图形方面的,感觉那些“算法”和这个主题的 context 下的“算法”完全是两回事。

    @MikeFish 同推荐 Algorithms 4th... 讲的不算深,但是看起来很舒服。
    mcfog
    mcfog
    Jun 14, 2015
    34
    话说当年我校招面试的时候老板玩命提示我堆排,我就是想不起来还有堆排这么个算法,一直在扯快排……

    实际项目,学力适应力和思维方式都比算法重要的多,也难培养的多,隔壁数据结构也比算法更实际。算法什么的作为调剂当脑筋急转弯随便啦


    说穿了就是校招没法强行要求项目经验所以只能问问算法了这样……
    jiang42
    jiang42
    Jun 14, 2015
    35
    @yhf HR会发邮件让你填表,里面会问你英语水平,我填了可以进行技术交流,分配给我的面试官就是中国人。。。但是工作地点想在中国。。。打算法竞赛吧,TC或者CF打到红色差不多了就
    binux
    binux
    Jun 14, 2015
    36
    @secondwtq 做什么就看什么的论文啊。。不可能指望几个算法包打天下吧。
    canautumn
    canautumn
    Jun 15, 2015
    37
    刷题只是手段的一种,关键还是自己总结吧,刷完不总结一下过几个月都忘了。
    cheng007
    cheng007
    Jun 15, 2015
    38
    刷题还是有用的。你的想法还是太功利了,实际上你从小到大学的很多东西都是看起来并没有什么用,但那么知识组合起来在潜移默化的影响你整个人。
    数学,历史,物理,政治等等。
    算法也是一样的,你工作貌似用不到,如果你没有的话,很多问题你意识不到他是一个问题。
    loryyang
    loryyang
    Jun 15, 2015
    39
    顶楼上两位,另外加一个,算法是你找到好工作的敲门砖,就像一个好学校一样
    pye52
    pye52
    Jun 15, 2015
    40
    刷题才能知道自己实力到哪吧
    mazingyu
    mazingyu
    OP
    Jun 15, 2015
    41
    @cheng007 谢谢
    xionghengheng
    xionghengheng
    Jun 15, 2015
    42
    @msg7086 面百度考了快排····
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2959 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 677ms · UTC 01:04 · PVG 09:04 · LAX 17:04 · JFK 20:04
    ♥ Do have faith in what you're doing.