大学四年一路走来,我把这些私藏的算法学习工具全贡献出来了!

大家都知道,数据结构和算法一直是学习编程和求职路上的一个大的拦路虎,而且不管是大厂还是小厂,在笔试和面试时都是在重点考察数据结构+算法题。

这篇文章就把自己当时在学习数据结构和算法路上私藏的一些比较好用的神器工具网站和资源做一波梳理和总结,相信看完一定会有你喜欢的!

话不多说,上菜!


Data Structure Visualization

我们都知道数据结构和算法一个比较难以掌握的原因就是很难形象地在脑海中形成一个结构化的画面,尤其是当一些结构和算法比较复杂时,对人的想象能力有一定要求。

Data Structure Visualization这个网站则提供了一种将数据结构和算法进行可视化的功能,并开发了交互式的动画展示,便于理解和掌握数据结构+算法。

image

目前该网站已经把包括像列表、堆、栈、队列、树、哈希表、图、查找、排序、递归、动态规划等一系列主要的数据结构和算法都进行了可视化展示,非常便于初学者理解和掌握。

我们以排序算法里的「堆排序为例」,这个网站可以给出完整的可视化过程,可以说非常nice了!

image

而且在动画下方还可以暂停播放以及自行调节画幅大小以及动画速度等一些参数,非常便于学习。

image

Big-O Cheat Sheet

提到数据结构和算法的学习,一个绕不过去的问题那就是算法复杂度,包括时间复杂度分析和空间复杂度分析。

复杂度通常会使用大O记号来表示,比如冒泡排序的平均时间复杂度是O(n^2),而快速排序的平均时间复杂度则是O(nlog(n))。

除此之外还有包括像堆、栈、队列、链表、跳表、哈希、B-Tree、堆排序、选择排序、归并排序等等一系列数据结构和算法的复杂度最好都是能要求在理解的基础上熟记的。

Big-O Cheat Sheet这个网站则把常见的数据结构和算法的各种复杂度进行了对比+整理+归纳,并制备了精美的表格,可供查阅+复习+背诵,一目了然,非常清楚。

image
image

VisuAlgo

VisuAlgo这个网站也提供将常见数据结构和算法进行动态可视化的功能,并且支持中文。

image

VisuAlgo一个比较不错的功能是除了可以动态演示算法之外,还可以按步骤进行动画演示甚至是交互,并且包含了每个步骤的解释,的确有点酷炫了。

这地方给一个归并排序的动画示例看看效果:

image

Algorithm Visualizer

Algorithm Visualizer同样是一款交互式算法可视化网站,并且支持Java、JavaScript、C++等主流编程语言。

该网站内容分为三大部分,最左侧可以自由选择不同的数据结构和算法(目前支持包括二叉树、图、排序、查找、动归、贪心等很多数据结构以及算法);中间部分则进行算法可视化展示以及控制台的打印输出;最右侧用于展示算法的源码并支持修改运行并看到效果。

image

牛客在线编程

牛客题库里面的在线编程模块用于进行数据结构和算法的练习还是十分不错的,里面有不少题目是剑指offer上的题,这些基本都是求职前必刷的。

image

除了支持提交多种编程语言的代码之外,还有一个比较好的点是可以看到大家的题解、讨论、甚至是提交的代码,而且又是中文社区网站,这样交流和参考起来还是挺方便的。

image

codeforces

codeforces别名CF,一看这名字就知道有点东西。它是一家俄罗斯的网站,而且据说最早是由一群颇具开源精神的大学生们维护的。

image

codeforces的比赛系统和积分系统一直是被大家所熟知的。大家在上面用它的比赛系统还是比较多的,每个用户都有Rating积分,很多人都在上面享受上分带来的成就感。

image

除此之外,上面的题集质量也还不错,各种难度都有,在里面刷题也是非常不错的选择。


HackerRank

HackerRank其实和上面刚介绍的codeforces有点像,主要内容也包括数据结构和算法题的题库练习与比赛。

image
image

除此之外,HackerRank在其他相关的计算机技术主题上都有涉猎,比如像编程语言、SQL、数据库等等。

image

LeetCode

LeetCode力扣我想就不用多说了。

俗话说得好,熟刷算法300遍,不会做题也会吹。没错,就算上面提到的所有网站都没有兴趣不想看,那这里LeetCode上的数据结构和算法的题目基本是必刷的。

还记得我们那时候用LeetCode时才几百道题,现在的LeetCode题量和那时相比感觉都翻了好多倍了。

image

一般来说,LeetCode题量慢慢上来之后,再加上多回顾多总结多发散,慢慢地对于数据结构和算法这一块就会变得越来越有心得。没办法,这玩意没啥捷径,多思考多练习才是关键。


知名OJ

除了上面这些网站之外,还有一些口碑一直不错的高校OJ系统有兴趣的也可以看一看。

  • 北大OJ:

image
  • 中科大OJ:

image
  • 杭电OJ:

image
  • 哈工大OJ

image

写在最后

好了,今天的分享就到这里了,希望这些学习和练习数据结构+算法的工具和资源能够对大家有所帮助。

另外最近花了大把力气,把自用的编程学习资源做了个大整理。

都是纯肝货,目录如下。

image

该内容 GitHub https://github.com/rd2coding/Road2Coding 已经收录,里面还有我整理的6大编程方向的自学路线+知识点大梳理我的简历面试考点几本硬核pdf笔记,以及我的程序员人生,欢迎star。

整理不易,欢迎支持,我们下篇见!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,227评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,755评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,899评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,257评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,617评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,757评论 1 221
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,982评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,715评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,454评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,666评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,148评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,512评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,156评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,112评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,896评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,809评论 2 279
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,691评论 2 272

推荐阅读更多精彩内容