數據結構筆記——圖的基本操作

目錄

一、基本操作

1.Adjacent(G,x,y):判斷圖G是否存在邊或(x,y),y>

2.Neighbors(G,x):列出圖G中與結點x鄰接的邊

3.InsertVertex(G,x),在圖G中插入頂點x

4.DeleteVertex(G,x),從圖G中刪除頂點x

5.AddEdge(G,x,y):若無向邊(x,y)或有向邊不存在,則向圖G中添加該邊,y>

6.RemoveEdge(G,x,y):若無向邊(x,y)或有向邊存在,則從圖G中刪除該邊,y>

7.FirstNeighbor(G,x):求圖G中頂點x的第一個鄰接點,若有則返回頂點號,若x沒有鄰接點或圖中不存在x,則返回-1

8.NextNeighbor(G,x,y):假設圖G中頂點y是頂點x的一個鄰接點,返回除y之外頂點x的下一個鄰接點的頂點號,若y是x的最後一個鄰接點,則返回-1

9.Get_edge_value(G,x,y):獲取圖G中邊(x,y)或對應的權值,y>

10Set_edge_value(G,x,y,v):獲取圖G中邊(x,y)或對應的權值v,y>

二、總結

一、基本操作

1.Adjacent(G,x,y):判斷圖G是否存在邊<x,y>或(x,y)

無向圖

鄰接矩陣查找時間複雜度:O(1)

鄰接表查找時間複雜度:O(1)~O(|V|)

有向圖

鄰接矩陣查找時間複雜度:O(1)

鄰接表查找時間複雜度:O(1)~O(|V|)

2.Neighbors(G,x):列出圖G中與結點x鄰接的邊

無向圖

鄰接矩陣查找時間複雜度:O(|V|)

鄰接表查找時間複雜度:O(1)~O(|V|)

有向圖

鄰接矩陣查找時間複雜度:O(|V|)

鄰接表查找時間複雜度

出邊:O(1)~O(|V|)

入邊:O(|E|)

3.InsertVertex(G,x),在圖G中插入頂點x

無向圖

鄰接矩陣查找時間複雜度:O(1)

鄰接表查找時間複雜度:O(1)

注:有向圖也類似

4.DeleteVertex(G,x),從圖G中刪除頂點x

無向圖

鄰接矩陣查找時間複雜度:O(|V|)

鄰接表查找時間複雜度:O(1)~O(|E|)

有向圖

鄰接矩陣查找時間複雜度:O(|V|)

鄰接表查找時間複雜度

刪出邊:O(1)~O(|V|)

刪入邊:O(|E|)

5.AddEdge(G,x,y):若無向邊(x,y)或有向邊<x,y>不存在,則向圖G中添加該邊

無向圖

鄰接矩陣查找時間複雜度:O(1)

鄰接表查找時間複雜度:O(1)

注:有向圖也類似

6.RemoveEdge(G,x,y):若無向邊(x,y)或有向邊<x,y>存在,則從圖G中刪除該邊

無向圖

鄰接矩陣查找時間複雜度:O(1)

鄰接表查找時間複雜度:O(1)~O(|V|)

注:有向圖也類似

7.FirstNeighbor(G,x):求圖G中頂點x的第一個鄰接點,若有則返回頂點號,若x沒有鄰接點或圖中不存在x,則返回-1

無向圖

鄰接矩陣查找時間複雜度:O(1)~O(|V|)

鄰接表查找時間複雜度:O(1)

有向圖

鄰接矩陣查找時間複雜度:O(1)~O(|V|)

鄰接表查找時間複雜度

找出邊鄰接點:O(1)

找入邊鄰接點:O(1)~O(|E|)

8.NextNeighbor(G,x,y):假設圖G中頂點y是頂點x的一個鄰接點,返回除y之外頂點x的下一個鄰接點的頂點號,若y是x的最後一個鄰接點,則返回-1

鄰接矩陣查找時間複雜度:O(1)~O(|V|)

鄰接表查找時間複雜度:O(1)

9.Get_edge_value(G,x,y):獲取圖G中邊(x,y)或<x,y>對應的權值

10Set_edge_value(G,x,y,v):獲取圖G中邊(x,y)或<x,y>對應的權值v

二、總結

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章