나는 (네트워크로 간주 될 수 있습니다) 특정 그래프 가장자리 주어진 유효한 나무를 생성하기 위해 노력하고있어. 다음은 파일에서 그래프 가장자리를 읽는 코드입니다.생성 나무
FILE *fin = fopen("somefile.txt", "r");
for (int i = 0; i <=edges; i++) {
fscanf(fin, "%d%d%d", &u, &v, &w);
graph[u][v]=w;
}
fclose(fin);
는 지금은 주어진 루트 u
이러한 가장자리 주어진 주어진 크기 N
가능한 나무 (또는 토폴로지)의 최대 수를 생성합니다. 예를 들어
, 에지가있는 경우; 1 ---> 2; 1 ---> 3; 3 ---> 4. 이제 N이 1이면; u = 1에서 가능한 나무는 1 ----> 2 및 1 ---> 3입니다. N이 2이면 가능한 나무는 1 ---> 2 & 3 또는 1 ---> 3 ----> 4 이것을 달성하는 가장 좋은 방법은 무엇입니까? 나는 복잡한 문제에 관심이 없다. 도와 주셔서 감사합니다!
welll로 작업을해야하지 않을 수 있습니다, 내가 루프를 사용하여 시도했지만 내가 가진 트리를 생성하는 루프에 대한을 많이 갖는 상황 실행 해요 N 자녀. 및? 우리가 필요로 루프에 대한 어떤 종류의 –
:(혼란의 원인이 많이는 우리가 길을 따라 당신을 도울 수 있습니다 전에이 문제를 해결에 대해 생각하고 어떻게 볼 수 있습니다. – Ashe
을 아주 정직하게, 내가 지금까지 무슨 짓을했는지 많은 의미가 제작되지 않는 것은? 당신은 정점에 뿌리를두고, 모든 감독 트리를 생성하는 U를 원한다. –