algo-basic
為了讓大家更能閱讀演算法,電腦基礎(包括電腦網絡,作業系統,MySQL等)等高品質技術文章,我把這些文章整理成了一本有高清目錄的PDF,不過為了後續方便更正錯誤以及增加新內容,所以有了這個Github。
所以呢,這個Github將會分享資料結構,演算法,電腦基礎,我的學習經驗等文章,無論你是要應付面試,特別是校招,還是想提升自己的內功,我想,我的這些文章都會對你有幫助,這些文章基本上都是獲得各大部落格平台一直好評之後,我才更新到這裡了。
另外,如果看了文章後有幫助,帥地想請你幫我個忙,送我一個Star,滿足下我地虛榮心,如果Star 多的話,說不定我還有機會截圖發個朋友圈,裝裝B,嘻嘻。
最後,如果你想看PDF 或epub 版本的電子書,可以在我的微信公眾號帥地玩編程回复程序員內功修煉,即可獲取所有文章整理而成,帶有高清目錄的PDF/epub 版電子書哦,可以直接掃一掃關注哦。
目錄
- 學演算法
- 學習演算法經驗分享
- 學遞迴
- 學動態規劃
- 學二分查找
- 再現校招演算法面試現場
- 學字符串匹配演算法
- 必學演算法思維與技巧
- 必學排序演算法
- 搞定二元樹
- 搞定鍊錶
- 學資料結構
- 學電腦網絡
- 寫給在校生的經驗總結
- 個人經歷與感想
- 學作業系統
- MySQL
- Java
- Git
- 看過的優質書籍推薦
- 後續
- 讚賞
學演算法
學習演算法經驗分享
- 程式設計師必須掌握的演算法有哪些?
- 作為一個小白,演算法該如何學習?
- leetcode刷500題,筆試/面試穩過嗎?
學遞迴
- 為什麼你學不會遞迴?告別遞歸,談談我的一些經驗
- 訓練1:在兩個長度相等的排序數組中找出上中位數
- 訓練2:求兩個有序數組的第K小數
- 訓練3:求兩個有序數組的中位數(論思考轉換的重要性)
學動態規劃
- 動態規劃很難? DP連刷40題,我總結出了這些套路!
- 動態規劃的最佳化
- 訓練1:詳解三道一維的動態規劃演算法題
- 訓練2:詳解leetcode221題:最大正方形
學二分查找
- 二分查找你確定真的會?生活中還能用來設計騙局?
- 兩道看似簡單的演算法題
- 二分法題型小結
再現校招演算法面試現場
- 記一道位元組跳動的演算法面試題:變形的鍊錶反轉
- 記一次手撕演算法面試:位元組跳動的面試官把我四連擊了
- 一道阿里筆試題:我是如何用一行程式碼解決約瑟夫環問題的
- 記一次阿里面試:面試掛在了LRU快取演算法設計上
- 前綴和的應用,從一道網易筆試題說起
- 面試被虐:記一次shopee演算法面試題:最小堆疊的最優解
- 面試被虐:說說遊戲中的敏感詞過濾是如何實現的?
- 只用2GB記憶體從20億,40億,80億個整數中找到出現次數最多的數
學字符串匹配演算法
- 圖解字串匹配KMP演算法
- 字串匹配Boyer-Moore演算法:文字編輯器中的查找功能是如何實現的?
必學演算法思維與技巧
- 最求極致:我是如何把easy等級的演算法題做成hard級的
- 分享一道解法巧妙的演算法題
- 階乘很簡單?說實話,這幾階階乘相關面試題你還真不一定懂!
- 面試官,求你不要問我這麼簡單但又刁難的演算法題了
- 牛逼!一行程式碼居然能解決這麼多曾經困擾我半天的演算法題
- 帥地給你總結了這份高頻地演算法解題技巧,幫助你更快速解題!
- 演算法資料結構中有哪些奇技淫巧?
- 位運算裝逼指南
- 尋找缺失的整數
必學排序演算法
- 漫畫:求求你不要再問我快速排序了
- 漫畫:為什麼說O(n)複雜度的基數排序沒有快速排序快?
- 漫畫:外部排序:如果用2GB記憶體為20億個整數排序? (其實這也是常考面試題)
- 別翻了,程式設計師必學十大經典排序演算法,看這篇就夠了
搞定二元樹
- 二元樹的先序遍歷(非遞歸版)
- 二元樹的中序遍歷(非遞歸版)
- 二元樹的後序遍歷(非遞歸版)
- 從上往下列印二元樹
- 二元樹的構建
- 二元樹的鏡像
- 二元樹的子結構
- 二元搜尋樹的後序遍歷序列
- 重建二元樹
搞定鍊錶
- 鍊錶訓練1:刪除單鍊錶的第K個節點
- 鍊錶訓練2:刪除單鍊錶的中間節點
- 鍊錶訓練3:如何優雅反轉單鍊錶
- 鍊錶訓練4:環形單鍊錶約瑟夫問題
- 鍊錶訓練5:三種方法帶你優雅判斷回文鍊錶
- 鍊錶訓練6:將單向鍊錶依某值分成左邊小,中間相等,右邊大的形式
- 鍊錶訓練7:複製含有隨機指標節點的鍊錶
- 鍊錶訓練8:將單鍊錶的每K個節點之間逆序
- 鍊錶訓練9:將搜尋二元樹轉換成雙向鍊錶
學資料結構
- 二叉堆是什麼鬼?
- 堆排序是什麼鬼?
- 漫畫:什麼是avl樹?
- 騰訊面試題:有了二元查找樹,平衡樹為啥還需要紅黑樹?
- 高頻面試:什麼是B樹?為啥檔案索引要用B樹而不用二元查找樹?
- 以後有面試官問你跳表,你就把這篇文章丟給他
學電腦網絡
- 一文讀懂一台計算機是如何把資料傳送給另一台電腦的
- 漫話:什麼是https?這應該是全網把https講的最好的一篇文章了
- 圖解:兩天完全陌生的主機是如何辦到資料的正確交付的?
- 數位簽名是什麼
- 什麼是擁塞控制?
- 什麼是TCP流量控制
- 什麼是廣播路由演算法?如何解決廣播風暴?
- 關於三次握手與四次揮手面試官想考我們什麼?
- 電腦的ip是怎麼來的?我又沒有配置過
- 電路交換與分組交換的區別
寫給在校生的經驗總結
- 學了四年編程,這些優質的學習工具,網站與資料,推薦給你們
- 想了很久,這是適合一般大眾的學習路線
- 核心整理:那些讓你起飛的電腦基礎:學什麼,怎麼學?
- 嗯,春招兩次騰訊面試都掛二面,分享下我失敗+傻傻的面試經歷
- 歷經兩個月的秋招,結束了,談談春秋招中一些重要的知識點吧
- 有必要說一說即將到來的春招(經歷+重要性+如何準備)
- 講一講當時春秋招時做過的專案以及推薦幾個專案+面試視頻
個人經歷與感想
- 秋招結束了,普普通通,我的三年大學
- 寫公眾號15個月以來,這一路上的學習與收穫
- 我的2019
- 玩公眾號寫文章一年多來,我經歷了被噴被拉黑被讚美,我酸了
- 2020第一篇原創:我是如何讓自己變的更加優秀的
- 說一說我最近的日常,學習與思考
學作業系統
這部分的文章有點少,後面逐漸補充,敬請期待
- 記一次面試:進程之間究竟有哪些溝通方式?如何通信?
MySQL
- 騰訊面試:一條SQL語句執行得很慢的原因有哪些?
- 面試小知識:MySQL索引相關
- 我去,這兩個小技巧,讓我的SQL語句不只躲了坑,還提升了1000倍
Java
- 線程安全(上):徹底搞懂volatile關鍵字
- 線程安全(下):徹底搞懂synchronized(從偏向鎖到重量級鎖)
- 一句話擼完重量級鎖、自旋鎖、輕量級鎖、偏向鎖、悲觀、樂觀鎖等各種鎖
- 並發的核心:CAS是什麼? Java8是如何優化CAS的?
- Java並發包中最重要的幾個同步類,你敢不學?
- 求求你規範下你的程式碼風格
Git
看過的優質書籍推薦
- 大學四年,看過的優質書籍推薦
- 演算法�與電腦基礎,有哪些值得閱讀的書籍?
後續
希望這本電子書對你有幫助,如果大家的反應不錯,我後面會繼續增加內容,目前這本算是初級版,可能也存在很多不足,例如錯字,某些知識點寫錯,如果大家遇到什麼疑問,都可以透過我的公眾號找到我,可以在我的公眾號留言,或直接加我的個人微信。
讚賞
電子書的整理也是挺不容易,如果你覺得有幫助,想要打賞作者,那麼可以透過這個收款碼打賞我,金額不重要,心意最重要,主要是我可以透過這個打賞情況來預計大家對這本電子書的評價,嘻嘻。
註:打款時可以備註下你的暱稱哦,可以是CSDN,可以是微信,可以是GitHub等