Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 19.04.2017
Сообщений: 18

Найти последовательность добавления ключей по построенному Б дереву

26.12.2017, 16:22. Показов 562. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Существует Б дерево степени 2.


Нужно найти в какой последовательности добавлялись ключи, чтобы получилось такое дерево.
Мой лучший результат:
2, 9, 10, 12, 0, 3, 6, 1, 13, 19, 20, 29, 32, 36, 37, 38, 30, 33, 7, 8, 4, 11, 16, 17, 18, 14, 22, 23, 26, 27, 21, 28, 24, 34, 31


Но проблема в том, что всякий раз когда программа при добавлении проходится по родительскому узлу, который заполнен (т.е. содержит 3 ключа), она делит его. Вот близжайщий вариант с неразделённым корнем


Чтобы я не попытался добавить корень разделится. И даже если откатиться к моменту, когда в корне только 9 и 19, то я до сих пор не нашёл такой комбинации, чтобы этого избежать.
Может кто-нибудь увидит вариант? Или подскажет какие изменения в код надо внести, потому как код заимствован и я не до конца в нём разобрался. Буду рад помощи
BTree.rar
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.12.2017, 16:22
Ответы с готовыми решениями:

Корректна ли функция добавления элемента к дереву?
Всем вечер добрый! Кого не затруднит, помогите, пожалуйста! Корректна ли функция добавления элемента к дереву? В процессе выполнения...

Реализовать программу, создающую AVL дерево. Функции добавления узлов и поиск по дереву
Неодходимо реализовать программу, создающую AVL дерево. Функции добавления узлов и поиск по дереву. Т.к. понятних для меня исходников не...

Вывод значения ключей массива по условию совпадения других ключей
Есть массив $arElements Array ( => Array ( => first => Name =>...

3
Модератор
Эксперт функциональных языков программирования
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,877
26.12.2017, 17:05
Цитата Сообщение от goldsphere Посмотреть сообщение
Но проблема в том, что всякий раз когда программа при добавлении проходится по родительскому узлу, который заполнен (т.е. содержит 3 ключа), она делит его.
Что за программа?
0
0 / 0 / 0
Регистрация: 19.04.2017
Сообщений: 18
26.12.2017, 17:14  [ТС]
Вернее сказать алгоритм. Алгоритм при добавлении нового ключа, проходя по заполненному узлу разбивает его
0
Модератор
Эксперт функциональных языков программирования
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,877
26.12.2017, 17:14
В процессе вставки элемента, дочерний узел должен разделиться, возвращая один элемент в родительский.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.12.2017, 17:14
Помогаю со студенческими работами здесь

Генерация и проверка на работоспособность ключей активации (регистрационных ключей)
Помогите придумать как можно осуществить сие деяние. Суть заключается в чем, первая программа генерирует уникальные ключи по определенному...

Массив ключей из ключей двух массивов
Добрый день. Необходимо собрать все ключи с двух массивов как можно эффективнее и менее ресурсозатратно. Например есть два...

Как построить граф автомата Мили по уже построенному графу автомата Мура
Подскажите как построить граф автомата Мили по уже построенному графу автомата Мура А0 А1 А2 А3 А4 А5 А6 А7 А8 А9 А10 А11 ...

В слове найти максимально длинную последовательность нулевых битов и заменить её на последовательность из единиц
Я пересмотрел кучу различных тем на форуме и просто в интернете. И никак не понимаю как решить поставленную задачу.Model small .stack ...

Задана последовательность из N чисел. Найти самую длинную последовательность, обладающую данным свойством
Прошу помощи мастеров решить ОДНУ задачкУ: 1) Задана последовательность из N чисел. Найти самую длинную последовательность, обладающую...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru