一、算法最最基礎
1、時間複雜度
2、空間複雜度
一般最先接觸的就是時間複雜度和空間複雜度的學習了,這兩個概念以及如何計算,是必須學的,也是必須最先學的,主要有最大複雜度、平均複雜度等,直接通過部落格搜尋學習即可。
文章推薦:
算法分析神器—時間複雜度
二、基礎資料結構
1、線性表
清單(必學)
連結清單(必學)
跳躍表(知道原理,應用,最後自己實作一遍)
并查集(建議結合刷題學習)
不用說,連結清單、清單必須,不過重點是連結清單。
三分鐘基礎資料結構:如何輕松手寫連結清單?
以後有面試官問你「跳躍表」,你就把這篇文章扔給他
2、棧與隊列
棧(必學)
隊列(必學)
優先隊列、堆(必學)
多級回報隊列(原理與應用)
特别是優先隊列,再刷題的時候,還是經常用到的,隊列與棧,是最基本的資料結構,必學。可以通過部落格來學習。相關文章:
三分鐘基礎知識:什麼是棧?
二叉堆是什麼鬼?
【算法與資料結構】堆排序是什麼鬼?
3、哈希表(必學)
碰撞解決方法:開放定址法、鍊位址法、再次哈希法、建立公共溢出區(必學)
布隆過濾器(原理與應用)
哈希表相關的,推薦通過部落格來學習,推薦文章:
Hash沖突之開放位址法
4、樹
二叉樹:各種周遊(遞歸與非遞歸)(必學)
哈夫曼樹與編碼(原理與應用)
AVL樹(必學)
B 樹與 B+ 樹(原理與應用)
字首樹(原理與應用)
紅黑樹(原理與應用)
線段樹(原理與應用)
樹相關是知識還是挺多的,建議看書,可以看《算法第四版》。相關文章:
高頻面試題:什麼是B樹?為啥檔案索引要用B樹而不用二叉查找樹?
【漫畫】以後在有面試官問你AVL樹,你就把這篇文章扔給他。
騰訊面試題:有了二叉查找樹、平衡樹為啥還需要紅黑樹?
【面試被虐】遊戲中的敏感詞過濾是如何實作的?
5、數組
樹狀數組
矩陣(必學)
樹狀數組其實我也沒學過,,,,
————————————————
版權聲明:本文為CSDN部落客「帥地」的原創文章,遵循 CC 4.0 BY-SA 版權協定,轉載請附上原文出處連結及本聲明。
原文連結:
https://blog.csdn.net/m0_37907797/article/details/102661778