一个出色的程序员,除了能像码积木一样的写代码,还要掌握算法吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
find456789

一个出色的程序员,除了能像码积木一样的写代码,还要掌握算法吗?

  •  
  •   find456789 2017 年 12 月 4 日 4560 次点击
    这是一个创建于 3064 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是不是要学各种算法,才能找到高薪工作

    感觉算法是一种特别高大上的东西,都有点不敢去学了,有些望而却步了

    第 1 条附言    2017 年 12 月 4 日
    我学历小学, 所以数学 学的少,半路出家,不太了解算法,学编程我都是看书,看网上的课程学来的

    听到大家说什么 冒泡排序,这样的名词,我就有些 望而却步,不敢去学

    我还专门买了一本《啊哈 算法》 看了没有几页,就看不太懂了

    我是学 Javascript 和 python 的
    21 条回复    2017-12-04 15:36:19 +08:00
    cctv1005s927
        1
    cctv1005s927  
       2017 年 12 月 4 日   3
    ???什么程序员不需要学习算法
    anoymoux
        2
    anoymoux  
       2017 年 12 月 4 日   3
    1.要
    2.是
    3.为什么不敢...看不懂你的逻辑,难道一个女生太漂亮,你就不敢喜欢她吗?简单重复的事情会让人变得平庸,养成知难而上的习惯!
    vegito2002
        3
    vegito2002  
       2017 年 12 月 4 日   2
    会的越多, 赚的越多. 不想学就不要嫌薪水低, 哪一行都是这样
    takato
        4
    takato  
       2017 年 12 月 4 日 via iPhone   3
    未来五年是科学家的时代
    xiandao7997
        5
    xiandao7997  
       2017 年 12 月 4 日
    歪个楼 楼主头像是一个 草 吗
    find456789
        6
    find456789 &nsp;
    OP
       2017 年 12 月 4 日
    @xiandao7997 头像是系统默认赠送的
    lwbjing
        7
    lwbjing  
       2017 年 12 月 4 日   1
    软考程序员考试要求

    ( 1 )掌握数据及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;
    ( 2 )理解计算机的组成以及各主要部件的性能指标;
    ( 3 )掌握操作系统、程序设计语言的基础知识;
    ( 4 )熟练掌握计算机常用办公软件的基本操作方法;
    ( 5 )熟练掌握基本数据结构和常用算法;
    ( 6 )熟练掌握 C 程序设计语言,以及 C++、Java、Visual Basic 中的一种程序设计语言;
    ( 7 )熟悉数据库、网络和多媒体的基础知识;
    ( 8 )掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;
    ( 9 )了解常用信息技术标准、安全性,以及有关法律、法规的基本知识;
    ( 10 )了解信息化、计算机应用的基础知识;
    ( 11 )正确阅读和理解计算机领域的简单英文资料。
    ipwx
        8
    ipwx  
       2017 年 12 月 4 日   3
    其实,会算法也有两种人:

    ( 1 )根据前人研究出来的各种数据结构和算法,搭积木一样地完成自己要做的程序;
    ( 2 )研究出前无古人后无来者的算法。

    而且,这里的算法不仅局限于什么排序之类的经典算法,比如以下都可以称之为算法:

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

    这些算法也都有“搭积木”和“做研究”两种从业人员的存在。

    楼主想要往哪个方向努力,自己看着办吧。
    deadEgg
        9
    deadEgg  
       2017 年 12 月 4 日   4
    搬砖 + 算法 = 稳定快速的搬砖
    amezf
        10
    amezf  
       2017 年 12 月 4 日   1
    不学算法,你不知道积木怎么码才能更牢固、更省材料。
    SuperMild
        11
    SuperMild  
       2017 年 12 月 4 日 via iPhone   1
    会设计建筑当然更好,但搬砖砌墙的工人也是社会需要的,也产出价值。

    甘于搬砖很好,力争上游也很好。

    又不是每个人都有很高智商,有的人学算法要花很多精力,又希望花更多时间去享受生活,那不钻研算法也很合理,每个人情况不一样。
    coderluan
        12
    coderluan  
       2017 年 12 月 4 日   1
    首先,一个出色的程序员并不一定要精通算法,毕竟发展的方向很多。
    但是,一个人连基本的算法都掌握不了,他肯定成不了优秀的程序员。

    前者是选择,后者是能力,能力不的人谈选择,就是找借口。
    ipconfiger
        13
    ipconfiger  
       2017 年 12 月 4 日   1
    算法就像是扳手, 你不需要会造扳手好歹也要会用吧. 如果不动算法就等于把扳子当锤子使, 怎么可能高效呢?
    zhaoweichen
        14
    zhaoweichen  
       2017 年 12 月 4 日   1
    是的啊。不过优秀的程序员不光要会算法(或者说是会估算复杂度),还要会系统( OS,网络,等等)。
    fl2d
        15
    fl2d  
       2017 年 12 月 4 日   1
    我觉得 lz 说的算法不是冒泡排序,而是比如动态规划、机器学习之类。
    据我所见,大多数程序员连微积分都不会了。
    find456789
        16
    find456789  
    OP
       2017 年 12 月 4 日
    @fl2d 我学历小学, 所以数学 学的少,半路出家,不太了解算法,学编程我都是看书,看网上的课程学来的
    SuperMild
        17
    SuperMild  
       2017 年 12 月 4 日 via iPhone
    其实一些基本算法的使用,也不是很难,和搭积木差别不大,也不需要很多数学知识,硬着头皮硬啃,时间长了总能搞懂的
    ycwang
        18
    ycwang  
       2017 年 12 月 4 日 via Android   1
    算法+数据结构=程序
    gonethen
        19
    gonethen  
       2017 年 12 月 4 日
    佩服楼主,小学学历能入行,很不错了
    Moorj
        20
    Moorj  
       2017 年 12 月 4 日
    算法的含义很多啊,1+1=2 1*2=2 0 不可以作为被除数,这都是算法啊,乍一眼看上去可能比较绕,但是小学就会啊
    MrXiong
        21
    MrXiong  
       2017 年 12 月 4 日
    刚开始看确实头疼,可以慢慢来,不要畏惧,算法中的数学证明可以忽略,看看概念,理解逻辑,多花点时间,还是能看懂的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     941 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 80ms UTC 19:14 PVG 03:14 LAX 12:14 JFK 15:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86