Size: a a a

2021 June 18

I

IdiocyAcceptance in F# Chat
Я бы сделал кольцевой массив нужного размера, наполнил его начальными данными, отсортировал бы его, а потом просто вставлял бы элементы и запоминал индекс минимального элемента. Это считай O(n) от твоей начальной коллекции, т.к. если ты вытягиваешь 10-100 элементов, этой сортировкой можно принебречь
источник

I

IdiocyAcceptance in F# Chat
Ну или пытаться сортировать во время вставки начальной прямо
источник

ДБ

Дмитрий Башинский... in F# Chat
для каждого запроса своя сортировка
источник

VK

Vladislav Khapin in F# Chat
Вообще сортировка занимает ничего
источник

VK

Vladislav Khapin in F# Chat
По времени
источник

ДБ

Дмитрий Башинский... in F# Chat
у кого-то лучший елемент будет в дне
а у кого то на верху
источник

I

IdiocyAcceptance in F# Chat
Ну и что? Любая сортировка по умолчанию поддерживет всякие Comprare'ы
источник

I

IdiocyAcceptance in F# Chat
Иначе смысл?
источник

ДБ

Дмитрий Башинский... in F# Chat
она да, а вот функция которая у меня занимает время
источник

ДБ

Дмитрий Башинский... in F# Chat
погоди, ты предложил отсортировать сразу
источник

ДБ

Дмитрий Башинский... in F# Chat
я говорю что сразу не могу
источник

ДБ

Дмитрий Башинский... in F# Chat
ибо параметр сортировки входит в запросе
источник

ДБ

Дмитрий Башинский... in F# Chat
там просто произвольная строка которую нужно пронести по елементам и дать им скор, после чего взять лучшие
источник

ДБ

Дмитрий Башинский... in F# Chat
щас я осознал что моя функция несколько раз будет оценивать каждый елемент
источник

ДБ

Дмитрий Башинский... in F# Chat
а точнее m раз
источник

I

IdiocyAcceptance in F# Chat
Перечитай что я предложил)
источник

ДБ

Дмитрий Башинский... in F# Chat
по чему будешь сортировать?
источник

I

IdiocyAcceptance in F# Chat
Ну очевидно по функции, которая даёт твоим элементам "скор", то есть обычный компарер
источник

оГ

отец Григорий... in F# Chat
Почему ты не можешь результат по скору отсортированным держать пока бегаешь???
источник

IC

Ilya L Che in F# Chat
Хотим найти N максимальных, например. Набираем словарь из N, рядом храним минимальное из словаря. Продолжаем идти. Если число меньше минимального, скипаем. Если больше минимального, то выкидываем его из словаря и закидываем новое. Обновляем минимальное.
источник