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

算法学习的疑惑,求大神帮助

  •  
  •   ivanlw ·
    tolinwei · 2013-02-21 12:19:35 +08:00 · 4713 次点击
    这是一个创建于 4298 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这学期选了算法课,听得很痛苦(之前没有基础)……
    之前讲了一些排序算法,还能勉强跟得上思路……最近讲到贪婪问题,在遇到证明算法最优的时候就彻底崩了……
    然后老师又特别喜欢证明,有了一种回高三的感觉=.=
    之前讲到O(n)的选择问题(找到第k个最小的数),证明就讲了大半节课……
    这周讲到背包问题的最优解,证明它是最优的……又在黑板上画了大半节课……
    离开高三那么久了,就都跟不上老师的思路了
    这些证明真的这么重要吗?
    你们的算法是怎么学的?
    8 条回复    1970-01-01 08:00:00 +08:00
    linusyang
        1
    linusyang  
       2013-02-21 13:08:47 +08:00
    我在大学里上的算法课感觉就是数学课,注重原理和证明方法,不怎么注重编程实现。证明算法的正确性或最优性确实是很困难的,需要用到很多的数学工具和分析方法,但这些经典问题的证明方法基本上都是有套路的,慢慢来,多学多模仿就可以了。算法证明以后如果不研究这一块的话,可能不怎么会用到,不过既然选了这门课那就好好上吧。 :)
    123qws
        2
    123qws  
       2013-02-21 13:11:45 +08:00
    喜欢证明算法的正确性的是好老师,一般老师就叫你自己看,证明算法才是算法的灵魂所在
    cassyfar
        3
    cassyfar  
       2013-02-21 13:41:41 +08:00
    应用算法和研究算法不是一个档次,有这个机会当然要弄懂它。
    TankyWoo
        4
    TankyWoo  
       2013-02-21 13:50:57 +08:00   ❤️ 4
    楼上说的对

    [算法]是思想,[证明]可以认为是引出这个思想的过程

    光有思想不行,你还应该知道为什么前人这么想,他们是基于什么思路的

    ------------------------------------------

    至于算法的学习方法,给你几个简单的步骤:
    1. 学思想
    2. 看伪码
    3. 用一门语言实现,比如C/C++,Pascal,等都是比赛常用语言
    4. 过段时间,抛开书本资料;自己回顾算法思想,再次亲手实现

    关于看书方面,我当时搞ACM,所以看得是HDOJ的课件,先去HDOJ刷题,然后把算法导论给看了

    其实我觉得,算导 算是很基本的 算法书籍了,如果要我推荐,我只会推荐这一本,因为常用的算法都涉及到了,且图文并茂,兼有伪码,很容易理解

    -------------------------------------

    顺便给你一些我曾经写过的总结:

    * 我的算法专题:http://www.wutianqi.com/sfzt.html
    * 我的算法导论总结:http://www.wutianqi.com/?p=2403
    * 关于ACM的入门书籍和方法:http://www.wutianqi.com/?p=2512

    希望能给你帮助


    PS:我已经有一年多不搞这了,所以只能给你经验上的帮助,技术上的没法帮忙。
    hitigon
        5
    hitigon  
       2013-02-21 14:07:11 +08:00
    算法课就应该这样

    感谢楼上的总结和资料,很棒
    hahastudio
        6
    hahastudio  
       2013-02-21 15:59:59 +08:00
    算法课不讲证明讲什么= =
    证明算法的正确性可以知道这个算法为什么对,如果是构造性证明还能知道前人是怎么想的= =
    顺带一提,我们用的是这个教材 http://www.cs.berkeley.edu/~vazirani/algorithms.html
    qiukun
        7
    qiukun  
       2013-02-21 17:59:29 +08:00
    不讲你还去上干嘛?直接给你个伪代码,小心点,啥不能实现?
    EthanZhu
        8
    EthanZhu  
       2013-02-22 04:46:53 +08:00
    上学期跟LZ一样痛苦。。。。一学期没怎么听课拿了个BC - -
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5222 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:35 · PVG 17:35 · LAX 01:35 · JFK 04:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.