日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

数据结构之图的基本操作

發(fā)布時(shí)間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构之图的基本操作 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

圖的基本操作

  • 基本操作:
  • 判斷邊是否存在:
  • 列出與某節(jié)點(diǎn)相鄰的邊:
  • 在圖中插入一個(gè)頂點(diǎn):
  • 在圖中刪除一個(gè)頂點(diǎn):
  • 在圖中添加一條邊:
  • 在圖中刪除一個(gè)邊:
  • 查找某頂點(diǎn)的第一個(gè)鄰接點(diǎn):
  • 查找某邊的權(quán)值:
  • 查找某一頂點(diǎn)鄰接點(diǎn)的下一個(gè)鄰接點(diǎn):

基本操作:

判斷邊是否存在:


ps:
在鄰接表中,要搜索某節(jié)點(diǎn)的整個(gè)邊表才能找到是否存在邊,O(1)~O(|v|)
在鄰接矩陣中,只需要判斷該邊對(duì)應(yīng)數(shù)組位置的值即可,O(1)
所以從判斷是否存在邊的角度看,鄰接矩陣法更優(yōu)

列出與某節(jié)點(diǎn)相鄰的邊:


無(wú)向圖:
在鄰接矩陣中,只需要搜索對(duì)應(yīng)行對(duì)應(yīng)列即可,O(|V|)
在鄰接表中,只需要遍歷該節(jié)點(diǎn)的邊表即可,O(1)~O(|V|)
所以在無(wú)向圖中, 列出與某節(jié)點(diǎn)相鄰的邊時(shí)鄰接表法更優(yōu)
有向圖:
在鄰接矩陣中,只需要搜索對(duì)應(yīng)行對(duì)應(yīng)列即可,O(|V|)
在鄰接表中,出邊很容易,但是找入邊需要遍歷整個(gè)邊表:
1、尋找出邊:O(1)~O(|V|)
2、尋找入邊:O(|E|) (遍歷所有的邊節(jié)點(diǎn))
所以在有向圖中,列出與某節(jié)點(diǎn)相鄰的邊時(shí)鄰接矩陣法更優(yōu)(但是存儲(chǔ)稀疏圖,E比較小)

在圖中插入一個(gè)頂點(diǎn):

ps:
在鄰接表法中,將該頂點(diǎn)加入到頂點(diǎn)表中將邊的關(guān)系加入到邊表中,O(1)
在鄰接矩陣法中,擴(kuò)充一行和一列,放置對(duì)應(yīng)關(guān)系,O(1)

在圖中刪除一個(gè)頂點(diǎn):

無(wú)向圖:

ps:
在鄰接表法中,刪除該節(jié)點(diǎn)和對(duì)應(yīng)的邊表即可,O(|V|)
在鄰接矩陣法中,刪除該頂點(diǎn)對(duì)應(yīng)的行與列即可,有以下兩種情況,O(1)~O(|E|)
1、將后續(xù)元素前移,用D覆蓋C,但是會(huì)讓大量元素移動(dòng),代價(jià)太大
2、將刪除節(jié)點(diǎn)對(duì)應(yīng)行列置0,在頂點(diǎn)結(jié)構(gòu)體中設(shè)置bool變量來(lái)標(biāo)記節(jié)點(diǎn)的空

有向圖:

在圖中添加一條邊:

ps:
在鄰接表法中,在倆端節(jié)點(diǎn)的邊表添加該邊,O(1)
在鄰接矩陣法中,把對(duì)應(yīng)的倆個(gè)矩陣值修改即可,O(1)(頭插法優(yōu)于尾插法,O(1)是頭插法的時(shí)間復(fù)雜度,尾插法還需要遍歷邊表)

在圖中刪除一個(gè)邊:


ps:
在鄰接表法中,遍歷整個(gè)邊表找到對(duì)應(yīng)的邊表節(jié)點(diǎn),然后刪除
在鄰接矩陣法中,只需要修改對(duì)應(yīng)位的值即可
所以在在刪除邊的操作中,鄰接矩陣法更優(yōu)

查找某頂點(diǎn)的第一個(gè)鄰接點(diǎn):

鄰接矩陣:O(1)~O(|V|)
鄰接表:O(1)

查找某邊的權(quán)值:

核心問題:找邊
鄰接矩陣:O(1)
鄰接表:O(1)~O(|V|)

查找某一頂點(diǎn)鄰接點(diǎn)的下一個(gè)鄰接點(diǎn):

鄰接矩陣:O(1)~O(|V|)
鄰接表:O(1)

總結(jié)

以上是生活随笔為你收集整理的数据结构之图的基本操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。