Kody źródłowe/Przeszukiwanie w głąb

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania
Przeszukiwanie w głąb
Kod źródłowy
Kody źródłowe prezentujące implementację algorytmu przeszukiwania w głąb
Wikipedia
Zobacz w Wikipedii hasło Przeszukiwanie w głąb

C++[edytuj]

void DFS(vector< vector<int> > &graf,int wierzcholek,vector<bool> &uzyto) 
{
	vector<int>::iterator iter; //iterator po sąsiadach wierzchołka
	uzyto[wierzcholek] = true; //kolorujemy odwiedzony wierzchołek
	//na tym węźle jesteśmy
	cout <<wierzcholek<<"\n";
	//przejście po sąsiadach wierzchołka
	for (iter=graf[wierzcholek].begin(); iter!=graf[wierzcholek].end(); iter++) 
	{ 
		//jeżeli wierzchołek nie odwiedzony, to wywołujemy DFS rekurencyjnie
		if (uzyto[*iter] == false) 
			DFS(graf,*iter,uzyto);
	}
}

void DFS(vector< vector<int> > &graf, //wektor wektorów, w którym zapisujemy sąsiadów wierzchołka	
	 int wierzcholek=0 //wierzchołek, od którego startujemy
) 
{
	vector <bool> uzyto(graf.size(),false);
	DFS(graf,wierzcholek,uzyto);
}


Ten tekst nie jest objęty majątkowymi prawami autorskimi lub prawa te wygasły. Jest zatem w domenie publicznej.