|
0 / 0 / 1
Регистрация: 07.07.2013
Сообщений: 15
|
||||||
Дерево турнира12.12.2017, 14:29. Показов 2741. Ответов 3
Метки нет (Все метки)
Доброго времени суток! Есть проблема с одним заданием:
Теннисный турнир проходит по олимпийской системе с выбыванием. Известен рейтинг каждого игрока. Результаты турнира записаны с помощью дерева. Участникам соответствуют листья дерева. Выдать список сенсаций турнира, когда побеждал игрок с низшим рейтингом. Определить самый сенсационный результат по максимальной разнице рейтингов. Реализовал обычное бинарное дерево, у которого в звене есть два информационных поля: name и x(рейтинг игрока),а как правильно заполнить его - ума не приложу, ведь по сути мне надо его как-то снизу начинать заполнять, но с бинарными деревьями, на сколько я знаю, так делать нельзя, да и извращение это какое-то. 1 / \ 1 3 / \ / \ 1 2 3 4 Это то,как я вижу это это дерево, которое должно получится. Т.е. Изначально есть 4 игрока, 1 играет со 2, 3 с 4. В первой паре победитель - игрок 1, во второй - игрок 3, они поднимаются вверх по таблице, как бы проходят в следующий тур, потом играют между собой и соответственно победитель снова поднимается вверх, ну и является чемпионом.
0
|
||||||
| 12.12.2017, 14:29 | |
|
Ответы с готовыми решениями:
3
Дерево турнира с выбыванием Таблица хоккейного турнира Записать результаты Турнира |
|
6 / 6 / 4
Регистрация: 11.12.2017
Сообщений: 29
|
|
| 12.12.2017, 18:59 | |
|
Если рассматривать дерево по уровням, то на каждом уровне все игроки уникальны. Победитель это уровень 0, финал 1, полуфинал 2. Нужно написать такую функцию добавления:
add_node(int x, char* name, Node *&tree, char* name2, int level); level - на каком уровне искать игрока с именем name2. Потом проверять левый и правый лист на содержимое.
1
|
|
|
0 / 0 / 1
Регистрация: 07.07.2013
Сообщений: 15
|
|
| 13.12.2017, 08:37 [ТС] | |
|
dotmode, а как мне тогда с таким добавлением присвоить рейтинг этим игрокам?
Добавить ещё одну переменную и так же как и "Х", передавать её и это будет рейтинг второго игрока? Т.е. По сути это добавление сразу пары игроков? Я присааиваю им level, например 2, потом тот кто выиграл переходит на level 1, но как тогда с ними работать дальше? Проходить по обеим веткам и искать там игроков с одинаковым level?
0
|
|
|
6 / 6 / 4
Регистрация: 11.12.2017
Сообщений: 29
|
|
| 13.12.2017, 22:14 | |
|
1). Добавляем от корня, т. е. сначала победитель потом финалисты ...
2). Добавление можно разбить на две под задачи поиск нужного узла и добавление (по 2, кроме корня) Node * find_node(Node *&tree, char* name, int levelToFind, int curLevel =0). 1. Начинаем с корня, если levelToFind != curLevel идем глубже find_node(tree, name, levelToFind, curLevel++) 2. Если равны тогда проверяем name, если равны возвращаем результат. 3. Если не нашли возвращаем NULL Конечно, это возможно не самый лучший вариант, и не единственный.
0
|
|
| 13.12.2017, 22:14 | |
|
Помогаю со студенческими работами здесь
4
Обработка итоговой таблицы шахматного турнира По итогам MCA турнира составить итоговую таблицу Сортировка числовых массивов методом турнира с выбыванием
Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|