Чтобы работал binary search, утаблицы должен быть ключ по тем полям, которые вы используется в условии read table. Вы либо создание у типа таблицы вторичный сортировочный ключ, либо выполняете оператор sort по этим полям перед read. Оператор sort создаст необходимый ключ
Бинарный поиск вроде как исключительно алгоритмическая штука, она у меня работает и с empty key
интересно, как она работает с empty key, думаю, что это не совсем так
оператор sort никаких ключей не создает
Где почитать, что sort создает ключ?
за единственным исключением, которое давно пора выпилить из абапа - это сортировка хэшированной таблицы
Так он опять же просто меняет внутренний порядок записей, а не создаёт новые ключи
не, если бы менял порядок записей - она перестала бы быть хэшированной. там действительно рядом создается псевдоиндекс
Так а разница? Хэшу вообще без разницы на какую реальную строку ссылаться, достаточно скорректировать ссылки. В общем то и отдельный индекс тоже может быть. Кто его знает как оно там реализовано в ядре
есть случаи, когда надо хэшированную отсортировать? не понял.
случаи примерно те же где не нужен break в switch на java
Случаи есть, когда у вас хэш-таблица с множеством записей и вам нужно найти запись не по хэшу, а по другому сочетанию полей
Для этого вторичные индексы пригодятся, а сортировка то как поможет? Бинарный поиск все равно с хешированой таблицей работать не будет
А если у вас эта хэш таблица пришла из стандарта и вы не можете поменять ее тип?
Поиск по сортированным ключам по умолчанию применяет бинарный поиск
Но тогда вообще никак
нету там сортированного _ключа_
Не применяет. Забыл binary search - получил скан
Обсуждают сегодня