小编Roy*_*Esh的帖子

瑞士锦标赛 - 配对算法

我正在使用Python的瑞士锦标赛系统,我正试图找出一个最佳的配对算法.
我最大的问题是我所带来的每个算法都会在几个序列中产生错误,其中最后一对被拾取的对象已经相互发挥作用,判断配对无效.

我正在研究的瑞士系统很简单:即使是玩家,每个人都会在每一轮比赛中进行比赛,并且基于胜利的接近度来完成配对(因此强大的球员与强大的球员对抗,弱对弱者).
没有再见,只有输赢(没有平局),对手不能互相打两次.

我目前的算法如下工作:

  1. 按排名顺序制作球员名单(大多数胜利至最少胜利)
  2. 选择球员,从拥有最多胜利的球员开始
  3. 将他与排名最靠近的球员相匹配.如果他们已经玩过,请将他与下一个匹配,直到找到匹配为止
  4. 将该对弹出列表并返回1

例如:
2轮后的排名:

1. P1: [P2 win, P3 win] 2 wins
2. P5: [P6 win, P2 win] 2 wins
3. P3: [P4 win, P1 lost] 1 win, 1 loss
4. P4: [P6 win, P3 lost] 1 win, 1 loss
5. P2: [P1 lost, P5 lost] 2 losses
6. P6: [P5 lost, P4 lost] 2 losses
Run Code Online (Sandbox Code Playgroud)

第一个选择是P1,第一个匹配是P5.将(P1,P5)从列表中取出.

1. P3: [P4 win, P1 lost] 1 win, 1 loss
2. P4: [P6 win, P3 lost] …
Run Code Online (Sandbox Code Playgroud)

python algorithm graph-algorithm python-2.7

9
推荐指数
2
解决办法
5594
查看次数

如何在 Flask 中创建 XML 端点?

我在 SQLAlchemy 中有以下属性:

@property
def serialize(self):
    return {
        'name' : self.name,
        'description' : self.description,
        'id' : self.id,
        'price' : self.price,
        'course' : self.course,
    }
Run Code Online (Sandbox Code Playgroud)

对于 JSON,我刚刚使用了jsonify(),我该如何为 XML 做到这一点?

python xml flask python-2.7

3
推荐指数
1
解决办法
3880
查看次数

当我可以使用GitHub桌面界面时,为什么还要学习Git?

这是一个菜鸟问题所以请耐心等待:
我刚刚开始使用Git,并且无法弄清楚为什么我可以在使用GitHub桌面界面时学习Git的位和字节?
它更快,更直观.总而言之,Git只是一个版本控制环境.
我在这里错过了什么吗?

git github

0
推荐指数
2
解决办法
1788
查看次数

标签 统计

python ×2

python-2.7 ×2

algorithm ×1

flask ×1

git ×1

github ×1

graph-algorithm ×1

xml ×1