Temos uma função que recebe uma matriz como entrada. Ele divide uma matriz em partes com tamanhos iguais, onde é o tamanho da sub- matriz . Ele continua quebrando cada um dos sub-arranjos até restarem apenas dois elementos nele. Qual é a profundidade dessa recursão?
Exemplo do processo:
Primeiro, temos elementos e os em partes com tamanhos iguais. Cada uma dessas partes possui elementos . No próximo nível de recursão, dividiremos cada um dos sub- em partes novamente com tamanhos iguais. Agora eles terão em cada um deles. E continuamos quebrando a matriz dessa maneira até chegarmos a um sub-arranjo com apenas dois elementos.
Respostas:
Seja e denote por o número de aplicações de necessárias para obter abaixo de alguma constante arbitrária. Por um lado, e, portanto, Para obter um limite superior, observe que, contanto que , tenhamos e, portanto, são necessárias no máximo iterações para reduzir para . O mesmo argumento se aplica à redução de paraf(n)=n/logn g(n) f n f(t)(n)≥n/logtn g(n)≥loglognn=lognloglogn. f(t)(n)≥n−−√ logf(t)(n)≥(logn)/2 log(logn)/2n=O(logn/loglogn) n n−−√ n−−√ n−−√4 e assim por diante e, portanto,
(Aqui é o mesmo que .) Observe que
. Para grandes , teremos (digamos), e assim
Portanto, a soma é aumentada por uma série geométrica convergente e concluímos que
No total, entendemos isso
g(n)≪lognloglogn+logn−−√loglogn−−√+logn−−√4loglogn−−√4+⋯. ⋅≪⋅ ⋅=O(⋅) logn−−√=12logn n loglogn−−√≥23loglogn logn−−√loglogn−−√≤23lognloglogn. g(n)=O(lognloglogn). g(n)=Θ(lognloglogn).
Com mais trabalho, provavelmente podemos provar uma estimativa mais refinada, como
g(n)∼lognloglogn.
fonte
Parece que você está se referindo ao logaritmo iterado, também conhecido como a função . É uma função que expressa quantas vezes você pode obter o logaritmo de um número até que ele produza um número menor ou igual a 1.log∗
A função cresce muito lentamente. É o inverso da tetração.log∗
Veja mais disso aqui .
fonte
Seja n o tamanho da matriz. Seja k = log2 (n). Na primeira etapa, você divide por k. Desde que o tamanho da matriz seja superior an1/2 , você divide por mais de k / 2. Eu diria que este é O (log n / log log n).
(Sempre dividir em k partes leva o log n / log k divide. Você solicitou o caso especial k = log n, portanto, log n / log log n. Depois, você precisa decidir se o encolhimento k faz a diferença ou não.)
fonte
Todo logaritmo abaixo significa logaritmo com base 2,log2(⋅) .
Vamos nomear a função dada na perguntaslog . ( "trabalho árduo" vem do s plitting com log . Ele também pode implicar " s maller de log ".) Em termos precisos,
slog em N é definido pelas seguintes condições.
Podemos provar a seguinte proposição sobre o comportamento assintótico deslog(n) .
limn→∞ slog(n)lognloglogn=1.
Aqui está a idéia básica da prova.
Corolário.slog(n)=Θ(lognloglogn) .
A mesma conclusão vale se definirmosslog(x) para x>1 com slog(x)=1 para 1<x≤2 e slog(n)=1+slog(nlogn) .
Exercício. Escreva a prova completa deslog(n)∼lognloglogn .
fonte