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

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

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

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

30.06.2013, 02:24. Просмотров 430. Ответов 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++):

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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;
}
Вот такая идея.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2013, 22:34
Привет! Вот еще темы с ответами:

В массиве вещественных чисел найти элемент, превышающий его среднее арифметическое - C++
В массиве вещественных чисел найти элемент, превышающий его среднее арифметическое значение. Если таких элементов несколько, определить их...

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

в матрице К(7,7) найти минимальный элемент и заменить его на значение среднего - C++
в матрице К(7,7) найти минимальный элемент и заменить его на значение среднего арифметического верхней треугольной матрицы

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


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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