最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

一天一個(gè)數(shù)據(jù)結(jié)構(gòu)知識——鄰接矩陣、鄰接表

2023-08-29 21:12 作者:一天三只皮卡丘  | 我要投稿

????????鄰接矩陣的圖的表示方法里最簡單的一個(gè),在它的存儲結(jié)構(gòu)就是由一個(gè)存放頂點(diǎn)的數(shù)組和一個(gè)二維數(shù)組組成。圖的表示方法也很簡單,如果兩個(gè)頂點(diǎn)間有邊(或?。S數(shù)組對應(yīng)位置的值就設(shè)為1,反之則為零。

????????這樣的話,對于無向圖,如果想要求得一個(gè)頂點(diǎn)的度,只需遍歷求和其對應(yīng)行或列的非零元素,其復(fù)雜的是O(n)。類似地,對于有向圖,若要求出度,則遍歷頂點(diǎn)對應(yīng)行,求入度則遍歷頂點(diǎn)對應(yīng)列。度則是入度和出度的和。

無向圖
有向圖

????????而對于帶權(quán)圖的存儲結(jié)構(gòu),只需給二維數(shù)組的對應(yīng)節(jié)點(diǎn)賦值為對應(yīng)的權(quán)值,其余無邊的節(jié)點(diǎn)設(shè)為無窮即可,對于無窮的定義可以通過宏定義一個(gè)最大值來將其當(dāng)作無窮。

????????了解完鄰接矩陣的定義之后,下面開始分析其性能。首先,其空間復(fù)雜度為O(|v|^2),適合存儲稠密圖。

????????雖然鄰接矩陣如此簡單,但是其仍有許多優(yōu)良的性質(zhì)可以方便我們計(jì)算。若矩陣元素為0/1的鄰接矩陣為A,那么A^n[i][j]就是從i頂點(diǎn)到j(luò)頂點(diǎn)的長度為n的路徑的數(shù)目。多么好的性質(zhì)!對于這個(gè)性質(zhì)的理解,我們可以先從A^2開始理解。比如,有ABCD四個(gè)點(diǎn),從A到D長度為2的路徑可能有AA-AD,AB-BD,AC-CD,AD-DD,如果AB-BD路徑存在那么A-B和B-D對應(yīng)的鄰接矩陣的值均為1,其相乘也為1,而矩陣矩陣的乘法求得的A^2[1][4]恰好就是以上對應(yīng)的點(diǎn)相乘再相加,自然就是路徑數(shù)目,A^n也可以以此類推。

????????鄰接表的表示方法和樹的孩子表示法類似,即可用一個(gè)一維數(shù)組存儲結(jié)點(diǎn)的信息,用鏈表存放一個(gè)和結(jié)點(diǎn)相連的邊。而有向圖和無向圖的區(qū)別在于,無向圖每個(gè)邊都存放了兩遍,有向圖只存放結(jié)點(diǎn)向外的邊,每條邊只存放一邊,有向圖的入度也因此不好計(jì)算。

鏈表的構(gòu)建


一天一個(gè)數(shù)據(jù)結(jié)構(gòu)知識——鄰接矩陣、鄰接表的評論 (共 條)

分享到微博請遵守國家法律
萝北县| 石城县| 潍坊市| 华蓥市| 乐东| 马公市| 泽库县| 阿瓦提县| 乌鲁木齐县| 曲阳县| 东阳市| 大化| 扶余县| 保靖县| 白山市| 普陀区| 灵武市| 英德市| 太谷县| 凤凰县| 宁南县| 班戈县| 卢龙县| 龙游县| 汕尾市| 邵阳县| 砚山县| 长兴县| 关岭| 宁安市| 乐山市| 邵武市| 和顺县| 佛坪县| 靖西县| 竹溪县| 淮北市| 山丹县| 灌南县| 洱源县| 博爱县|