小螞蟻學習數據結構(25)——圖的基本概念和術語

圖是一種較線性表和樹更爲複雜的非線性結構。spa

在線性結構中,結點之間的關係,除開始結點和終端結點外,每一個結點只有一個直接前驅和直接一個後繼。.net

在樹形結構中,結點之間的關係實質上是層次關係,同層上的每一個結點能夠和下一層的零個或多個結點相關,但只能和上一層的一個節點相關(除了根節點)。blog

在圖形結構中,對結點(通常稱爲頂點)的前驅和後繼的個數都是不加限制的,即結點之間的關係是任意的。圖中任意兩個結點之間均可能相關。ci

圖的定義get

    圖G有兩個集合V和E組成,記做 G = (V,E)博客

    V是頂點的有窮非空集合,E是v中頂點偶對的有窮集合。it

    這些頂點偶對稱爲邊。一般V(G)和E(G)分別稱爲圖的頂點集合和邊集合。終端

    E(G)能夠爲空集。數據

有向圖margin

    對一個圖G,若邊的集合E(G)是有向邊的集合,則稱該圖爲有向圖。即頂點之間的連線是有方向的。

    其中<x,y>表示從x到y的一條弧,x是弧尾,y爲弧頭

無向圖:

    對於一個圖G,若邊的集合E(G)是無向邊的集合,這個圖就是無向圖。即頂點之間的連線是沒有方向的。

    其中,(x,y)表示x與y之間的一條連線,稱爲邊。

已知頂點數n,求邊或者弧的條數

    無向圖:0 <= e <= n(n-1)/2

    有向圖:0 <= e <= n(n-1)

    推導過程:

        對有向圖,每一個頂點至多有n-1條邊與其相連,n個頂點最多就有n(n-1)條邊。

        可是無向圖,每條邊鏈接兩個頂點,因此除去一半,故n(n-1)/2

其餘術語

    端點和鄰接點

        在一個無向圖中,若存在一條邊<v1,v2>,則稱v1和v2就是該邊的兩個端點,並稱他們爲領接點

    無向徹底圖

        在一個無向圖中,若是任意兩頂點都有一條直接邊相鏈接,則稱該圖爲無向徹底圖。

    有向徹底圖

        在一個有向圖中,若是任意兩頂點都有方向互爲相反的兩條弧相鏈接,則稱該圖爲有向徹底圖。

    

這一節的概念真多,我都不想寫了。

        

頂點的度、入度、出度:頂點的度是指依附於某頂點v的邊數。

       在有向圖中,要區別頂點的入度和出度的概念。頂點v的入度是指以頂點v爲終點的弧的數目。頂點v的出度是指以頂點v爲始點的弧的數目。

邊的權、網:

    權:與邊相關的數據信息成爲權weight。在實際應用中,權值能夠有某種含義。邊上帶權的圖稱爲網。

路徑、路徑長度:

    從頂點u能都走到頂點w,之間的距離就是路徑。

    路徑上邊的數目成爲路徑長度。

    簡單路徑:序列中頂點不重複出現的路徑。

    迴路、環(cycle):路徑中第一個頂點和最後一個頂點相同的路徑。

    簡單迴路、簡單環:除了第一個頂點與最後一個頂點以外,其餘頂點不重複出現的迴路稱爲簡單迴路,或者簡單環。

子圖:圖中的一部分,稱爲子圖。

連通的、連通圖、連通份量:

    在無向圖中,若是從一個頂點vi到另外一個頂點vj有路徑,這稱vi和vj是連通的。

    若是圖中任意兩頂點都是連通的,這稱該圖爲連通圖。

    無向圖的極大連通子圖稱爲連通份量。

強連通圖、強連通份量: 

    對於有向圖來講,若圖中任意一對頂點vi和vj均有從一個頂點vi到另外一個頂點vj有路徑,也有從vj到vi的路徑,則稱該有向圖是強連通圖。

    有向圖的極大強連通子圖稱爲強連通份量。

生成樹:

    所謂連通圖G的生成樹,是G的包含其所有n個頂點的一個極小連通子圖。一定包含G的n-1條邊。多增長一條邊,就會產生迴路,少一條邊,就成了非連通圖。

生成森林:

    在非連通圖中,由每一個連通份量均可獲得一個極小連通子圖,及一顆生成樹。

    這些連通份量的生成樹就組成了一個連通圖的生成森林。


    學PHP的小螞蟻 博客 http://my.oschina.net/woshixiaomayi/blog

相關文章
相關標籤/搜索