Vou dar uma resposta diferente, já que é demais para um comentário e trata uma abordagem mais geral.
Portanto, na ESL, eles descrevem de fato o tempo de computação para um branch-and-bound (mais precisamente, isso me parece uma divisão e conquista).
Denotamos com o número de observações e com o número de nós filhos, quando cultivamos uma árvore. Suponho que não perdemos em geral se considerarmos que é fixo. Além disso, podemos denotar com o tempo de processamento para calcular pontos de divisão em um determinado nó.NKKf(N)
Assim, podemos escrever recursivamente a fórmula para o tempo de execução como:
que consideramos aqui que os nós filhos dividem o conjunto de dados de entrada do tamanho nos subconjuntos de igual tamanho . Sabemos que esse é o melhor caso.
T(N)=f(N)+K∗T(N/K)
NKN/K
No entanto, podemos ver que esta é uma aplicação bem conhecida do Teorema Mestre. Isso está bem documentado no livro do CLRS . Eu tenho a 3ª edição e os detalhes estão na seção 4.5 e a prova está na próxima seção. Não me lembro bem dos detalhes, mas lembro que não é muito complicado se se expande a recursão e agrupa alguns termos.
No entanto, o que é importante para este caso é que, quando - tempo linear, o tempo resultante do algoritmo é . Esse tempo é calculado para uma única variável de entrada, portanto, nosso tempo total para variáveis seriaf(N)=O(N)T(N)=O(NlogN)PO(PNlogN)
Esse tempo é possível para o crescimento da árvore, se todas as entradas forem classificadas inicialmente em , e encontrar o valor de divisão leva tempo linear nessas entradas classificadas. Aqui podemos aplicar o algoritmo de variância on-line, como mencionei na resposta anterior para . Paraé ainda mais fácil encontrar mediana. Confesso que nunca experimentei outra função de perda de árvores.O(PNlogN)L2=1N(y−y^)2L1=1N|y−y^|
Observe, porém, que o teorema mestre se aplica ao melhor caso, se as divisões forem iguais em tamanho. O pior caso é quando a divisão é muito desequilibrada. Lá, pode-se aplicar um caso diferente de Teorema Mestre e o tempo se tornará .O(PN2)
Como conclusão, presumo que os autores de ESL usem o termo normalmente de uma maneira usada para descrever o algoritmo de classificação rápida. Normalmente, a classificação rápida fornece tempo de execução de , com o pior caso , para algumas configurações de dados específicas.O(NlogN)O(N2)
Espero que ajude.