目錄
1.Adjacent(G,x,y):判斷圖G是否存在邊或(x,y),y>
2.Neighbors(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
二、總結