一位攻城獅的算法修養

數據結構與算法

在這裏插入圖片描述

算法基礎

  • 時間複雜度
  • 空間複雜度
  • 最大複雜度
  • 平均複雜度

基礎數據結構

線性表

  • 順序表
  • 鏈表
  • 跳躍表
  • 並查集

棧與隊列

  • 隊列
  • 優先隊列
  • 多級反饋隊列

哈希表

  • 碰撞解決辦法:
    • 開放地址法
    • 鏈地址法
    • 再次哈希法
    • 建立公共溢出區
  • 布隆過濾器

  • 二叉樹: 各種遍歷,遞歸與非遞歸
  • 哈夫曼樹與編碼
  • AVL樹
  • B樹與B+樹
  • 前綴樹
  • 紅黑樹
  • 線段樹

數組

  • 樹狀數組
  • 矩陣

常見算法

十大排序算法

  • 簡單排序:
    • 插入排序
    • 選擇排序
    • 冒泡排序
  • 分治排序:
    • 快速排序 : 注意軸的選取方式
    • 歸併排序
  • 分配排序:
    • 桶排序
    • 基數排序
  • 樹狀排序:
    • 堆排序
  • 計數排序
  • 希爾排序

圖論算法

  • 圖的表示:
    • 鄰接矩陣
    • 鄰接表
  • 遍歷算法:
    • 深度搜索
    • 廣度搜索
  • 最短路徑算法:
    • Floyd
    • Dijkstra
  • 最小生成樹算法:
    • Prim
    • Kruskal
  • 實際常用算法:
    • 關鍵路徑
    • 拓撲排序
  • 二分圖匹配:
    • 配對算法
    • 匈牙利算法
  • 拓展:
    • 中心性算法
    • 社區算法

搜索與回溯算法

  • 貪心算法
  • 啓發式搜索算法:
    • A*尋路算法
  • 地圖着色算法
  • N皇后問題
  • 最優加工算法
  • 旅行商問題

動態規劃

  • 樹形DP:
    • 01揹包問題
  • 線性DP:
    • 最長公共子序列
    • 最長公共子串
  • 區間DP:
    • 矩陣最大值
    • 矩陣最大和
    • 矩陣最大積
  • 數位DP:
    • 數字遊戲
  • 狀態壓縮DP:
    • 旅行商

字符串匹配算法

  • 正則表達式
  • 模式匹配:
    • KMP
    • Boyer-Moore

流相關算法

  • 最大流:
    • 最短增廣路
    • Dinic算法
  • 最大流最小割:
    • 最大收益問題
    • 方格取數問題
  • 最小費用最大流:
    • 最小費用路
    • 消遣
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章