Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2011, 10:21   #1
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию Является ли граф деревом (по поиску в ширину)

Здравствуйте, помогите поожалуйста , нужно определить является ли граф деревом, на вход идет матрица смежности
можно через поиск в ширину
вообще можно определить если встретилась помеченная вершина то там есть цикл, значит не дерево
вот поиск в ширину

Код:
#include <iostream>
#include <vector>
using namespace std;
vector < vector<int> > g; // граф
int n; // число вершин
int s;
 // стартовая вершина (вершины везде нумеруются с нуля)
   //чтение графа
   ......

 queue<int> q;
q.push (s);
vector<bool> used (n);
vector<int> d (n), p (n);
used[s] = true;
p[s] = -1;
while (!q.empty()) {
	int v = q.front();
	q.pop();
	for (size_t i=0; i<g[v].size(); ++i) {
		int to = g[v][i];
		if (!used[to]) {
			used[to] = true;
			q.push (to);
			d[to] = d[v] + 1;
			p[to] = v;
		}
	}
I'm a rebel. [I think positively].
Guzal вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с деревом C# Мария_С. Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 0 18.04.2011 20:13
Сортировка двоичным деревом Anubys Помощь студентам 0 09.04.2011 08:33
проблема с бинарным деревом Petruha-nsk Общие вопросы C/C++ 0 20.04.2009 18:33
Работа с деревом. Gon Паскаль, Turbo Pascal, PascalABC.NET 1 18.01.2009 20:24
дописать прграмму с бинарным деревом... prince-of-dark Паскаль, Turbo Pascal, PascalABC.NET 0 19.12.2008 10:06