數(shù)據(jù)結(jié)構(gòu)和算法概覽

上大學(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ì)拒絕的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容