前言
算法和数据结构一直是笔者心中的痛,笔者曾经阅读过两个材料,但都收效不好,尝试总结下这两个材料:
- 极客时间的数据结构和算法的课程
- 优点:适合用于去理解数据结构和算法的基本概念
- 缺点:不包含题目(这里记不太清楚了)或者只包含少量的题目,不太适合有刷题需求的小伙伴
- 左神的程序员代码面试指南
- 优点:每道题目有解答,按照数据结构分类练习
- 缺点:每章从简单的题目到复杂的题目,难度曲线陡峭,不太容易想到解题思路
直到最近刷知乎,了解到educative.io这个神奇的网站。网站是全英的,CS的留学生们应该很熟悉,其中有两门高分课程,适用于准备算法面试和系统设计。我看国内小伙伴了解的不多,所以专门写这篇博客来介绍下。
前置准备
educative这个网站,如果不登陆的话,默认可以看几个免费的课程,但是登录之后就可以解锁全部的免费课程,笔者在国内,曾经尝试过注册和登录,但是都无法成功,报一个关键词为 recaptcha 的这个错误。
经过百度之后,成功的解决了问题,现在可以正常的注册和登录了,解决方式如下:
-
火狐浏览器安装一个插件 gooreplacer
-
配置gooreplacer,增加下面的配置项即可
购买方式
先说说购买方式,课程分为全站通的订阅模式和单独购买课程模式。
订阅模式
订阅模式可以按月或者按年来购买,目前官网的价格如下:
其中在付款时,选择Reedum,填入下面的优惠码,还可以额外享受10%的优惠,注意这张图中还有一个60.35刀的优惠,猜测是因为笔者今天单独购买了一个课程花费了60.35刀,在当天如果还购买订阅制会员会给我减掉单独购买课程的钱。
建议如果不差钱的小伙伴,可以直接购买年度订阅,比较合适。
单独购买课程
单独购买课程,对单独课程的访问权限并不是永久的,也只是一年而已,但是笔者认为,一年的时间也足够我们学习一门课程了。
在付款时同样可以选择填入一个优惠码,可以享受15%的优惠。
算法设计
课程入口
网址:Grokking the Coding Interview: Patterns for Coding Questions
课程特点
-
把leetcode上的题目按照解题模式归类到一起,便于重复练习同一类题目,达到熟练的程度
- 笔者目前学习了滑动窗口相关的题目,从第二第三题开始就已经可以熟练的运用滑动窗口来解决相似的题目,按照解题模式来分类和左神的按照数据结构分类对比,笔者对按照解题模式来分类的这种方式收获更多。
-
课程前置要求较低,只需要掌握Java中的一些数据结构,递归和大O即可
系统设计
课程入口
网址:Grokking the System Design Interview
课程特点
因为笔者还没有购买这门课程,没有实际学习,所以对课程特点不做过多的介绍,等到后续学习到这门课程再进行补充,防止误导小伙伴。