![]() |
|
![]() ![]() ![]() |
|
kjohnny |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 13.11.2005 Где: город у Японского моря (Vl) Репутация: 1 Всего: 1 |
Определяю структуру листа Б-дерева порядка 2 (n=2) следующим образом:
Так вот, структуру-то определил, класс забацал, а алгоритмом работы с ними нет (добавление ключа, удаление ключа, поиск ключа)! Почитал Вирта, че т оч сухо как-то, не понравилось. Может у кого есть какие-нибудь полезные сведения о этих пихтовых? ![]()
|
||||
|
|||||
yaja |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 30.3.2005 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Знаю сайт с визуализаторами http://rain.ifmo.ru/cat/view.php/vis/trees
Добавлено @ 19:10 Знаю сайт с визуализаторами на эту тему http://rain.ifmo.ru/cat/view.php/vis/trees Нормально про этих пихтовых было написано в Кормэне Алгоритмы: Построение и Анализ |
|||
|
||||
Silver |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 1.9.2005 Репутация: 1 Всего: 1 |
Стоит посмотреть Дейта "Введение в базы данных", помниться у него Б-деревья очень подробно описаны.
|
|||
|
||||
eskaflone |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 5.11.2005 Репутация: нет Всего: 3 |
1. зачем нужен
2.
|
||||
|
|||||
eskaflone |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 5.11.2005 Репутация: нет Всего: 3 |
я немного изменил структуру данных ,убрал некоторые поля в которых не увидел надобности. Пока только 2 процедуры добавления элемента : AddElement -- процедура сама решает куда добавить новый элемент. SetElementByKey если элемент с ключом key не существует то добавляет ,иначе изменяет элемент.
n_child -- количество наследников у каждого элемента. numb -- номер наследника на которого надо перейти на iтом уровне дерева. ЗЫ сейчас допишу все остальные процедуры. |
||||
|
|||||
kjohnny |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 13.11.2005 Где: город у Японского моря (Vl) Репутация: 1 Всего: 1 |
eskaflone, все конечно хорошо, но эт не структура Б-дерева! Б-дерево - это когда есть некоторое число n (порядок б-дерева) и на каждой вершине, кроме корневой, размещено от n до 2n ключей (значений), причем все листья на одном уровне, каждая вершина имеет (m+1)-го потомка, где m - число ключей на этой странице. |
|||
|
||||
eskaflone |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 5.11.2005 Репутация: нет Всего: 3 |
по Кнуту :
Б-дерево n-го порядка имеет потомков от n/2 до n попробую реализовать. Есть какие то конкретные вопросы ,или надо просто все полностью? |
|||
|
||||
kjohnny |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 13.11.2005 Где: город у Японского моря (Vl) Репутация: 1 Всего: 1 |
Надо все полностью. Кнута не видел, но так не получится, т.к. число потомков строго зависит от числа ключей на странице, то есть если их максимально 4, то число потомков у данной страницы - 5, т.е. на первой странице-потомке будут все ключи, значения которых меньше первого ключа с отцовской страницы, на второй - которые больше 1, но меньше 2 ключа с отцовской и соответственно так далее. Вот такая вот ерунда, эти б-деревья. |
|||
|
||||
CosmoMan |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 12.7.2005 Где: Харьков Репутация: нет Всего: 0 |
А зачем вообще эти бета деревья? Они работают крайне нестабильно. Сложнейшие алгоритмы на загрузку, на выгрузку, на здвиги. Отслеживание адресов.
Чем Б-деревья проигрывают массивам? |
|||
|
||||
kjohnny |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 13.11.2005 Где: город у Японского моря (Vl) Репутация: 1 Всего: 1 |
На самом деле, лично мне они нужны вовсе как тренировочное задание по такому курсу, как "Теория графов", да и в практических задачах обычно используют их модификации, типа Б+ или Б++ деревья, те пошустрее будут. |
|||
|
||||
eskaflone |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 5.11.2005 Репутация: нет Всего: 3 |
посмотри это ,там бинарные Б-деревья (2 потомка) алгоритмы добавления и удаления надо просто обобщить.
Присоединённый файл ( Кол-во скачиваний: 96 ) ![]() |
|||
|
||||
kjohnny |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 13.11.2005 Где: город у Японского моря (Vl) Репутация: 1 Всего: 1 |
Не очень хорошая реализация, да и не совсем то, что надо. |
|||
|
||||
kjohnny |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 13.11.2005 Где: город у Японского моря (Vl) Репутация: 1 Всего: 1 |
В общем, потратив массу времени на поиски, ничего хорощего не нашел
![]() ![]() ![]() Вот исходный код:
P.S. Группе 233 ИМКН ДВГУ 2006 года и последующих recpect ![]() Это сообщение отредактировал(а) kjohnny - 5.12.2005, 12:22 |
|||
|
||||
MakaBuka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 29.5.2007 Репутация: нет Всего: нет |
... , этот код не компилиццо, или я чего-то не догнал....
Это сообщение отредактировал(а) maxim1000 - 30.5.2007, 11:02 |
|||
|
||||
Alexsiv1984 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 31.5.2007 Репутация: нет Всего: нет |
Форум ещё работает? Хотелось бы ещё информации, причём по Б-деревьям НЕ бинарным - т.е. сильноветвящимися. Очень надо!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |