對於圖來說,鄰接矩陣是不錯的一種圖存儲結構,但是我們也發現,對於邊數相對頂點較少的圖,這種結構是存在對存儲空間的極大浪費的。因此我們考慮另外一種存儲結構方式:鄰接表(Adjacency List),即數組與鏈表相結合的存儲方法。 鄰接表的處理方法是這樣的。 1、圖中頂點用一個一維數組存儲 ...
之前我們介紹過圖的鄰接矩陣存儲法,它的空間和時間復雜度都是N ,現在我來介紹另外一種存儲圖的方法:鄰接表,這樣空間和時間復雜度就都是M。對於稀疏圖來說,M要遠遠小於N 。先上數據,如下。 第一行兩個整數n m。n表示頂點個數 頂點編號為 n ,m表示邊的條數。接下來m行表示,每行有 個數x y z,表示頂點x到頂點y的邊的權值為z。下圖就是一種使用鏈表來實現鄰接表的方法。 上面這種實現方法為圖中的 ...
2017-05-25 18:43 15 36357 推薦指數:
對於圖來說,鄰接矩陣是不錯的一種圖存儲結構,但是我們也發現,對於邊數相對頂點較少的圖,這種結構是存在對存儲空間的極大浪費的。因此我們考慮另外一種存儲結構方式:鄰接表(Adjacency List),即數組與鏈表相結合的存儲方法。 鄰接表的處理方法是這樣的。 1、圖中頂點用一個一維數組存儲 ...
文字描述 鄰接多重表是無向圖的另一種鏈式存儲結構. 雖然鄰接表是無向圖的一種很有效的存儲結構,在鄰接表中容易求得頂點和邊的各種信息. 但是,在鄰接表中每一條邊(vi,vj)有兩個結點,分別在第i個和第j個鏈表中,這給某些圖的操作帶來不便。如對已被搜索過的邊作記號或刪除一條邊等,此時需要找到 ...
...
圖的鄰接矩陣(Adjacency Matrix)存儲方式是用兩個數組來表示圖。一個一維的數組存儲圖中頂點信息,一個二維數組(稱為鄰接矩陣)存儲圖中的邊或弧的信息。 設圖G有n個頂點,則鄰接矩陣是一個n*n的方陣,定義為: 我們來看一個實例,圖7-4-2的左圖就是一個無向圖 ...
圖(Graph)是一種非線性結構 圖的特點(多對多),頂點之間的關系是任意的,圖中任意兩個頂點之間都可能相關,頂點的前驅和后繼個數無限制。 圖:數據元素間存在多對多關系的數據結構,加上一組基本操作構成的抽象數據類型。 圖的基本術語 頂點:圖中的數據元素 ...
一、圖的定義 圖是由頂點的有窮非空集合和頂點之間邊的集合組成,通常表示為: G=(V,E) 其中:G表示一個圖,V是圖G中頂點的集合,E是圖G中頂點之間邊的集合。 注: 在線性表中,元素個數可以為零,稱為空表; 在樹中,結點個數可以為零,稱為空樹 ...
1,基本思想: 1,用一維數組存儲頂點:描述頂點相關的數據; 2,用二維數組存儲邊:描述頂點間的關系和權; 2,鄰接矩陣法(二維數組存儲權值表示邊): 1,設圖 A = (V, E) 是一個有 n 個頂點的圖,圖的鄰接 ...
1,鄰接矩陣法中的殘留問題: 1,MatrixGraph 無法動態添加/刪除頂點; 2,空間使用率低; 2,改進基本思想: 1,為了進一步提高空間效率,可以考慮使用鏈表替換數組,將鄰接矩陣變換為鄰接鏈表 ...