Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sammm
3 / 3 / 1
Регистрация: 21.10.2012
Сообщений: 182
#1

Как найти в двоичном дереве поиска минимальный элемент, превышающий некоторое заданное значение? - C++

30.06.2013, 02:24. Просмотров 421. Ответов 1
Метки нет (Все метки)

Вот примерная рекурсивная функция, но я не знаю, как выйти из нее в нужный момент.
C++
1
2
3
4
5
6
7
8
9
10
11
void range(Node *root, int r)
{
    if (root==NULL) return;
    range(root->left, r);
    if(root->key > r) 
       {
          printf("%d\n", root->key); 
          return; //значение найдено, надо здесь выйти из функции, но она рекурсивная, полностью выйти не получается
       }
    range(root->right, r);
}
root - корень дерева
r - заданное значение

Если Вам не нравится моя идея, предложите свою.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2013, 02:24     Как найти в двоичном дереве поиска минимальный элемент, превышающий некоторое заданное значение?
Посмотрите здесь:

Как найти в двоичном дереве поиска минимальный элемент, превышающий некоторое заданное значение? - C++
Вот примерная рекурсивная функция, но я не знаю, как выйти из нее в нужный момент. void range(Node *root, int r) { if...

Посредством двоичного поиска найти такой минимальный элемент, чтобы выполнялось заданное условие - C++
Даны массивы min и max, отсортированные по невозрастанию и число k. С помощью двоичного поиска найти такой элемент минимальный i, чтобы...

Найти первый элемент заданного массива, превышающий значение, введённое с клавиатуры - C++
Ребят, честно пытался сам всё сделать, но никак не получается...Может где-то рядом и кручусь, но за истину не могу ухватиться((( Так вот,...

Реализация словаря в двоичном дереве поиска - C++
Помогите,пожалуйста, создать программу на С++! Тема: Релизация словаря в двоичном дереве поиска,очень нужно

Реализация словаря в двоичном дереве поиска - C++
Ребят очень нужно, хотя бы реализацию словаря в C++ ,никак не могу найти

Подсчет уровней в двоичном дереве поиска - C++
каков алгоритм подсчета уровней в двоичном дереве поиска. спасибо.

Вывести К-тый отрицательный элемент в упорядоченном дереве поиска с просмотром TLR - C++
Должен выводиться К-тый отрицательный элемент в упорядоченном дереве поиска с просмотром TLR *.cpp #include "TREE.h" int main()...

Поиск в двоичном дереве - C++
Добрый день. Нужно построить англо-русский словарь как двоичное дерево. Каждая компонента содержит английское слово, соответствующее ему...

Найти сумму листьев в бинарном дереве поиска - C++
Дано бинарное дерево поиска(ключи-целые числа).Найти сумму листьев. Вот мой код.Но он не работает.Скажите почему и исправьте.Спасибо ...

Представление выражения в двоичном дереве - C++
есть выражение 4*a/2 мне надо его упростить и получить 2*a т.е. я ввожу в программу 4*a/2, программа должна представить выражение в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mogost
7 / 7 / 1
Регистрация: 07.04.2012
Сообщений: 51
01.07.2013, 22:34     Как найти в двоичном дереве поиска минимальный элемент, превышающий некоторое заданное значение? #2
Необходимо переходить к левому сыну до тех пор пока сын больше определенного значения.
C++
1
2
3
4
5
6
7
8
9
Node* range(Node *root, int r)
{
    if (root==NULL) return;
    while(root->left->key>r)
    {
    root=root->left;
    }
    return Node;
}
Вот такая идея.
Yandex
Объявления
01.07.2013, 22:34     Как найти в двоичном дереве поиска минимальный элемент, превышающий некоторое заданное значение?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru