А теперь мой вопрос, а что если мне нужно будет

найти 32 индекс, мы просто сразу перескочем на уровне Leaf node в правый блок или же B-дерево не перескакивает с одного листового узла (Leaf node) на другой, минуя промежуточные узлы (Intermediate nodes), даже если значения находятся в разных блоках или интервалах ?

14 ответов

18 просмотров

Ничего никуда не перескочет. Поиск по дереву - это обход дерева начиная с корня. Все будет ровно также, как в первом примере. И на картинке немного не точно, если узел условно 31+, то в нем будет просто значение 31. Все листья со значениями больше 31 будут по правой ветке. А вот это многоточие предполагает, что там еще какие-то конкретные значения. Они известны и их конечное число. Т.е. условно там 31-50, либо просто 31.

Вопрос не ясен какую операцию ты Рассматриваешь?

Maks
Ничего никуда не перескочет. Поиск по дереву - это...

Ну это не обход дерева это спуск по дереву

Ruslan-Postoiuk Автор вопроса
Ilya Zviagin
Вопрос не ясен какую операцию ты Рассматриваешь?

Если мне нужно найти запись по индексу 22, я уже понял что мы спускаемся начиная с верха вниз, а что если после 22 мне нужно индекс 32, мы перескочим в правый блок или же начнем все с начала с самого верха дерева и опять вниз

Ruslan Postoiuk
Если мне нужно найти запись по индексу 22, я уже п...

с верха дерева мы спускаемся в 31+, затем в 31-40, затем в 32. дерево для того и нужно чтоб не листать элементы по порядку, а разбить их на сегменты из которых делается выбор по определённым признакам. в данном случае признаком является результат сравнения числа с диапазонами сегментов

Ruslan-Postoiuk Автор вопроса
Мертвый 🅿️
с верха дерева мы спускаемся в 31+, затем в 31-40,...

то-есть заново начинаться с верха он не будет, а просто пойдет с одного блока 21-30 на блок 31-40

Ruslan Postoiuk
то-есть заново начинаться с верха он не будет, а п...

рукалицо.... это новый поиск. ни одна компьютерная система не будет додумывать что там у тебя в голове - она будет действовать строго по алгоритму

Ruslan-Postoiuk Автор вопроса
Ruslan Postoiuk
разве нет элементво кеширования

кэшироваться может предыдущий поиск. 32 это НОВЫЙ поиск

Ruslan-Postoiuk Автор вопроса
Ruslan-Postoiuk Автор вопроса

понял, то-есть два раза мы будем начинать с самого рута

Ruslan Postoiuk
понял, то-есть два раза мы будем начинать с самого...

начинать с рута в любом случае будет быстрее чем с момента предыдущего поиска т.к. у тебя может оказаться не 32 после 22, а например 59. в результате ты будешь пролистывать подряд все блоки.

Ruslan Postoiuk
понял, то-есть два раза мы будем начинать с самого...

Собственно по индексам есть только две операции основные это позиционирование по ключу и сканирование индекса с какой-то точки которая получается после позиционирования по ключу точка то есть либо ты нашёл одну запись позиционированием по индексу то есть спуска по дереву вниз до одного ключа, либо ты сделал то же самое но потом начинаешь читать последовательно все записи в порядке индекса точка Это ещё называется Range Scan

Похожие вопросы

Обсуждают сегодня

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
12
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
9
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
🙋 Ребята, всем привет. Поправил задачу: Нужно каждому новому сообщению (1 раз по каждому юзеру) в чате прибавлять снизу кнопку с предложением подписаться на канал. Как добавит...
Alexander
1
Вопрос: Здравствуйте! У меня возникла проблема с использованием плагина Mall в OctoberCMS. Я использую все файлы и компоненты в их исходном виде, без изменений. Однако на стр...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
2
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
всем привет помогите пожалуйста используя CDN (GCP) у игроков из вьетнама загружается конфиг (размер 999 bytes) загружается 5 и более минут н а других CDN сервисах такой пробл...
Andrew Krw.
1
Просто по очереди выпиливаешь на ручной маппинг? По методу за раз
Andrii Kurdiumov
7
Приветствую. А не подскажете какие ограничения есть на использования api метода setMyName ? Несколько раз сменил имя бота и получил бан на 2 месяца на смену имени.
Slick Slack
8
Привет, коллеги! Возникла задача ограничить максимальный размер вложений для определённых расширений, например, чтобы для изображений лимит был 10 МБ, а для видео — 100 МБ. Ог...
Andro
1
Карта сайта