函數(shù)需要返回什么值就返回什么唄,返回int就寫(xiě)int,沒(méi)有返回就寫(xiě)void。
10年積累的網(wǎng)站制作、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先做網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有埇橋區(qū)免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
表示引用,傳引用不需要拷貝構(gòu)造函數(shù)等等復(fù)雜的操作,效率更高。如果
沒(méi)有對(duì)樹(shù)做更改,最好加一個(gè)const修飾符,這樣可以阻止對(duì)樹(shù)的更改。
一般的DFS算法:
typedef struct
{
int all;
int recorder[ALLIN][ALLIN];
}Matrix;
int visited[ALLIN];
void DFS(Matrix data, int i,int num)
{
int *p;
printf("%d",i);
visited[i]=1;
p=data.recorder[i];
for(int j=0;jnum;j++)
{
if(*(p+j)==1 !visited[j])
DFS(data,j,num);
}
}
這個(gè)沒(méi)有固定的形式
根據(jù)具體的情況來(lái)寫(xiě)
關(guān)鍵是思想
bfs是先擴(kuò)展節(jié)點(diǎn)再增加深度
dfs是先增加深度,到底后返回再擴(kuò)展節(jié)點(diǎn)
一個(gè)是使用大量空間 另一個(gè)則是遍歷所有路徑,相對(duì)的更費(fèi)時(shí)間
重復(fù)輸出是因?yàn)?/p>
for(int
i
=
0;
i
n;
i
++)
dfs(0,i);
由于在dfs內(nèi)部,已經(jīng)對(duì)當(dāng)前行進(jìn)行過(guò)遍歷,在主函數(shù)只需用調(diào)用一次dfs(0,0)即可
而當(dāng)5的時(shí)候,為什么會(huì)出錯(cuò),具體原因不清楚
但根據(jù)調(diào)試發(fā)現(xiàn),無(wú)法處理對(duì)角線間隔多行的情況,特別是第二個(gè)輸出就錯(cuò)了,問(wèn)題在往上返回的過(guò)程中,左下角位置本來(lái)是-1,變成了0,這種情況應(yīng)該是在恢復(fù)地圖時(shí)錯(cuò)誤
c語(yǔ)言,dfs因?yàn)槊吭L問(wèn)一個(gè)節(jié)點(diǎn)都要入棧,最多時(shí)所有的節(jié)點(diǎn)都在棧內(nèi),所有的變量開(kāi)銷(xiāo)都是與入棧的節(jié)點(diǎn)數(shù)成正比的。所以dfs的空間復(fù)雜度是頂點(diǎn)數(shù)。
標(biāo)題名稱:dfs函數(shù)c語(yǔ)言,df是什么函數(shù)
標(biāo)題鏈接:http://vcdvsql.cn/article12/hedcgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、ChatGPT、品牌網(wǎng)站建設(shè)、網(wǎng)站排名、動(dòng)態(tài)網(wǎng)站、全網(wǎng)營(yíng)銷(xiāo)推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)