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

如何快速提高算法能力?

  •  
  •   qawsed2019 · 148 天前 · 3665 次点击
    这是一个创建于 148 天前的主题,其中的信息可能已经有所发展或是发生改变。

    技术小白一枚,理工科专业,想走算法 /开发工程师路线。高薪大公司的算法岗位都需要笔试,听到要考试就很紧张╮(╯_╰)╭,自己平时也在默默刷题,但是刷完就忘了 o(≧口≦)o。听说 v 站大佬很多,所以注册账号来请教大家,有没有快速提高算法能力的方法?ヾ(´∀`o)+

    36 回复  |  直到 2019-07-02 17:19:22 +08:00
        1
    kuangwinnie   148 天前
    忘了就再刷。。。
    直到看到就知道用什么算法,用什么算法你都有自己的写法。。。

    就大成了
        2
    msaionyc   148 天前
    没有。
    无数大佬也是一步步走过来的,凭什么你能快速提高。
    刷完忘记没啥事,下次遇到同类型的知道解法然后解就好了,难的也就 dp,和一些考思维的题,别的多做做就熟练了
        3
    carlclone   148 天前   ♥ 2
    是不是对算法工程师有什么误解....
        4
    siyemiaokube   148 天前 via iPhone
    纯粹为了面试的话就上 leetcode 吧,如果想要快速地真正掌握,建议从抽象代数 /范畴论的角度,结合函数式编程来理解。不过这方面的资料还很有限
        5
    HuasLeung   148 天前
    这是个可爱的小女生?嘤嘤嘤
        6
    kcirtap   148 天前   ♥ 1
    现在算法工程师应该默认是搞 ML、AI 那些的吧,和刷题有什么关系…
        7
    smdbh   148 天前 via iPhone
    我想 lz 指的是 acm 之类基础,多刷就熟了。如果是专业领悟比如图像,声音的,就要理论了
        8
    pwrliang   148 天前
    算法岗位需要懂 MLDM 类算法,开发岗一般考经典算法,也就是计算机类专业本科学的那些… lz 先要弄懂区别
        9
    VDimos   148 天前 via Android
    算法岗是有专门的科学理论支撑的,比如图像处理,视频压缩这些,还有就是现在热门的机器学习里面的很多算法,不是单纯的书上说的快排这种。算法岗对学历要求比较高, 本科生竞争力不强
        10
    xrlin   148 天前
    嘤嘤嘤,我比较笨,只能要用到时再看一下,红黑树、堆、图之类的之类的只能 while:似懂-忘记-哦,是这样-忘记。
        11
    huntzhan   148 天前
    *clean code* 里面提过一个每天热身进入工作状态的方法:随机挑一道算法题然后写出来。如果每天都这么做,持续半年估计应付常见的白板面试就没有问题了吧
        12
    MrGba2z   148 天前   ♥ 2
    时间多: 刷 leetcode,30 分钟没思路直接看答案,看懂了自己写一遍答案。
    时间少: 上 geeksforgeeks 几种常见算法的介绍,背诵范式,然后 leetcode 上有个 Explore 对应的算法一个个做下来,最后几题可以不做。最后看 Explore 里对应公司的题目,有时间做一遍 没时间看一眼有思路就下一题。

    当然个人经历来说,对非大牛来说最重要的是:运气好
        13
    Allianzcortex   148 天前   ♥ 2
    practice makes perfect,觉得还是要多刷吧,单位时间内只刷同一类型题目,Java 刷完 Java 再刷,再用 Js 刷,再用 Golang 刷,一周一月后再复习,能做到 LC high frequency 和《剑指 offer 》都秒解基本就没太大问题。复利还是挺可怕的,一天五道,周末十道,只用半年算法基本就可以维持肌肉记忆,参加 LC week contest 保持手感 etc.
        14
    Allianzcortex   148 天前
    @xrlin RBTree 正常面试不太会出吧,AVL 就是极限了,BST 才是主流...图算法只在当初刷 HDU 的时候用过 prim 和 dijkstra,至少三四年都没见有人再提过,大概真的考的很少吧
        15
    ericgui   148 天前   ♥ 2
    还是多刷题,真的有捷径吗?没有的。

    工程问题,遇到多了就知道什么回事了,又不是天天让你发明新东西,无非是解决一个又一个问题罢了。
        16
    0x3f3f   148 天前
    没有。勤学苦练。
        17
    gogogo2019   148 天前
    提高算法可以找一些趣味数学相关内容看,然后手头放一部算法之类的参考书在手头,经常思考如何将趣味数学的相关内容通过算法实现,一段时间之后功力就会大增
        18
    qwingmix   148 天前
    没有快速,但有捷径,大话数据结构了解一下,一页一页跟着刷起来。
        19
    wanzy   148 天前 via iPhone
    一般我们说做算法的是指具体的方向,比如视觉 nlp 推荐系统等,而几乎所有计算机相关岗位都要考察的算法是指数据结构与算法。如果你要从事算法相关工作的话,你应当钻研一个方向的算法,再去找对应的工作。单纯刷 leetcode 之类是行不通的。
        20
    Yvette   148 天前 via iPhone   ♥ 1
    还以为又是九章算法的广告
        21
    dfjslkjdf   148 天前
    你高中数学是怎么学的,又是怎么刷题的?
        22
    jingyulong   148 天前
    一般和实际结合,记忆会更加深刻。一般算法都是来解决实际生活中的问题的。

    算法工程师学历要求比较高,一般都是硕士。

    如果应付面试,就是刷题,leetcode。
        23
    jingyulong   148 天前
    @Yvette #20 无形当中你就打了一个广告。。。。。
        24
    xrlin   148 天前 via iPhone
    @Allianzcortex 她找算法岗,所以觉得还是有可能的,一般岗位都是逻辑或者数学题。
        25
    xpresslink   148 天前
    楼主这个问题就和如何快速提高智商是一样的。
    你以为博闻强记就可以了么?
    算法工程师的主要工作是发明新的算法。
        26
    Skypemifan   148 天前
    其实还是考试那一套 刷题 总结套路
        27
    lincanbin   148 天前 via Android
    这个路线就是 leetcode ……
        28
    SunJingxiang   148 天前
    @HuasLeung 女生?只怕掏出来比你大
        29
    gimp   148 天前
    不要迷信速成,扎实的基础需要时间去夯实
        30
    littlekui   148 天前   ♥ 1
    只是为了面试得到算法工程师岗位的话,楼主是科班出身,已经有基础,投简历之前预留时间多刷题: https://www.lintcode.com/problem/#utm_source=v2exmn

    ps:虽然推荐的这个链接里面是一些算法、数据结构的考题,但是不代表面试的时候,公司出的考题就只有这几个领域,虽说是面试跟算法相关的岗位,但是基本的编程语言(比如 Python )、coding 能力、计算机体系结构、数学等在复习的时候也都需要涉猎。
        31
    qawsed2019   148 天前
    谢谢大家的回复!(*^▽^*)
    @jingyulong
    @lincanbin
    @littlekui
    @MrGba2z
    目前已经注册 leetcode、lintcode、九章算法、codevs 等刷题网站账号,准备努力加油刷题啦!
    到时候如果遇到问题,还会在 v 站发帖请教,希望各位大佬不吝赐教,小女先在此谢过!(づ ̄ 3  ̄)づ
        32
    HuasLeung   148 天前
    @qawsed2019 哇哇哇 回答也好可爱
        33
    qawsed2019   148 天前
    @HuasLeung 确实是女孩子没错,资深腐女宅,ACG 爱好者!
        34
    lincanbin   146 天前 via Android
    头像有缘,微信同名,要加下吗
        35
    cwang0129   110 天前
    唯快不破
        36
    qawsed2019   106 天前
    @cwang0129 勤学苦练咩~(╥╯^╰╥)
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2961 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 11:33 · PVG 19:33 · LAX 04:33 · JFK 07:33
    ♥ Do have faith in what you're doing.