當(dāng)前位置:
首頁(yè) >
(九)数据结构之“图”
發(fā)布時(shí)間:2023/12/31
39
豆豆
生活随笔
收集整理的這篇文章主要介紹了
(九)数据结构之“图”
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
數(shù)據(jù)結(jié)構(gòu)之“圖”
- 圖是什么
- 圖的常用操作
- 圖的深度/廣度優(yōu)先遍歷
- 什么是深度/廣度優(yōu)先遍歷
- 深度優(yōu)先遍歷算法口訣
- 廣度優(yōu)先遍歷算法口訣
- LeetCode:65.有效數(shù)字
- LeetCode:417.太平洋大西洋水流問(wèn)題
- LeetCode:133.克隆圖
- 思考題
圖是什么
- 圖是網(wǎng)絡(luò)結(jié)構(gòu)的抽象模型,是一組由邊連接的節(jié)點(diǎn)
- 圖可以表示任何二元關(guān)系,比如道路、航班…
.
- JS中沒有圖,但是可以用Object和Array構(gòu)建圖
- 圖的表示法:鄰接矩陣、鄰接表、關(guān)聯(lián)矩陣…
圖的常用操作
深度優(yōu)先遍歷
廣度優(yōu)先遍歷
圖的深度/廣度優(yōu)先遍歷
const graph = {0: [1, 2],1: [2],2: [0, 3],3: [3] };module.exports = graph;什么是深度/廣度優(yōu)先遍歷
深度優(yōu)先遍歷:盡可能深的搜索圖的分支
廣度優(yōu)先遍歷:先訪問(wèn)離根節(jié)點(diǎn)最近的節(jié)點(diǎn)
深度優(yōu)先遍歷算法口訣
沒訪問(wèn)過(guò)的防止陷入死循環(huán)
廣度優(yōu)先遍歷算法口訣
新建一個(gè)隊(duì)列,把根節(jié)點(diǎn)入隊(duì)
把隊(duì)頭出隊(duì)并訪問(wèn)
把隊(duì)頭的沒訪問(wèn)過(guò)的相鄰節(jié)點(diǎn)入隊(duì)
重復(fù)第二、三步,直到隊(duì)列為空
LeetCode:65.有效數(shù)字
時(shí)間復(fù)雜度O(n),n為字符串長(zhǎng)度,空間復(fù)雜度為O(1)
LeetCode:417.太平洋大西洋水流問(wèn)題
時(shí)間復(fù)雜度O(m * n),空間復(fù)雜度 O(m * n)
LeetCode:133.克隆圖
法一:深度優(yōu)先遍歷
時(shí)間復(fù)雜度O(n),n為圖的節(jié)點(diǎn)數(shù),空間復(fù)雜度O(n)
法二:廣度優(yōu)先遍歷
時(shí)間復(fù)雜度O(n),空間復(fù)雜度O(n)
思考題
1、請(qǐng)用圖畫出你的朋友圈,無(wú)需Coding
2、請(qǐng)用圖畫出你的偶像的人物關(guān)系,無(wú)需Coding
總結(jié)
以上是生活随笔為你收集整理的(九)数据结构之“图”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (八)数据结构之“树”
- 下一篇: (十)数据结构之“堆”