Описание тега b-tree
B-деревья - это тип самобалансирующегося дерева поиска, в котором каждый узел может содержать несколько ключей, а все листовые узлы находятся на одинаковом расстоянии от корня.
5
ответов
Почему важно удалять файлы, чтобы быстрее их удалять?
Некоторое время назад я узнал, что rsync удаляет файлы гораздо быстрее, чем многие другие инструменты. Несколько дней назад я наткнулся на этот замечательный ответ на Serverfault, который объясняет, почему rsync так хорош в удалении файлов. Цитата и…
30 июл '13 в 19:13
0
ответов
Сплит целое B-дерево
Кто-нибудь знает, как разделить целое B-дерево (не разделить узел) на два поддерева как можно дешевле? В настоящее время я делаю это, разделяя все элементы, которые отсортированы в дереве, на 2 массива, а затем перестраиваю 2 поддерева из этого, но,…
05 сен '16 в 02:10
1
ответ
Рекурсивные типы данных в Promela
Я пытаюсь создать B-Tree в Promela, чтобы я мог доказать что-то об этом, однако кажется, что Promela не поддерживает рекурсивные типы данных. Это не работает: #define n 2 typedef BTreeNode { int keys[2*n-1]; BTreeNode children[2*n]; int c; }; Как я …
31 дек '13 в 15:30
1
ответ
Разреженный / Плотный индекс и как он работает?
Я могу понять, как работает индекс B*Tree, выполнив поиск по дереву. Но я не могу понять, как работает разреженный индекс или плотный индекс. Например, если для плотного индекса необходимо, чтобы каждое значение отображалось с помощью ключа. Какая п…
06 июн '17 в 23:44
1
ответ
Удаление из правила B-дерева
Ну, я готовлюсь к экзамену и меня немного смущает следующее. На следующем рисунке показано B-дерево с t=3, поэтому каждый узел может иметь не более 2t-1 ключей и не менее t-1 ключей. Меня просят удалить ключ =3. Я не могу понять, почему я должен при…
01 дек '13 в 15:04
3
ответа
Какие базы данных имеют оптимизацию для функций, чтобы использовать индексы?
Предположим, у меня есть столбец с плавающей точкой, индекс b-дерева и миллион строк: CREATE TABLE test ( val FLOAT, KEY (val) ); INSERT INTO test VALUES (random(-1000, 1000)), (random(-1000, 1000)), ... (1 млн рядов) Теперь, если я хочу сделать зап…
25 мар '12 в 09:49
4
ответа
Эффективный запрос дерева B+ с многомерными данными
У меня есть коллекция кортежей (x,y) 64-битных целых чисел, которые составляют мой набор данных. У меня есть, скажем, триллионы этих кортежей; невозможно сохранить набор данных в памяти на любой машине на земле. Однако вполне разумно хранить их на д…
20 сен '12 в 22:52
1
ответ
Использование b деревьев в базе данных
Я должен реализовать базу данных, используя b деревьев для школьного проекта. база данных предназначена для хранения аудиофайлов (песен), и можно выполнить ряд различных запросов, например, запросить все песни данного исполнителя или определенного а…
23 фев '13 в 19:01
1
ответ
Как переписать "node->left->key", заменив -> на "(*)." в С ++?
Я новичок в символе "->", поэтому вместо этого я заменяю его на (*)., Однако, когда я наткнулся на строку кода ниже, я попытался заменить ее, и она не сработала. Что я делаю не так и есть ли способ переписать это? Я продолжаю получать сообщение об о…
17 янв '19 в 02:56
1
ответ
Максимальное количество ключей в B-дереве
Я использую следующее определение B-дерева (согласно википедии: https://en.wikipedia.org/wiki/B-tree): Каждый узел содержит от d до 2d ключей. Я сейчас ищу формулу, как рассчитать максимальное количество ключей в B-Tree с высотой = h. Как я могу это…
30 июн '18 в 08:07
1
ответ
B-Tree теряет данные на вставке
Я пытаюсь реализовать b-дерево. При вставке 6-го элемента я теряю все, кроме вновь созданных 2-х узлов, что приводит к разбиению листа и их среднего значения. Вот мой код: #include <stdio.h> #include <stdlib.h> struct node { int data; in…
08 июн '13 в 21:51
1
ответ
Строительство B+ деревьев
Предположим, меня попросили построить дерево B+ из: i) n = x. ii) order = x. iii) degree = x. iv) p = x. Что должно быть нет. ключей и указателей, которые может содержать каждый узел, в каждом из вышеперечисленных случаев?
01 май '12 в 06:24
0
ответов
Вставка в B-дерево
Каждый. У меня возникли небольшие проблемы с реализацией функции вставки BTree в C. Я пытаюсь выполнить упражнение 18-2.1 из книги Кормена и построчно следую алгоритму, содержащемуся в книге, но даже в этом случае я не могу заставить его работать до…
13 май '16 в 01:03
1
ответ
Как найти количество уровней в B-дереве
Возможный дубликат: Ошибка сегментации в реализации btree Как мы можем найти число уровней в B-дереве в следующем коде #include<stdio.h> #include<stdlib.h> #define M 10 struct node { int n; /* n < M No. of keys in node will always les…
06 янв '11 в 10:31
1
ответ
Oracle 10g: почему Oracle выполняет полное сканирование таблицы вместо использования индекса B-дерева с низкой мощностью в этом случае?
Я исследую индексы в Oracle 10g, чтобы ускорить конкретный запрос. Снова и снова я читаю, что индексация столбцов с низким числом элементов (столбцы с очень небольшим количеством уникальных значений, например, столбец пола в таблице сотрудников) оче…
08 фев '13 в 00:19
1
ответ
B-дерево: удалить неконечный узел?
Я изучаю дерево B и в книге они сказали, что: Если ключ k находится в узле x и x является листом, удалите ключ k из x. Если ключ k находится в узле x, а x является внутренним узлом, выполните следующие действия. а. Если дочерний элемент y, который п…
05 июл '16 в 15:04
3
ответа
Структуры данных больше, чем в памяти, и как они обычно обрабатываются
Скажем, у меня есть файловая структура данных, такая как B+ Tree. Насколько я понимаю, данные, как ожидается, будут храниться на диске, но индекс обычно загружается в память. Что если у вас такой большой файл, что даже его индекс не помещается в пам…
18 апр '09 в 21:11
1
ответ
Когда создается btree при добавлении индекса в таблицу MySQL 5.5?
У меня довольно большая таблица в MySQL 5.5, ~200M строк, и я хочу добавить индекс к одному из столбцов в этой таблице (тип btree). Столбец имеет тип integer и содержит большое количество целых чисел. Мой вопрос, когда вычисляется btree? Когда я вып…
16 дек '15 в 09:15
0
ответов
Использование B-Tree для эффективной реализации findrange
Моя задача - эффективно реализовать метод findRange(x,y), который выводит все значения больше x и меньше или равно y. Как я могу сделать это эффективным способом? Как выглядит метод findRange(x,y) в B-Trees? Я не хочу никакого кода, я просто хочу, ч…
16 янв '18 в 16:54
2
ответа
Какой элемент является "средним" в B-дереве четного порядка?
Если у меня есть B-дерево порядка 4 со следующими данными в нем... и мне нужно добавить 2 к дереву; я... добавьте 2 к узлу (сделав его недействительным, поскольку теперь у него 4 ключа), затем разделите узел, взяв значение 2 в качестве среднего знач…
11 апр '15 в 16:30