Структура данных для Двойного Турнира Elmination

Просто поместите символ x и пробел в не захватывающую группу и сделайте его необязательным, используя квантификатор ? :

^(?:x )?\(([A-Z])\)

[ 117] Вот демо .

В качестве альтернативы, вы все еще можете использовать оператор |, но иметь только одну группу захвата, если вы используете положительный Lookbehind :

(?<=^x |^)\(([A-Z])\)

Демо [ 119] .

Вы даже можете сделать еще один шаг вперед и полностью избавиться от группы захвата и просто использовать заглавную букву в качестве всего совпадения, если хотите:

(?<=^x \(|^\()[A-Z](?=\))

Демо [ 1110] .

1117 Хотя это было бы излишним. Я бы пошел с первым решением.

8
задан FryGuy 27 February 2009 в 20:57
поделиться

3 ответа

Так, в конечных точках у Вас есть 64 команды. Таким образом, существует набор, так или иначе, 64 Команд.

Но они разделены на пары, и для каждой пары, существует победитель. И в средних скобках, тот победитель на самом деле появился из скобки, таким образом, я думаю, что Ваш объект скобки на самом деле похож:

public class Bracket
{
    Team winner;  //if this is null or whatever, then we don't have a winner yet
    Bracket topBracket;  
    Bracket bottomBracket;
}

... и когда Вы инстанцируете своих концов, Вы просто оставили бы эти два пустых указателя подскобок только с победителем.

Для обработки двойного устранения существует вторая скобка, которая является скобкой проигравших. Было бы хорошо, если Вы могли бы автоматически обработать добавление проигравших в эту скобку (разработайте скобку, которая запускается с 32, кто преуменьшает к 16, добавляет в этих 16 проигравших от раунда 2 скобки победителя, и т.д.), но это - вся реализация. Структура данных не должна изменяться для размещения этого, Вам просто нужно больше из них.

2
ответ дан 6 December 2019 в 00:59
поделиться

Что относительно полного Двоичного дерева, где первый раунд запускается в вершинах и затем перемещается вверх.

0
ответ дан 6 December 2019 в 00:59
поделиться

Я только что заметил этот вопрос на боковой панели другого вопроса, который мне был задан, и решил вмешаться:

Я в процессе разработки полнофункционального Tournament API, и я открываю его исходный код.

Он еще не создает турниров с двойным выбыванием, но структура данных для турниров с одиночным выбыванием была недавно пересмотрена для поддержки древовидной структуры с двойным выбыванием.

http: // Tournament.codeplex.com/[1272 impression

0
ответ дан 6 December 2019 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: