FONCTION DE CALCUL DU NOMBRE DE DUEL UNIQUE POUR UN NOMBRE N DE PARTICIPANT

Signaler
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/53231-fonction-de-calcul-du-nombre-de-duel-unique-pour-un-nombre-n-de-participant

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
Le système suisse est un système de classement.
Il existe plusieurs systèmes de classements :
- le tableau de poules
- le tournois par élimination directe
- le montée descente
- le système suisse.

Le système suisse est utilisé aux échecs (par exemple).

Le tableau de poules tries les joueurs en O(n^2) parties, c'est donc très long.
Le tournois par élimination directe est chiant parce-qu'il ne laisse pas ses chances aux personnes qui se retrouvent directement contre le plus fort : il permet de trouver le meilleur si et seulement si la fonction de victoire est de la forme : si a > b et b > c alors a > c (transitive ?) Bref, c'est très peu précis pour la plupart des jeux.

Le montée descente est en O(n^2)

Le systeme suisse est en O(n * log(n)) ce qui est cool, et il est très précis.

C'est encore plus flagrant quand les joueurs ne sont pas deux mais plus sur une partie : on peut étendre toutes ces méthodes de tournois, et avoir des complexités encore plus horribles pour toutes sauf le système suisse et le tournois par élimination directe.

Bref, si vous faites un tournois, faites un système suisse, c'est fiable et rapide.
Utilisateur anonyme
+1 @leFauve42

Je pense même que sans commentaires, un débutant peut comprendre le code que tu as fait en l'analysant un minimum.

PS : @coucou747 : vois pas le rapport avec la Suisse ^^
Messages postés
239
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
20 avril 2009

ooops,

Desole, je n'avais pas vu la scrollbar, et donc pas vu le /2 a la fin.

A part ca, si il est toujours possible de reecrire n'importe quel program simple d'une ligne en 50, 100 ou meme plusieurs miliers de lignes illisibles, ca n'en fait pas pour autant un code de niveau "initie".

Eric
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
hum...

faut pas le prendre si mal.

le truc, c'est que ta fonction est vraiment simple, t'aurais mis un truc pour le systeme suisse ça aurait été différent, t'aurais fait une classe abstraite qui gère un tournois de poules pour N joueurs, ça aurait pu être intéressant.
Afficher les 11 commentaires