1. 程式人生 > 其它 >圖——常考題型、儲存結構、遍歷、應用

圖——常考題型、儲存結構、遍歷、應用

  • 圖的基本性質(常考題型)

      1. 在一個圖中,所有頂點的度數之和等於邊數的 2
      2. 廣度優先遍歷通常藉助佇列來實現演算法,深度優先遍歷通常藉助來實現演算法。
      3. 廣度優先遍歷類似於二叉樹的層次遍歷深度優先遍歷類似於二叉樹的先序遍歷
      4. n個頂點的強連通圖至少有n條邊,形狀是樹狀
      5. n個頂點的連通圖鄰接矩陣表示時,該矩陣至少有2(n-1)個非零元素
    1. 有向圖

      1. 具有 n 個頂點的有向圖最多有 n(n-1) 條邊。
      2. 拓撲排序可以判斷出一個有向圖是否有
    2. 無向圖

      1. 具有 n 個頂點的無向圖最多有 n(n-1)/2 條邊。

      2. 設有 n 個結點的無向圖,該圖至少應有 n-1 條邊,就能確保是一個連通圖

      3. G是一個非連通無向圖,共有s條邊,求至少有多少個頂點?

        ​ 利用點邊公式求出n後 結果+1(構成非連通無向圖

      4. 若從無向圖的任意一個頂點出發進行一次深度優先搜尋可以訪問圖中所有的頂點,則該圖一定是連通圖

  • 圖的儲存結構

    常用的儲存結構有兩種:鄰接矩陣法、鄰接表法。

    鄰接矩陣

    1. 特點
    • 無向圖的鄰接矩陣一定是個對稱矩陣。
    • 有向圖的鄰接矩陣是無規律矩陣。

    鄰接表

    1. 特點
    • 圖的鄰接表不唯一。
    • 對於稀疏圖,鄰接表能極大節省儲存空間。
    • 在有向圖的鄰接表表示中,求一個頂點的出度只需計算結點個數。
    • n個結點,e條邊的無向圖鄰接表中,有n個頭結點和2e個表結點。
  • 圖的遍歷

    圖的遍歷演算法主要有兩種:廣度優先搜尋和深度優先搜尋。

    廣度優先

    類似二叉樹當中的層次遍歷,注意按照順序依次遍歷。

    深度優先

    類似二叉樹當中的先序遍歷,可以理解成一頭倔牛,一直深入搜尋到最底層,沒路了就原路返回接著找之前的另一個出口倔出來,直到所有頂點均被訪問過為止。

  • 圖的應用

    1. 最小生成樹

2.最短路徑

3.關鍵路徑(AOE)