1. 程式人生 > >資料結構學習筆記1-概述

資料結構學習筆記1-概述

-------------------一、資料結構--------------------------------------
1.連結串列
------遊標
      ------一種用來模擬鏈式分配的方法,遊標在不支援指標型別的程式語言中很有用。
------順序表/順序儲存結構線性表:
      ------多維陣列的一種動態方式,每個元素都包含額外的指標和位置資訊來保證陣列之間能夠正確連線並訪問。
------單鏈表:單向迴圈
      ------元素之間由一個單獨的指標連線。單鏈表允許從第一個結點開始遍歷到最後一個結點。
------雙鏈表/雙向連結串列:單向迴圈
      ------連結串列元素通過兩個指標連線。雙向連結串列允許正向和反向遍歷結點。
------迴圈連結串列:單向迴圈
      ------連結串列最後一個元素的指標指向連結串列的首元素,而不是設定NULL。迴圈連結串列允許迴圈遍歷結點。
------雙向迴圈連結串列:雙向迴圈
      ------該形式連結串列允許正向和反向迴圈遍歷結點。
------廣義表
      ------廣義表是一種為元素之間提供更靈活的連線關係的資料結構。例如,可能會在一組元素中用到多個指標來組織成多個連結串列,每個連結串列代表一種不同的元素順序(如模擬指標)。
------雜湊表
2.棧
3.佇列
------簡單佇列:
------雙佇列/雙向佇列:
      ------能夠在佇列的頭部和尾部都進行插入和刪除操作
------迴圈佇列
      ------迴圈佇列類似於迴圈連結串列。與迴圈連結串列不同的是,迴圈佇列沒有隊尾,佇列的最後一個元素指向佇列的第一個元素,以便佇列能夠以迴圈的方式來遍歷。
4.樹
------二叉樹
      ------(1)二叉搜尋樹
      ------(2)完全二叉樹
      ------(3)AVL樹
      ------(4)查詢二叉樹
------K叉樹
------紅黑樹
------Trie樹
------B樹、B+樹、B*樹
5.堆和優先佇列(優先佇列從堆自然衍生而來的資料結構)
      ------K叉堆
6.圖
-------------------二、演算法--------------------------------------
1.排序
------插入排序
------快速排序
------歸併排序
------計數排序
------基數排序
2.查詢
------二分查詢