ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

学算法的那些年,吴师兄接触的网站、软件、视频、书籍大揭秘

2020-09-18 15:00:41  阅读:224  来源: 互联网

标签:视频 书籍 算法 专栏 https com 揭秘 师兄


大家好,我是吴师兄,不知不觉的从 16 年接触算法开始到现在已经过去四年了,今天分享一下我学算法的经历,希望对学算法的你有

一、为什么学算法

首先,我们得承认,算法在工作中不是必须的!

那为什么还要学算法呢?

这个问题真的是仁者见仁智者见智,有的人想提高技术水平,研究源码时发现得掌握相应的数据结构与算法才行,比如  Redis 里面的跳表、 Linux 内核文件系统里面的红黑树;有的人认为学好算法能改善思考问题的方式,有意的训练编程的思想。

而我的想法很简单粗暴:为了跳槽涨工资!

我是非科班出身的程序员,误打误撞的进入了互联网行业,而作为一名初级程序员,只要掌握了 Ctrl + C 和 Ctrl + V 就能处理 90% 的工作,数据结构与算法在工作中基本上没用到,即使平时看源码的时候也不会去深究为什么会这样设计。

日子就这样简单枯燥的过去了,直到一年半后我决定跳槽。。。

16 年的时候视频方向比较火,所以投了 Bigo 的简历,没想到一去面试就给我三道算法题,依稀记得是把字符串转换为整数、合并有序数组、动态规划题,现在想来一点都不难,当时却是一脸懵逼,相当尴尬。

那个时候我才知道,哦,程序员原来还要学算法。

二、怎么准备算法面试

简单起来就三句话:边看书(视频),边敲代码,边做题练习。

这三个过程中都需要去思考,多问为什么,这样在面试过程中才能表现的更好。

比如面试官问你如何对一组数据进行排序,那他可能希望你对这组数据有着更全面的思考:是否包含大量重复元素?取值范围是否有限?是否近乎有序?

正如前往所言,数据的不同特点对应着不同的算法。

大量重复元素意味着可以使用三路快排。

取值范围有限可以考虑使用计数排序。

插入排序在近乎有序的情况下性能最佳。

推荐阅读:

https://coding.imooc.com/class/82.html

三、我用过的那些算法网站

1、LeetCode

英文网址:https://leetcode.com/
中文网址:https://leetcode-cn.com/

难度从 Easy、Medium 至 Hard 都有,目前来看挺多大厂面试官喜欢从中挑选题目。

2、牛客网

https://ac.nowcoder.com/acm/home

讨论区:

https://www.nowcoder.com/discuss

牛客网提供了众多的企业校招真题供大家练习,另外还有很多很好的题库供大家在线编程使用,特别推荐《剑指offer》题库,额外推荐他们的讨论区,包含了各大互联网大厂的面试经验,值得你提前学习参考。

3、Data Structure Visualization

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

一个数据可视化和算法可视化的网站,用它可以生成各种各样的数据结构,模拟它们添加和删除的过程,而且还可以用它来演示算法的执行过程。

4、VisuAlgo

https://visualgo.net/zh

一个动态可视化网站!

学算法的那些年,吴师兄接触的网站、软件、视频、书籍大揭秘

堆的学习过程有时候挺难理解的,在这个网站上演示一下元素的各种操作过程,会带来一些更直观的印象。

学算法的那些年,吴师兄接触的网站、软件、视频、书籍大揭秘

四、书籍 & 视频  & 专栏

市面上有许许多多的书籍、视频、专栏,很多人都在纠结:我应该选择书籍、视频还是专栏进行学习呢?哪本算法书籍比较好呢?哪些视频最符合我的情况呢?那些专栏是不是割韭菜?

事实上,无论书籍、视频还是专栏,里面的内容基本上都是这些。

  • 复杂度分析

  • 基本算法思想

  • 排序算法

  • 搜索

  • 查找

  • 字符串匹配

  • 线性表

  • 散列表

不用纠结,你只要踏踏实实的把任何一本书籍或者一套视频或者一个专栏看完,你的算法基本上就入门了,剩下的无非就是查缺补漏和练习。

如果你还是纠结,那我可以给出几个小参考给你。

如果你通勤时间比较久(在一个小时左右),那可以考虑使用 2 倍速 看视频或者听音频,一方面可以 ”自我感动“:我今天在努力学习,另一方面也可以更好进入工作的状态。

注意:我在这里使用「自我感动」一词并非贬义,而是褒义;一般情况下,我们在等地铁或者公交的时候,无非在刷朋友圈、微博,或者看视频、抖音,想到自己平时在做这些事情,现在却在学习,怎能不感到一番。换句话说觉得自己在努力学习有什么不好?

如果你每天有完整的一大段时间,那可以挑选一本薄一点的算法书籍,仔细看看,将课后的练习题做一做。

《算法导论》不推荐初学者看。这本书是本神书,但是这本书的门槛比较高,需要有一定数学基础和算法基础的人去研究,如果你没有一定的基础或者对算法狂热的学习兴趣,你很难啃下去,最终丧失学算法的动力。

Ps:给需要买书的同学提供一个当当优惠码,可以花160买400的书

优惠码:B8HVHA

如果你上班有划水时间,那可以挑选一个专栏去学习,编译代码期间、调试环境过程划一划专栏的章节,那也挺好的。

目前极客、拉勾、掘金、GitChat 都有相应的专栏。

五、软件

软件的话推荐两个,一个叫 算法动画图解 ,一个叫 LeetCode 。

学算法的那些年,吴师兄接触的网站、软件、视频、书籍大揭秘学算法的那些年,吴师兄接触的网站、软件、视频、书籍大揭秘

LeetCode 的评论区,人才辈出,骚话不断,题解区更是藏龙卧虎,值得一看。

学算法的那些年,吴师兄接触的网站、软件、视频、书籍大揭秘学算法的那些年,吴师兄接触的网站、软件、视频、书籍大揭秘

好啦,以上就是我的分享,感谢你的阅读:)

最后,小编想说:我是一名python开发工程师,整理了一套最新的python系统学习教程,想要这些资料的可以关注私信小编“01”即可(免费分享哦)希望能对你有所帮助.

标签:视频,书籍,算法,专栏,https,com,揭秘,师兄
来源: https://www.cnblogs.com/12345ai/p/13691291.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有