數據結構(45)圖的基本操作

圖的基本操作是獨立於圖的存儲結構的。而對於不同的存儲方法,操作算法的具體實現會有不同的性能。在設計具體算法的實現時,應考慮採用何種存儲方式的算法效率會更高。

圖的基本操作主要包括(僅抽象地考慮,故忽略掉各變量的類型):

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

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

InsertVertex(G,x):在圖G中插入頂點x。

DeleteVertex(G,x):從圖中刪除頂點x。

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

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

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

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

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

Set_edge_value(G,x,y,v):設置圖G中邊(x,y)或<x,y>對應的權值爲v。

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