前言
算法和數據結構一直是筆者心中的痛,筆者曾經閱讀過兩個材料,但都收效不好,嘗試總結下這兩個材料:
- 極客時間的數據結構和算法的課程
- 優點:適合用於去理解數據結構和算法的基本概念
- 缺點:不包含題目(這里記不太清楚了)或者只包含少量的題目,不太適合有刷題需求的小伙伴
- 左神的程序員代碼面試指南
- 優點:每道題目有解答,按照數據結構分類練習
- 缺點:每章從簡單的題目到復雜的題目,難度曲線陡峭,不太容易想到解題思路
直到最近刷知乎,了解到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
課程特點
因為筆者還沒有購買這門課程,沒有實際學習,所以對課程特點不做過多的介紹,等到后續學習到這門課程再進行補充,防止誤導小伙伴。