Минимальная "куча" с лучше, чем O (logn) увеличивает ключ?

Если вы хотите условный запрос «И», попробуйте следующее:

Comment.
  where(:created_at => time_range).
  where("user_id is not in (?)",[user_ids])

, который будет производить SQL, например: select ... where ... AND ...

, если вы хотите, чтобы предложение WEHRE более сложное, например : where ( a AND b) OR (c AND d), вы должны сами объединить условия в предложение, например

Comment.where("(a AND b ) OR (c AND d)")
9
задан Niki Yoshiuchi 4 June 2009 в 20:33
поделиться

3 ответа

Двоичные кучи слишком негибкие, чтобы превзойти логарифмическую сложность. Биномиальные кучи просто обеспечивают более эффективную операцию соединения.

Другие кучи с хорошей производительностью ключа уменьшения - это кучи пар и 2-3 кучи

1
ответ дан 5 December 2019 в 02:28
поделиться

Биномиальные кучи занимают время o (log n) для операций уменьшения клавиш! Разве это не медленнее, чем кучи Фибоначчи?

0
ответ дан 5 December 2019 в 02:28
поделиться

Фактически, с кучей Фибоначчи, операция клавиши увеличения аналогична клавише уменьшения. ИМХО, операцию «ключ уменьшения» принято называть только традицией, потому что она используется в некоторых алгоритмах. Но реализация кучи Фибоначчи позволяет и то, и другое.

0
ответ дан 5 December 2019 в 02:28
поделиться
Другие вопросы по тегам:

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