上大學(xué)的時(shí)候,因?yàn)槭擒浖_發(fā)專業(yè),所以數(shù)據(jù)結(jié)構(gòu)和算法是必修課,工作這么多年,在很多優(yōu)秀的框架里面,也能看到數(shù)據(jù)結(jié)構(gòu)和算法的使用,但是自己一直沒有認(rèn)真整理過,所以打算從這篇開始,在工作閑暇之余,把自己對(duì)下面這些內(nèi)容的理解,都分篇整理一下。雖然這方面網(wǎng)上有很多文章了,但是為了方便自己的查閱和理解,還是自己整理的比較方便。
1.復(fù)雜度
- 時(shí)間復(fù)雜度
- 空間復(fù)雜度
2.線性數(shù)據(jù)結(jié)構(gòu)
- 動(dòng)態(tài)數(shù)組(Array)
- 鏈表(LinkedList)
- 單向鏈表
- 雙向鏈表
- 循環(huán)鏈表(單向循環(huán)鏈表、雙向循環(huán)鏈表)
- 靜態(tài)鏈表
- 棧(Stack)
- 隊(duì)列(Queue)
- 哈希表(HashTable)
- 位圖(非重點(diǎn))
3.樹形數(shù)據(jù)結(jié)構(gòu)
- 二叉樹(真二叉樹、滿二叉樹、完全二叉樹)
- 二叉搜索樹(Binary Search Tree、BST)
- 平衡二叉搜索樹(Balanced Binary Search Tree、BBST)
- AVL樹
- 紅黑樹(Red Black Tree)
- B樹(B+樹)
- 集合(TreeSet)
- 映射(TreeMap)
- 哈夫曼樹
- Trie
4.線性+樹形數(shù)據(jù)結(jié)構(gòu)
- 集合(HashSet)
- 映射(HashMap、LinkedHashMap)
- 二叉堆(Binary Heap)
- 優(yōu)先級(jí)隊(duì)列(Priority Queue)
- 并查集(Union Find)
5.圖(Graph)
- 無向圖(Undirected Graph)
- 有向圖(Directed Graph)
- 有權(quán)圖(Weighted Graph)
- 圖的廣度優(yōu)先搜索、深度優(yōu)先搜索
A.10大排序算法
- 冒泡排序(Bubble Sort)
- 選擇排序(Selection Sort)
- 插入排序(Insertion Sort)
- 歸并排序(Merge Sort)
- 快速排序(Quick Sort)
- 希爾排序(Shell Sort)
- 堆排序(Heap Sort)
- 計(jì)數(shù)排序(Counting Sort)
- 基數(shù)排序(Radix Sort)
- 桶排序(Bucket Sort)
B.五大查找算法
- 順序查找
- 二分查找
- 插值查找
- 斐波那契查找
- 樹表查找
C.六類算法思想
- 遞歸
- 回溯
- 貪心
- 分治
- 動(dòng)態(tài)規(guī)劃
- 分支界限
D.其他
- 字符串KMP算法
- Trie字典樹
END。
我是小侯爺。
在帝都艱苦奮斗,白天是上班族,晚上是知識(shí)服務(wù)工作者。
如果讀完覺得有收獲的話,記得關(guān)注和點(diǎn)贊哦。
非要打賞的話,我也是不會(huì)拒絕的。