特定のグラフエッジ(ネットワークと見なすことができます)を指定して、有効なツリーを生成しようとしています。以下は、ファイルからグラフのエッジを読み取るコードです。
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です。これを達成するための最良の方法は何でしょうか?複雑さの問題については心配していません。私は助けに感謝します!