найти 32 индекс, мы просто сразу перескочем на уровне Leaf node в правый блок или же B-дерево не перескакивает с одного листового узла (Leaf node) на другой, минуя промежуточные узлы (Intermediate nodes), даже если значения находятся в разных блоках или интервалах ?
Ничего никуда не перескочет. Поиск по дереву - это обход дерева начиная с корня. Все будет ровно также, как в первом примере. И на картинке немного не точно, если узел условно 31+, то в нем будет просто значение 31. Все листья со значениями больше 31 будут по правой ветке. А вот это многоточие предполагает, что там еще какие-то конкретные значения. Они известны и их конечное число. Т.е. условно там 31-50, либо просто 31.
Вопрос не ясен какую операцию ты Рассматриваешь?
Ну это не обход дерева это спуск по дереву
Если мне нужно найти запись по индексу 22, я уже понял что мы спускаемся начиная с верха вниз, а что если после 22 мне нужно индекс 32, мы перескочим в правый блок или же начнем все с начала с самого верха дерева и опять вниз
с верха дерева мы спускаемся в 31+, затем в 31-40, затем в 32. дерево для того и нужно чтоб не листать элементы по порядку, а разбить их на сегменты из которых делается выбор по определённым признакам. в данном случае признаком является результат сравнения числа с диапазонами сегментов
то-есть заново начинаться с верха он не будет, а просто пойдет с одного блока 21-30 на блок 31-40
рукалицо.... это новый поиск. ни одна компьютерная система не будет додумывать что там у тебя в голове - она будет действовать строго по алгоритму
разве нет элементво кеширования
кэшироваться может предыдущий поиск. 32 это НОВЫЙ поиск
я это и хотел услышить, я понял
понял, то-есть два раза мы будем начинать с самого рута
начинать с рута в любом случае будет быстрее чем с момента предыдущего поиска т.к. у тебя может оказаться не 32 после 22, а например 59. в результате ты будешь пролистывать подряд все блоки.
Собственно по индексам есть только две операции основные это позиционирование по ключу и сканирование индекса с какой-то точки которая получается после позиционирования по ключу точка то есть либо ты нашёл одну запись позиционированием по индексу то есть спуска по дереву вниз до одного ключа, либо ты сделал то же самое но потом начинаешь читать последовательно все записи в порядке индекса точка Это ещё называется Range Scan
Обсуждают сегодня