è


11

Quindi ho questa domanda per dimostrare una dichiarazione:

O(n)Θ(n) ...

Non ho bisogno di sapere come dimostrarlo, solo che nella mia mente questo non ha senso e penso che dovrebbe piuttosto essere quello Θ(n)O(n) .

La mia comprensione è che O(n) è l'insieme di tutte le funzioni che non fanno peggio di n mentre Θ(n) è l'insieme di tutte le funzioni che non fanno meglio e non peggio di n.

Usando questo, posso pensare all'esempio di una funzione costante dire g(n)=c . Questa funzione sarà sicuramente un elemento di O(n) quanto non farà peggio di n poiché n avvicina a un numero sufficientemente grande.

Tuttavia, la stessa funzione g non sarebbe un elemento di Θ(n) come g fa meglio di n per grande n... Quindi poiché gO(n) e gΘ(n) , quindi O(n)Θ(n)

Quindi la domanda è forse sbagliata? Ho imparato che è pericoloso fare questo presupposto e di solito ho perso qualcosa, non riesco proprio a vedere cosa potrebbe essere in questo caso.

Qualche idea ? Molte grazie..


5
f=0f=O(n)fΘ(n)O()

5
Penso che tu abbia ragione, sembra un errore.
Yuval Filmus,

3

Risposte:


11

Su suggerimento di Raffaello, ho trasformato un commento precedente in questa risposta.

Non è vero che . In effetti, , per definizione. Quindi abbiamo .Θ ( f ( n ) ) = O ( f ( n ) ) Ω ( f ( n ) ) Θ ( f ( n ) ) O ( f ( n ) )O(f(n))Θ(f(n))Θ(f(n))=O(f(n))Ω(f(n))Θ(f(n))O(f(n))


4

Pensaci in questo modo: ogni funzione che non fa "niente peggio di n" e "non migliore di n" è anche una funzione che non fa "non peggio di n". La parte "non meglio di n" è solo un vincolo aggiuntivo. Questa è un'applicazione semplice della regola logica che dice: . Con questo ragionamento, tutte le funzioni che si trovano nell'insieme sono anche membri dell'insieme .Θ ( n ) O ( n )xyxΘ(n)O(n)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.