天天看點

學算法,這幾個"神"站,你一定需要

學算法,這幾個"神"站,你一定需要

每一個學習計算機和從事計算機的,最痛恨的就是學習資料結構和算法,一學就瞌睡,實在讓人頭疼…

其實學習算法也是講究方法的,雖然有難度,但是肯下功夫,總會有收獲。

我們應該堅持五項原則:

  1. 刷題要趁早。尤其是還在上學的,有大好的時光鑽研,算法是進入大廠門檻,别到時候畢業了,刷的不錯的夥伴已經找到不錯的工作,你還在投履歷。等人家數第一桶金的時候,你還在吃泡面,混,遲早要還。
  2. 幹啥事都得有目标,必須明确方向,不能盲目幹,比如先隻刷入門的算法,多刷幾次,之後轉戰中級,不要這一棒子那一棒子,會很亂的。
  3. 找同夥,一定要找同夥,不要相信自己的控制力,要認清自己沒那麼強,找個一起的互相督促,一定非常有幫助。
  4. 刷完就了事了?不可能,一定要實踐應用,多模拟練習面試,或者去真正去面試,提升實踐性。
  5. 90%以上的人都不能憑空解決問題,不會不要緊,放下倔強去學習,背答案,總結思路,從小到大,沒有什麼知識是憑空在你腦子裡冒出來的,都是學習來的,不斷應用,才能不斷創新。

除了上面的原則,算法學習網站也成為我們的好幫手,網站和五項原則,相輔相成,提高效率。

這種網站一大堆,隻用幾個精緻的就可以了。題差不多,解題也差不多。

當然刷題不能亂刷,你要知道刷題要幹嘛,是找工作面試、加強學習提升職業競争力,還是參加程式設計競賽,或者追求人生意義?

當初我是為找工作面試而學算法的,開始的時候很多都蒙,智力不夠刷題來湊,還記着當初靠背誦記住了一些。

今天把私藏的資源分享出來,讓大家群shuang

LeetCode——https://leetcode-cn.com/

Leetcode(力扣),基本人人推薦,算是人盡皆知,号稱大廠篩碼工,模拟大廠面試。位址是中文社群,收費的站點。

學算法,這幾個"神"站,你一定需要

LintCode——https://www.lintcode.com/problem/

除了LeetCode還有LintCode(領扣),它的題目分類明确,難度等級分明,階梯型訓練,友善你我他。題目都差不多,和力扣的差別我記着好像是領扣沒有社群。按月付費每月100多,感覺有些小貴。

學算法,這幾個"神"站,你一定需要

Codewars——https://www.codewars.com/

還有Codewars,這也是一個很有意思的平台,題目也貼合實際工作和生活,有一定的代入感,題目還和遊戲結合,簡單的題讓你玩着玩着就學會了,有時候寫了好多行代碼解決的問題,發現大神幾行就搞定,感覺智商被碾壓,懷疑自己有沒有腦子。不過看欣賞人家的code,擴充思路特别強,

支援基本所有語言。全程是英語,讀起來确實有些生澀。

學算法,這幾個"神"站,你一定需要

其他

都是代碼?比較抽象是以了解苦難?不要急,還有可視化動畫效果幫助你。

Data Structure Visualizations

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

Algorithm Visualizer

https://algorithm-visualizer.org/

算法效果一目了然,配合代碼别提多專業了。具象化教學還能加強記憶。

學算法,這幾個"神"站,你一定需要

除了這倆還有個和Leeetcode搭配的開源項目。該項目目前5萬多star,作者真的超級棒,還有獨立部落格詳細講解。

https://github.com/MisterBooo/LeetCodeAnimation