国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

搜索與圖論第三期 樹與圖的深度優(yōu)先遍歷

這篇具有很好參考價值的文章主要介紹了搜索與圖論第三期 樹與圖的深度優(yōu)先遍歷。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

該部分內(nèi)容實際上是DFS的一個擴展,只要是會了DFS之后,這部分其實也差不多,直接上例題啦就。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

1.例題:

搜索與圖論第三期 樹與圖的深度優(yōu)先遍歷,搜索與圖論,深度優(yōu)先,算法文章來源地址http://www.zghlxwxcb.cn/news/detail-801499.html

2.AC代碼:

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 100010, M = N * 2;
int n;
int h[N], e[M], ne[M], idx;//根鏈表定義變量一樣,h[N]是head,有n個鏈表
bool st[N];
int ans = N;//全局答案

//鏈表插入操作
void add(int a, int b) {
	e[idx] = b;
	ne[idx] = h[a];
	h[a] = idx++;
}

//返回以u為根的子樹中點的數(shù)量
int dfs(int u) {
	st[u] = true;//標(biāo)記一下,已經(jīng)被搜過了
	int sum = 1, res = 0;
	for (int i = h[u]; i != -1; i = ne[i]) {
		int j = e[i];
		if (!st[j]) {//如果還沒有被搜過
			int s = dfs(j);//s表示當(dāng)前這個子樹的大小
			res = max(res, s);//子樹中最大的
			sum += s;//以這個兒子為根節(jié)點的子樹是以u為根節(jié)點的一部分
		}
	}
	res = max(res, n - sum);//以u為根節(jié)點的子樹和剩余的連通塊取最大值,
	//res存的就是把u刪掉之后,各個連通塊中點數(shù)的最大值
	ans = min(ans, res);//就是求res中的最小值,也就是數(shù)的重心
	return sum;
}

int main() {
	cin >> n;
	memset(h, -1, sizeof h);
	for (int i = 0; i < n - 1; i++) {//構(gòu)圖
		int a, b;
		cin >> a >> b;
		add(a, b), add(b, a);//無向邊
	}
	dfs(1);
	cout << ans << endl;
	return 0;
}

總結(jié)

這部分較為簡單感謝大家的觀看,謝謝大家?。。?/h3>

到了這里,關(guān)于搜索與圖論第三期 樹與圖的深度優(yōu)先遍歷的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 搜索與圖論第六期 最短路問題

    搜索與圖論第六期 最短路問題

    Dijkstra算法?zhǔn)且环N著名的圖算法,主要用于求解有權(quán)圖中的單源最短路徑問題。它由荷蘭計算機科學(xué)家艾茲赫爾·戴克斯特拉(Edsger Wybe Dijkstra)在1956年首次提出。Dijkstra算法的核心思想是通過以下步驟逐步構(gòu)建最短路徑樹: 初始化:創(chuàng)建一個空白的最短路徑字典,其中每

    2024年02月20日
    瀏覽(20)
  • 2023-8-28 圖中點的層次(樹與圖的廣度優(yōu)先遍歷)

    2023-8-28 圖中點的層次(樹與圖的廣度優(yōu)先遍歷)

    題目鏈接:圖中點的層次

    2024年02月11日
    瀏覽(27)
  • 第三章 搜索與圖論(三)——最小生成樹與二分圖

    第三章 搜索與圖論(三)——最小生成樹與二分圖

    最小生成樹針對無向圖,有向圖不會用到 Prim 求解稠密圖的最小生成樹 和Dijkstra的思想相似,兩者都是基于貪心 區(qū)別在于Dijkstra求單源最短路,而Prim求最小生成樹 最小生成樹:用最少的邊連通圖中所有的點,使得這些邊的權(quán)值和也最小 Prim中的 dis數(shù)組 含義:點到 集合 的最

    2024年02月13日
    瀏覽(31)
  • 【算法導(dǎo)論】圖論(圖的基本概念,圖上的深度優(yōu)先搜索(DFS),廣度優(yōu)先搜索(BFS),最小生成樹(MST)及Prim,Kruskal算法)

    【算法導(dǎo)論】圖論(圖的基本概念,圖上的深度優(yōu)先搜索(DFS),廣度優(yōu)先搜索(BFS),最小生成樹(MST)及Prim,Kruskal算法)

    圖(Graph)是一種包含節(jié)點與節(jié)點的邊的集合,記作G=(V,E),V是節(jié)點的集合,E是邊的集合。 有向圖 一個有向圖G=(V,E),E中每個元素是V上的一個二值關(guān)系:一條從a出發(fā)的連向b的邊e可以記作一個 有序 對e = (a,b) 。 無向圖 一個無向圖G=(V,E),E的每個元素e可以表示V上的一個 無序 對,記

    2024年02月03日
    瀏覽(28)
  • 圖論與算法(3)圖的深度優(yōu)先遍歷

    圖論與算法(3)圖的深度優(yōu)先遍歷

    圖的遍歷 是指按照一定規(guī)則訪問圖中的所有頂點,以便獲取圖的信息或執(zhí)行特定操作。常見的圖遍歷算法包括深度優(yōu)先搜索(DFS)和廣度優(yōu)先搜索(BFS)。 深度優(yōu)先搜索 (DFS):從起始頂點開始,遞歸或使用棧的方式訪問相鄰的頂點,直到所有頂點都被訪問過為止。DFS通過

    2024年02月06日
    瀏覽(27)
  • 圖的遍歷之 深度優(yōu)先搜索和廣度優(yōu)先搜索

    圖的遍歷之 深度優(yōu)先搜索和廣度優(yōu)先搜索

    深度優(yōu)先搜索的圖文介紹 1. 深度優(yōu)先搜索介紹 圖的深度優(yōu)先搜索(Depth First Search),和樹的先序遍歷比較類似。 它的思想:假設(shè)初始狀態(tài)是圖中所有頂點均未被訪問,則從某個頂點v出發(fā),首先訪問該頂點,然后依次從它的各個未被訪問的鄰接點出發(fā)深度優(yōu)先搜索遍歷圖,直至

    2024年02月13日
    瀏覽(19)
  • 【圖論】圖的存儲--鏈?zhǔn)角跋蛐谴鎴D法以及深度優(yōu)先遍歷圖

    【圖論】圖的存儲--鏈?zhǔn)角跋蛐谴鎴D法以及深度優(yōu)先遍歷圖

    無向圖 - 就是一種特殊的有向圖 - 只用考慮有向圖的存儲即可 鄰接矩陣 鄰接表 鄰接表 存儲結(jié)構(gòu): (為每一個點開了一個單鏈表,存儲這個點可以到達(dá)哪個點) 1 : 3-4-null 2 : 1-4-null 3 : 4-null 4 : null 插入一條新的邊 比如要插一條邊: 2-3 先找到 2 對應(yīng)的 單鏈表 然后將 3 插入到單鏈表

    2024年04月14日
    瀏覽(19)
  • 圖的深度優(yōu)先搜索或 DFS

    ?圖的深度優(yōu)先遍歷(或搜索)類似于 樹的深度優(yōu)先遍歷。 這里唯一的問題是,與樹不同,圖可能包含循環(huán)(一個節(jié)點可能被訪問兩次)。為避免多次處理一個節(jié)點,請使用布爾訪問數(shù)組。一個圖可以有多個 DFS 遍歷。 例子: ? 輸入: ?n = 4, e = 6? 0 - 1, 0 - 2, 1 - 2, 2 - 0, 2 -

    2023年04月13日
    瀏覽(17)
  • 數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)筆記——圖的遍歷算法(深度優(yōu)先搜索和廣度優(yōu)先搜索)

    數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)筆記——圖的遍歷算法(深度優(yōu)先搜索和廣度優(yōu)先搜索)

    圖的遍歷指從圖中某一頂點出發(fā)(任意一個頂點都可以作為訪問的起始頂點),按照某種遍歷方法,對圖中所有的頂點訪問一次且只訪問一次。圖與樹不一樣,其中一個頂點可能與多個頂點相連,所以需記錄已訪問過的頂點,當(dāng)訪問一個頂點后,考慮如何選取下一個要訪問的

    2024年02月05日
    瀏覽(38)
  • 學(xué)習(xí)高級數(shù)據(jù)結(jié)構(gòu):探索平衡樹與圖的高級算法

    學(xué)習(xí)高級數(shù)據(jù)結(jié)構(gòu):探索平衡樹與圖的高級算法

    ??歡迎來到數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)專欄~學(xué)習(xí)高級數(shù)據(jù)結(jié)構(gòu):探索平衡樹與圖的高級算法 ☆* o(≧▽≦)o *☆嗨~我是IT·陳寒?? ?博客主頁:IT·陳寒的博客 ??該系列文章專欄:數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí) ??其他專欄:Java學(xué)習(xí)路線 Java面試技巧 Java實戰(zhàn)項目 AIGC人工智能 數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí) ??文章作者技

    2024年02月09日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包