Tag: 图算法

最佳匹配算法,在比赛中均匀放置比赛

我需要一种算法,可以进行任何数量的匹配,就像你在下面看到的那样,并将它们分成圆形,如果可能的话,每次都参与其中。 我在下面围绕8和3支队伍进行了比赛。 我有问题填补我的回合,留下一个不能进入最后一轮的孤儿游戏。 现在轮次是任意的,但你可以告诉每个参与者可以在每轮中找到(1,2,3,4,5,6,7,8)。 现在这些比赛可以删除或添加,并在下面生成后随机排序,因此需要均匀分配它们并在以后查找轮次,我只是不能保存原始轮次,因为可以添加/更改游戏/删除。 该算法应该是通用的,并且每次每轮最佳匹配。 如果每支球队的对位数不均衡,那么还需要将其考虑在一起,与其他球队相比可能有额外的回合。 这也需要高性能。 我在C#.NET或其他语言中寻找一些关于如何完成它的伪代码。 8支球队,每支10场比赛 Round 1 1 vs 2 3 vs 4 5 vs 6 7 vs 8 Round 2 1 vs 3 2 vs 4 5 vs 7 6 vs 8 Round 3 1 vs 4 2 vs 3 5 vs 8 6 vs 7 Round 4 1 […]

图中2个节点之间的所有路径

我必须进行一个不知情的搜索(广度优先搜索)程序,它接受两个节点并返回它们之间的所有路径。 public void BFS(Nod start, Nod end) { Queue queue = new Queue(); queue.Enqueue(start); while (queue.Count != 0) { Nod u = queue.Dequeue(); if (u == end) break; else { u.data = “Visited”; foreach (Edge edge in u.getChildren()) { if (edge.getEnd().data == “”) { edge.getEnd().data = “Visited”; if (edge.getEnd() != end) { edge.getEnd().setParent(u); } else […]