|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 3
|
||||||
Проверка корректности двоичного дерева24.03.2017, 00:21. Показов 10160. Ответов 2
Метки нет (Все метки)
Здравствуйте!
Задача такая, Свойство двоичного дерева поиска можно сформулировать следующим образом: для каждой вершины дерева V выполняется следующее условие: • все ключи вершин из левого поддерева меньше ключа вершины V ; • все ключи вершин из правого поддерева больше ключа вершины V . Дано двоичное дерево. Проверьте, выполняется ли для него свойство двоичного дерева поиска. Формат входного файла Входной файл содержит описание двоичного дерева. В первой строке файла находится число N (0 ≤ N ≤ 200000) — число вершин в дереве. В последующих N строках файла находятся описания вершин дерева. В (i + 1)-ой строке файла (1 ≤ i ≤ N) находится описание i-ой вершины, состоящее из трех чисел Ki, Li, Ri разделенных пробелами — ключа в i-ой вершине (|Ki| ≤ 10^9), номера левого ребенка i-ой вершины (i < Li ≤ N или Li = 0, если левого ребенка нет) и номера правого ребенка i-ой вершины (i < Ri ≤ N или Ri = 0, если правого ребенка нет). Формат выходного файла Выведите «YES», если данное на входе дерево является двоичным деревом поиска, и «NO», если не является. пример входного файла: 3 5 2 3 6 0 0 4 0 0 пример выходного файла: NO пример входного файла: 6 -2 0 2 8 4 3 9 0 0 3 5 6 0 0 0 6 0 0 пример выходного файла: YES Я считываю само дерево, далее вызываю функцию, которая начинает от корня дерева и в случае, если с корнем и его детьми все ок, запускается для каждого из детей. Считаю, что корень дерева - первый элемент массива (в условии не сказано, но вроде это так) на всех моих тестах работало, но в проверяющей системе не проходит тест 8 ![]() вот мой код:
0
|
||||||
| 24.03.2017, 00:21 | |
|
Ответы с готовыми решениями:
2
Пример двоичного дерева Проверка корректности ввода Проверка корректности ввода |
| 24.03.2017, 01:50 | ||||||
|
Однако, вижу 3 возможных варианта:
- не проходит по времени - неправильно строится дерево - неправильно проверяется дерево Навскидку кот. Конечно при 200000 элементах надо !! по списку заменить на вектор / сет / мап или т.п. со скоростью доступа О(1) / О(log n)
0
|
||||||
|
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 3
|
|
| 24.03.2017, 21:35 [ТС] | |
|
Честно говоря синтаксис совсем непонятен) в принципе проблем с реализацией того или иного алгоритма нет, вопрос в том, что раз система не принимает решение (которое было переписано в различных вариациях схожих по смыслу), то проблема в самом алгоритме)
З.Ы. решение выдает неверный ответ, а по времени все ок) возможно кто-нибудь посоветует какой-нибудь алгоритм, или укажет, чего я не учитываю или не вижу?... ![]()
0
|
|
| 24.03.2017, 21:35 | |
|
Помогаю со студенческими работами здесь
3
Проверка корректности данных
Не работает проверка корректности Удаление корня двоичного дерева Алгоритм реализации двоичного дерева Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|