V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hxndg
V2EX  ›  程序员

是不是除了刷题没有什么能切实提高具体的算法能力?

  •  
  •   hxndg · 2016-04-16 19:38:06 +08:00 · 5117 次点击
    这是一个创建于 3143 天前的主题,其中的信息可能已经有所发展或是发生改变。

    下午去参加了一个笔试,难度不是很大,才 8 个题。然后悲粹地发现,竟然做不完,时间跟不上。跟同学聊天的时候说,都是 leetcode 上的题,而且我想复杂了( orz )。顿时很疑问,是不是还是刷题是提高算法能力的最有效的方法,应当看书和刷题结合到一起呢?那么应当如何分配这个时间配额呢?

    第 1 条附言  ·  2016-04-17 21:42:34 +08:00
    感谢诸位,确实觉得自己还是实践的太少,毕竟学习算法的根本目的还是写出优秀的程序,准备开始刷题!~!
    23 条回复    2016-04-17 16:48:53 +08:00
    hxndg
        1
    hxndg  
    OP
       2016-04-16 19:56:22 +08:00
    额,这个怎么删帖呢?忽然觉得这个问题提的好 low ,本来就应该刷题和看书一起阿,尴尬尴尬
    yangtze
        2
    yangtze  
       2016-04-16 20:18:04 +08:00   ❤️ 1
    hellov22ex
        3
    hellov22ex  
       2016-04-16 20:20:46 +08:00


    不断地学习和充分的使用

    我觉得对所有知识都有效。
    epkT6QJ3RSaz6AnJ
        4
    epkT6QJ3RSaz6AnJ  
       2016-04-16 21:34:40 +08:00
    murmur
        5
    murmur  
       2016-04-16 22:10:41 +08:00
    刷题是必须的
    当然刷题本身也是在线编程练习 也会锻炼你的调试能力 发现问题的能力
    我感觉这很好
    hxndg
        6
    hxndg  
    OP
       2016-04-16 22:11:26 +08:00
    搞错了。。。。原来是剑指 offer 上的。。。。。
    @yangtze 实际上我看的就是那里面的书哈,因为有点反感这种背答案的方式所以一直没看剑指 offer ,不过看起来确实很尴尬,^_^,希望看那些书能够帮助我提高我的意识,哈哈
    hxndg
        7
    hxndg  
    OP
       2016-04-16 22:12:56 +08:00
    @murmur 恩恩,我很赞同,现在主要是觉得时间不够用,每天还得看书,还得整论文的东西,时间很紧张。
    hxndg
        8
    hxndg  
    OP
       2016-04-16 22:19:00 +08:00
    @epkT6QJ3RSaz6AnJ 赞,基础知识。确实有必要学习
    hxndg
        9
    hxndg  
    OP
       2016-04-16 22:19:48 +08:00
    @hellov22ex indeed,现在就是觉得很多过去用过的东西都忘了,很尴尬。确实需要充分应用
    ivanchou
        10
    ivanchou  
       2016-04-16 22:26:04 +08:00
    同样因为最近实习面试才开始准备,感觉好多东西啊,看不完,算法啥的都是一知半解。从现在开始要拼一些了,共勉,可以加个 wx 或者 telegram 啥的。
    shippo7
        11
    shippo7  
       2016-04-16 23:18:07 +08:00
    刷题其实就是高强度训练,把 LeetCode 上的题都刷一遍,虽然面试时有背诵的成分,但是算法能力也提高了很多
    hxndg
        12
    hxndg  
    OP
       2016-04-16 23:36:03 +08:00
    @ivanchou 可以哈,我 sx 是名字 x2
    magicdawn
        13
    magicdawn  
       2016-04-17 00:01:35 +08:00
    @yangtze 叼叼的
    hxtheone
        14
    hxtheone  
       2016-04-17 00:21:46 +08:00
    个人觉得做题还是很有帮助的, 就算不是为了面试, 做一些算法题, 也是对能力很好的锻炼, 比如我第一次终于完全弄懂了 DP, 学会用 DP 的思想去思考问题

    而且 leetcode 这个平台我觉得最好的一点是, 它的错误用例和运行结果很透明的, 不像一些 OJ 就像黑盒一样让人摸不着头脑, 我在 leetcode 上因为没考虑 null 参数错了几次之后, 在平时工作时也会注意空对象的问题, 而且做完之后还可以根据自己 submission 速度的排名来思考自己的算法有什么可以优化的, 这些我觉得算是刷题时额外的收获

    https://github.com/MrHuxu/leetcode, 刚刷 medium/easy 题刷到 110, 共勉
    zynlnow
        15
    zynlnow  
       2016-04-17 00:31:01 +08:00
    whisperzzzz
        16
    whisperzzzz  
       2016-04-17 10:30:28 +08:00
    @hxtheone 黑盒这个看怎么去看吧……觉得有时候 WA 了好几天是因为哪个奇葩用例没考虑到的话……以后也不会犯这个错了……
    hxtheone
        17
    hxtheone  
       2016-04-17 10:45:11 +08:00
    @whisperzzzz 嗯, 多犯几次就知道教训了, 不过有时候一卡好几天真是抓狂
    whisperzzzz
        18
    whisperzzzz  
       2016-04-17 10:50:24 +08:00
    @hxtheone 不过经常有什么%f %lf %lld 这种坑……或者因为什么奇怪的问题一直 PE ……远没 Leetcode 友好就是了……
    matthewz
        19
    matthewz  
       2016-04-17 11:10:43 +08:00
    看你怎么理解"算法能力"

    如果说是要通过面试甚至 ACM 竞赛, 那肯定是刷题.

    如果是搞计算机理论, 比如开发新的排序算法, 那肯定不是了.
    ceclinux
        20
    ceclinux  
       2016-04-17 13:01:35 +08:00
    同意上楼,面试刷题只是算法的一部分,即对简单算法的快速应用实现的能力。
    但是面试不会考你高深的算法,对于算法的证明什么的也忽略了。
    zhj5chengfeng
        21
    zhj5chengfeng  
       2016-04-17 14:51:21 +08:00
    我觉得刷题是必然的啊,学习一个东西,理论懂了,但会不会用又是另一回事了,就跟写代码一样,都需要联系,通过不断的练习来加深记忆,加深理解
    fhefh
        22
    fhefh  
       2016-04-17 15:02:43 +08:00
    mark 下~
    xxstop
        23
    xxstop  
       2016-04-17 16:48:53 +08:00
    mark!!!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2230 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:37 · PVG 09:37 · LAX 17:37 · JFK 20:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.