Является ли граф деревом
Задачка: Предложите алгоритм, который определяет, является ли граф деревом.
Мое решение, которое, как оказалась, неверное
bool is_rec( int arr[SIZE][SIZE], int current, int root, int find )
{
bool endFlag = true;
for(int i = 0; i < SIZE; ++i){
if((arr[current][i] == 1)&&(i!=root)){
if(i!=find){
endFlag = endFlag&&is_rec(arr,i,current,find);
}else{
return false;
}
}
}
return endFlag;
}
bool IsTree( int arr[SIZE][SIZE] )
{
return is_rec(arr,0,0,0);
}
Думаю, некоторым будет интересно решить :)
Источник: Stack Overflow на русском