個人對數據結構與算法的總結歸類

數據結構與算法總結

       大致可分爲兩個部分,數據結構部分和算法部分。

數據結構
       首先,數據結構可分爲表、樹、圖三部分,以及排序、查找算法。
       1>表,是一種基礎的數據結構,表中的每一個元素至多擁有一個前驅和一個後驅。表可以分成順序表、單鏈表、雙鏈表和循環鏈表,還有“後進先出”的棧、“先進先出”的隊列、散列表。
       2>樹,是一種存在明顯劃分的樹形結構,一般的存儲方式是鍊形結構。除了根元素外,每一個元素只有一個前驅,除了葉子元素外,所有元素有多個後驅,在二叉樹中,每個元素至多隻能擁有兩個後驅。樹可以分爲二叉樹(BT)、線索二叉樹、二叉查找樹(BST)、紅黑樹(RBST)和B樹(B+樹)。二叉樹中常用的算法:前序遍歷、中序遍歷、後序遍歷和層次遍歷。
       **前序遍歷(DLR):先根遍歷。根--左--右
       **中序遍歷(LDR):左--根--右
       **後序遍歷(LRD):左--右--根
       **層次遍歷(BFS):廣度優先遍歷,逐層搜索。
      3>圖,每個元素具有一個或多個前驅或後驅,一般存儲方式是鄰接矩陣和鄰接表實現。圖可分爲四小類,無向無環圖、無向有環網,有向無環圖、有向有環網。遍歷方式有兩種:深度優先遍歷和廣度優先遍歷。

算法
1.基礎算法:
          排序算法:另外總結。
          查找算法:另外總結。
2.高級圖算法:
          最小生成樹的克魯斯卡爾算法和普里姆算法;
          單源最短路徑的迪傑斯特拉算法和每對頂點間的最短路徑的Floyd算法;
          網絡流中的最大流問題的Ford算法。
3.算法思想:
         遞歸與分治思想;動態規劃思想;貪心法思想;回溯法思想;分支限界思想;圖的搜索算法思想。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章