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

проверка на сбалансированность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ задача к курсовой (Багаж пассажира) http://www.cyberforum.ru/cpp-beginners/thread859335.html
1. Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл , содержащий информацию о багаже нескольких пассажиров, информация о багаже каждого отдельного пассажира представляет собой соответствующую пару чисел а) Найти багаж, средний вес одной вещи в котором отличается не более чем на 0,3 кг от общего среднего веса вещи. б) Найти число пассажиров, количество вещей...
C++ Аналог system("cls"); Есть ли что то побыстрей? Нужно стирать содержимое с окна и выводить новое. Функция cls как то заторможено это делает. Нужно что бы он быстрей обновлялся. http://www.cyberforum.ru/cpp-beginners/thread859334.html
Работа с текстовые файлы, вычисления с матрицами C++
Добрый день. Не могу в такие задания. Буду благодарен за помощь. Задание: В текстовом файле записаны матрицы A(4x4), B(3x3), C(5x5). Прибавить элементы к диагональным элементам каждой из значений минимального по модулю ненулевого элемента массива. Полученные данные вывести в отдельных текстовых файлах. Для ввода, вывода и сложения к диагональным елементам числа использовать функции, а также...
C++ Можно ли переделать метод ?
есть метод:Из многочисленных подходов к решению этой подзадачи наш выбор остановился на алгоритме, в основе которого лежит определение относительного положения точки и вектора на плоскости. Вектор — это направленный отрезок прямой линии, начинающийся в точке beg_p и заканчивающийся в точке end_p. При графическом изображении конец вектора украшают стрелкой. Теперь призовите ваше пространственное...
C++ Работа с массивами C++ http://www.cyberforum.ru/cpp-beginners/thread859302.html
Имеем код, здесь у меня есть массив в нем задан алфавит, затем мы заменяем к примеру пять первых символов этого алфавита, как сделать проверку , чтобы символы которые мы вбили первые пять, уже не повторялись, далее, а далее по алфавиту все продолжалось, НАПРИМЕР: был алфавит ABCDEFG....и т.д. мы заменили первые 5 символов таким образов D A B F G, и затем вывод на экран будет таков: сначала наши 5...
C++ Работа с файлами Беда. Пишу программу для генерации онлайн тестов из обычного текстового файла. И столкнулся с такой проблемой. Файл будущего теста имеет вид: 1. Vopros (1) Otvet 11 (0) Otvet 12 (1) Otvet 13 2. Vopros (0) Otvet 21 (0) Otvet 22 подробнее

Показать сообщение отдельно
ya_noob
_
200 / 144 / 9
Регистрация: 08.10.2011
Сообщений: 432
10.05.2013, 12:50     проверка на сбалансированность
Что-то типа этого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <cmath>
 
int check( node *h )
{
    if ( h == 0 ) return 1;
 
    int l = check( h->left );
    int r = check( h->right );
 
    if ( l == 0 || r == 0 ) return 0;
    if ( std::abs( l - r ) > 1 ) return 0;
    return ( l + r + 1 ) / 2 + 1;
}
Проверяет сбалансированность как в АВЛ-дереве, где высота поддеревьев может отличаться на 1.
Если функция вернет 0, то дерево не сбалансировано.
Корректность работы функции не проверял
 
Текущее время: 03:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru