之前整理了一些精選的原創文章原創文章精選,看你錯過了哪些好文?,然後有人讓我能不能把所有文章都整理以下,說實話,所有技術文章還是挺多的,感覺有幾百篇了,最後還打算整理一波,並且給大家詳細分類了。但是對於公眾號這種文章,就算整理了還是有一些侷限性,因為沒有書籤的那種摺疊功能,為了方便大家定位查詢,我這裡先列個大綱。整理的順序大概是
一. 經驗/經歷相關文章 二. 資料結構與演算法
- 基礎資料結構
- 必須演算法
- 演算法思想以及演算法題精講
- 演算法面試題系列
三. 演算法刷題彙總
- 遞迴
- 動態規劃
- 二分法
- 連結串列
- 二叉樹
- 貪心
- 其他leetcode題
- 常見經典演算法題
四. 計算機基礎
- 計算機網路
- 作業系統
- 計算機組成原理
- Linux
- 資料庫(MySQL)
五. 學習網站/資源推薦
六. 小知識科普
一、經驗/經歷
- 寫了很久,這是一份適合普通大眾/科班/非科班的『學習路線』
- 自學一路走來,這些私藏的實用軟體/網站資源貢獻給你們
- 寫公眾號15個月以來,這一路上的學習與收穫
- 普普通通,我的三年大學
- 歷經兩個月,我的秋招之路結束了!
- 嗯,春招兩次騰訊面試都掛二面了,分享下我失敗+傻傻的面試經歷
- 程式設計師必須掌握的演算法有哪些?談談這這幾年學過的演算法
- leetcode 刷500道題,筆試/面試穩嗎?談談演算法的學習
- 【吐血整理】那些讓你起飛的計算機基礎知識:學什麼,怎麼學?
- 【小白成長】這幾年看過的優秀書籍介紹
- 史上最全各類Java面試題彙總,沒有之一,不接受反駁
- 一些常用的演算法技巧總結
- 我是如何學習資料結構與演算法的?
一、資料結構與演算法
1、基本資料結構
- 三分鐘基礎:什麼是 2-3-4 樹
- 三分鐘基礎:什麼是 2-3 樹?
- 三分鐘基礎:什麼是佇列?
- 三分鐘基礎知識:什麼是棧?
- 三分鐘基礎:什麼是連結串列
- 傻瓜都能看懂,30張圖徹底理解紅黑樹!
- 什麼是B樹?為啥檔案索引要用B樹而不用二叉查詢樹?
- 騰訊面試題:有了二叉查詢樹、平衡樹為啥還需要紅黑樹?
- 【面試現場】為什麼MySQL資料庫要用B+樹儲存索引?
- 以後有面試官問你「跳躍表」,你就把這篇文章扔給他
- 【漫畫】以後在有面試官問你AVL樹,你就把這篇文章扔給他。
- 【演算法與資料結構】二叉堆是什麼鬼?
- 【演算法與資料結構】堆排序是什麼鬼?
2、必學演算法
- 老司機開車,教會女朋友什麼是「馬拉車演算法」
- 動態規劃之 KMP 演算法詳解
- 字串匹配Boyer-Moore演算法:文字編輯器中的查詢功能是如何實現的?
- 必學十大經典排序演算法,看這篇就夠了(附完整程式碼/動圖/優質文章)(修訂版)
- 【漫畫】為什麼說O(n)複雜度的基數排序沒有快速排序快?
- 【漫畫】不要再問我快速排序了
- 【漫畫】什麼是外部排序?
- 【演算法與資料結構】堆排序是什麼鬼?
- 圖解字串匹配的KMP演算法
- 【演算法與資料結構專場】BitMap演算法基本操作程式碼實現
- 【演算法與資料結構專場】BitMap演算法介紹
3、演算法思想以及演算法題精講
- 為什麼你學不會遞迴?告別遞迴,談談我的一些經驗
- 告別動態規劃,連刷40道動規演算法題,我總結了動規的套路
- 動態規劃該如何優化?我總結了這些套路,以後優化就是分分鐘
- 動態規劃詳解
- 有了這套模板,女朋友再也不用擔心我刷不動 LeetCode 了
- 什麼是並查集?有哪些應用?
- 贊!如何用演算法統計朋友圈個數?
- 字首和的應用,從一道網易筆試題說起
- 面試官,求求你不要問我這麼簡單但又刁難的演算法題了
- 面試官,我會設計洗牌演算法了,還能證明它是公平的
- 【追求極致】我是如何把easy級別的演算法題做成hard級別的。
- 演算法資料結構中有哪些奇技淫巧?
- 一個故事講完雜湊洪荒攻擊
- 【演算法技巧】位運算裝逼指南
- 階乘很簡單?恕我直言,階乘相關的面試題你還真不一定懂!
- 分享一道解法巧妙的演算法題
- 你真的瞭解 i++, ++i 和 i+++++i 以及 i+++i++ 嗎?
4、演算法面試題系列
- 【被虐了】詳解一次shopee面試演算法題:最小棧的最優解
- 記一道位元組跳動的演算法面試題:k個連結串列節點反轉
- 記一道阿里筆試題:我是如何用一行程式碼解決約瑟夫環問題的
- 如何只用2GB記憶體從20/40/80億個整數中找到出現次數最多的數
- 【面試現場】如何判斷一個數是否在40億個整數中?
- 【面試現場】如何在10億數中找出前1000大的數
- 【面試被虐】遊戲中的敏感詞過濾是如何實現的?
- 【面試現場】如何在500w個單詞中統計特定字首的單詞有多少個?
- 【面試現場】如何程式設計獲得最多的年終紅包獎?
- 面試掛在了 LRU 快取演算法設計上
- 【面試現場】如何程式設計解決朋友圈個數問題?
二、演算法刷題彙總
1、遞迴
2、動態規劃
- 告別動態規劃,連刷40道動規演算法題,我總結了動規的套路
- 動態規劃該如何優化?我總結了這些套路,以後優化就是分分鐘
- 演算法專題(動規):不同的定義產生不同的解法
- 詳解三道一維的動態規劃演算法題
- 經典動態規劃:高樓扔雞蛋
- 詳解 leetcode 221 題:最大正方形
- 動態規劃之正規表示式
3、二分法
3、連結串列
- 【連結串列問題】如何優雅著反轉單連結串列
- 【連結串列問題】三種方法帶你優雅判斷迴文連結串列
- 【連結串列問題】將單連結串列的每K個節點之間逆序
- 【連結串列問題】刪除單連結串列中的第K個節點
- 【連結串列問題】將搜尋二叉樹轉換成雙向連結串列
- 【連結串列問題】複製含有隨機指標節點的連結串列
- 【連結串列問題】將單向連結串列按某值劃分成左邊小,中間相等,右邊大的形式
- 【連結串列問題】環形單連結串列約瑟夫問題
- 【連結串列問題】刪除單連結串列的中間節點
4、二叉樹
- 詳解演算法之重建二叉樹
- 二叉樹的後序遍歷(非遞迴版)
- 二叉樹的先序遍歷(非遞迴版)
- 二叉樹的中序遍歷(非遞迴版)
- 從上往下列印二叉樹
- 二叉搜尋樹的後序遍歷序列
- 劍指offer:二叉樹映象
- 劍指offer:二叉樹的子結構
- 劍指offer:重建二叉樹
5、貪心
6、其他 leetcdoe 題
- [詳解leetcode 115題](講一道 leetcode 的題)
- 【leetcode】16. 最接近的三數之和
- 【leetcode】15:三數之和
- 【leetcode】14:最長公共字首
- 【leetcode】13:羅馬數字轉整數
- 【leetcode】12:整數轉羅馬數字
- 【leetcode】11. Container With Most Water | 盛最多水的容器
7、常見/經典演算法題
三、計算機基礎
1、計算機網路
- 一文讀懂一臺計算機是如何把資料傳送給另一臺計算機的
- 電腦的 ip 是怎麼來的呢?我又沒有配置過
- 關於三次握手與四次揮手面試官想考我們什麼?--- 不看後悔系列
- 廣播路由演算法: 我是如何優雅著把悄悄話帶給其他人的
- 什麼?你不知道0.0.0.0和255.255.255.255這兩個地址的幹嘛的?
- 談談NAT:什麼?全球IP和私有IP是什麼鬼?
- TCP流量控制機制
- 5分鐘讀懂擁塞控制
- 【漫畫】兩臺陌生的主機是如何保證資料正確交付的?
- 【漫畫】https 加密那點事
- 計算機網路系列 --- 什麼是電路交換和分組交換?
- 三分鐘基礎知識:用動畫給面試官解釋 TCP 三次握手過程
- 三分鐘基礎知識:用動畫給女朋友講解 TCP 四次分手過程
- 什麼是數字簽名?-- 【圖解數字簽名】
- 漫話:如何給女朋友解釋為什麼有些網站域名不以www開頭
- 如何區分LAN,WAN,WLAN ,VLAN 和VPN?
- 讓【在瀏覽器位址列輸入一個URL後回車,背後會進行哪些技術步驟?】成為面試的加分點
- 漫話:如何給女朋友解釋什麼是HTTP
- 為啥用ip不可以訪問知乎,而百度卻可以?
- 集線器、交換機與路由器有什麼區別?
2、作業系統
3、計算機組成原理
4、Linux
- 【必學】Linux 下三劍客的技能,你敢不學?
- 學Linux到底學什麼?
- 線上就能用的Linux我給你找好了
- 實用命令養成記:不可不知的網路命令-netstat
- 三分鐘基礎:殺死程式的N種姿勢你知道嗎
- 騰訊阿里都問過:線上伺服器CPU佔用率高如何排查定位問題?
- 這些linux技巧大大提高你的工作效率
- Linux 的啟動流程
5、資料庫(MySQL)
- 騰訊面試:一條SQL語句執行得很慢的原因有哪些?---不看後悔系列
- 面試小知識:MySQL索引相關
- 如何給新來的師妹解釋什麼是資料庫的髒讀、不可重複讀和幻讀
- 我去,這兩個小技巧,讓我的SQL語句不僅躲了坑,還提升了 1000 倍(半分鐘乾貨系列)
- 一條SQL語句在MySQL中如何執行的
- 【面試現場】為什麼MySQL資料庫要用B+樹儲存索引?
五、學習資源/網站推薦
- 線上就能用的 SQL 練習平臺我給你找好了!
- 刷了幾千道演算法題,這些我私藏的刷題網站都在這裡了!
- 發現一個有趣的開源專案:通過動畫教你學習演算法
- 程式設計師跳槽刷題必備神器!不用開啟瀏覽器,就能刷LeetCode
- 給大家介紹一些自己常用、感覺很不錯的效率工具
- 給大家推薦幾個常用谷歌瀏覽器外掛(不用翻牆也能使用谷歌搜尋了)
六、小知識科普
總結
這些文章,基本都是程式設計師必學知識,更是面試中的常考點哦。
有收穫?希望老鐵們來個三連擊,給更多的人看到這篇文章
1、點贊,可以讓更多的人看到這篇文章
2、關注原創微信公眾號『帥地玩程式設計』,為了鞏固計算機基礎知識(計算機網路+ 作業系統+資料庫+Linux)以及演算法,最近開了個微信公眾號『帥地玩程式設計』,感興趣的可以關注,重點講解演算法相關文章,嘻嘻。後臺回覆『電子書』送你一份精選電子書大禮包,包含各類技能的優質電子書