为什么只有少数人能学会算法?

现在很多人学习编程学的还是很开心,随着学习的深入慢慢的开始怀疑人生,怀疑自己是不是真的适合学习编程,总之一系列的不合适纷纷的涌入自己的大脑,作为一个程序员如何正确的看待算法,如何正确的学习算法,如何找到合适的提高途径?作为一个程序员都必选要考虑的事情。

无论编程如何的变化,对于算法的要求不会随之降低,现在大家对于人工智能的概念说的非常多,人工智能里面涉及到的神经网络算法更是层出不穷,算法的重要性在提升,现在很多事情都在去追求智能化,智能化的前提算法的合理性以及最优化。

为什么这么多人觉得学习算法特别难,学起来直接一头雾水。

算法的学习需要循序渐进

很多人觉得程序员最基本的素质是算法要强,于是买了各种算法书开始大规模的学习,时间长了觉得不是那么回事了,还是怀疑自己的智商了,在这不说程序员基本素质这块,毕竟程序员具备的素质除了算法还有更加核心的东西,算法的学习需要循序渐进,不是一口气就能搞定,而且学习算法需要有一定的基础。

初学C语言学到链表基本上很多人都进行不下去了,觉得太难了,指针到处乱指,简单的来讲链表都不算是算法太基础了,学习链表或者二叉树这些简单的数据结构之前,先把指针的概念彻底的了解清楚,如果搞不懂指针的内涵学习这些简直就是一种折磨。所以在学习数据结构之前还是要把指针掌握,编程的学习过程如同编程逻辑一样丝丝入扣,一环扣一环。前面的基础的不牢固后面的很难持续推进下去。

所以学习编程急不来,学习算法也急不来,基础也不是一天两天能搞定的事情,所以学起来要来来回回的反复对照学,前面有了感觉后面的紧跟上。

算法学习需要讲究一定的方法

学习算法不能一脑袋扎进去不管不问了,任何一个算法都不是孤立的,都有前后的因果关系,所以在学习的过程中要懂得分解,前几天有个同事在看算法导论看的很入迷,遇到了一个问题,前后思考了不明白,看算法代码怎么也想不清楚,最后发现是指针的赋值没看明白,到头来还是指针初始化没学透彻。

在学习算法过程中,各种脑洞,各种想法都值得去尝试,本着理论和实践想结合的思路去学习,不能只是实践,也不能一味的沉浸在理论中,代码和理论结合起来效果会更好。任何的算法都不是孤立的,有些存在某种关联或者变种,一般来讲前面的几种算法理解透彻之后后面学起来会更加的方便。

算法的学习算是十足的烧脑运动了,其实更加讲究的知识体系结构,掌握的算法越多,学习新的算法也就越快速。其实学习最好的办法就是让自己的产生兴趣,有了兴趣就会想尽一切办法去找到解决方案。

学习算法要有毅力

真正的算法学习起来,存在一定的难度的,坚持很重要,毕竟里面的东西的学习,需要耐心去看不能只是三分钟的热度基本学不会,毕竟算法的学习需要注意力高度集中,不停的烧脑学习。不适合学习一段时间就轻易放弃的人,所以没点毅力根本就学不好算法,更加谈不上学习编程了。

算法的学习过程需要一遍遍的不停的迭代,一遍遍的打磨,一直到彻底的明白,大家不要觉得很多技术大牛,表面上展示的多牛,其实下多少功夫只有他们自己清楚,他们也有痛苦的时候,只不过没有展示出来。

无论是学习算法还是学习编程,在实际的学习过程中都会遇到各种困难,特别是对于初学者来讲,遇到让自己一点不明白的东西也很正常,重要的是保持一颗平常心,让自己产生兴趣,不卑不亢。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2018-04-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

如何成为一名自然语言处理工程师

22330
来自专栏数据科学与人工智能

【机器学习】什么是机器学习:一次权威定义之旅

在这篇文章中,我想要解决一个很简单的问题:机器学习是什么? 你可能对机器学习感兴趣或者稍稍了解。如果有一天你和朋友或同事聊起机器学习,那么一些人可能会问你“机...

23350
来自专栏机器之心

让人工智能发明自己的语言:OpenAI语言理解研究新方向

选自OpenAI 作者:Igor Mordatch 等 机器之心编译 参与:李泽南、蒋思源、微胖、黄小天 在本文中,OpenAI 展示了自己的新研究,让人工智能...

34070
来自专栏PPV课数据科学社区

SAS市场研究应用介绍:多维偏好分析

一多维偏好分析(multidimensional preference analysis)介绍 在联合分析中,被访者需要描述他们对产品的偏好情况,这些产品有若...

33980
来自专栏数据科学与人工智能

【统计学习】为什么同一问题统计专家、机器学习专家解决方法差别那么大?

乍一看,机器学习和统计似乎是非常相似的,大家几乎不强调这两个学科之间的差异。机器学习和统计有着相同的目标 ——它们都关注数据建模,但他们的使用方法却因为它们文化...

29560
来自专栏PPV课数据科学社区

机器学习&人工智能:数据赋能背后的黑科技

? 背景 马老师曾提到三次技术革命:“第一次技术革命是体能的释放,是让人的力量更大,第二次技术革命是对能源的利用,使得人可以走得更遥远,而这一次技术革命是IT...

40460
来自专栏大数据和云计算技术

NLP(自然语言处理)扫盲

最近在学NLP,给自己扫扫盲,看看NLP具体干什么,本文先学学概念,后面再深入。(不是很深入的文章,高手误入。) 自然语言处理(简称NLP),是研究计算机处理人...

37670
来自专栏有趣的Python和你

Python数据科学|第一章:数据科学家的武器库

本系列教程为《Python数据科学——技术详解与商业实践》的读书笔记。该书以Python为实现工具,以商业实战为导向,从技术、业务、商业实战3个维度来展开学习。...

17820
来自专栏AI科技评论

业界 | 黄仁勋亲自撰文怼上 TPU:P40速度比你快 2 倍,带宽是你的 10 倍

AI科技评论按:前不久谷歌发布了关于TPU细节的论文,称“TPU 处理速度比当前 GPU 和 CPU 要快 15 到 30 倍”。当时就有人对此种“比较”表示质...

37260
来自专栏CDA数据分析师

基础知识:统计学和数据挖掘的区别

1. 简介 统计学和数据挖掘有着共同的目标:发现数据中的结构。事实上,由于它们的目标相似,一些人(尤其是统计学家)认为数据挖掘是统计学的分支。这是一个不切合实际...

27250

扫码关注云+社区

领取腾讯云代金券