Existem vários algoritmos e estruturas de dados que exploram a idéia de que obtém seu valor mínimo em k = \ sqrt n . Exemplos comuns incluem
- algoritmo de passo gigante de baby-step para calcular logaritmo discreto em ,
- faixa ortogonal 2D estática contando em tempo e memória,
- fila de prioridade com EXTRACT-MIN em e DECREASE-KEY em ,
- colorindo um gráfico de três cores com cores em tempo polinomial,
só para citar alguns.
Embora esses algoritmos geralmente sejam abaixo do ideal, eles são fáceis de entender pelos alunos e bons para mostrar rapidamente que limites ingênuos não são ótimos. Além disso, as estruturas de dados de idéia de raiz quadrada às vezes são mais práticas do que suas contrapartes baseadas em árvore binária por causa da facilidade de cache (sem considerar as técnicas que ignoram o cache). É por isso que dou bastante atenção a esse tópico enquanto ensino.
Estou interessado em exemplos mais distintos desse tipo. Então, eu estou procurando por quaisquer algoritmos (de preferência elegantes), estruturas de dados, protocolos de comunicação, etc., cuja análise se baseie na idéia da raiz quadrada. Seus assintóticos não precisam ser ótimos.