dubbio notazione

Sono sicuro che qua molti avranno presente quando si esprime la complessità di un algoritmo utilizzando la notazione O(n), oppure O(log(a)) e così via.

Ecco, ora come devo interpretare questa stessa notazione per indicare un certo numero di variabili o disequazioni?

Nella fattispecie, se io ho O(log(a)) disequazioni, queste quante sono?

grazie!
http://it.wikipedia.org/wiki/O-grande
chobo, ti ringrazio per la risposta.

Il punto è che in quel link non c'è quello che cerco. Gli o piccoli e gli o grandi li ho studiati anche io ai tempi che furuno, ma sempre, appunto riferito a funzioni.

Il problema qua è che quella notazione deve (o dovrebbe) indicare un numero di variabili, o di disequazioni. E non riesco a raccapezzarmici
se trovi scritto "O(patata)"
leggi "proporzionali a patata".

Molte volte gli informatici teorici si sentono matematici mancati e devono assolutamente fare i fighi con notazioni inutili, imho.
quindi dovrei interpretarlo come "un numero di disequazioni proporzionale, (nel mio caso) log2?"

bha

Cmq nel mio caso non si tratta di informatica, ma di ricerca operativa. Ma sempre confusione generano.

A me serve sapere quante sono quelle disequazioni! Con proporzionale non ottengo molto.. genialodi questi.
Credo che probabilmente si volesse esprimere il concetto che sono al più log(a) (abusando mostruosamente di notazione)
eh...forse. Farò finta che siano proprio pari a log(a) e vediamo che succede...
Non capisco cosa ci sia che non ti torna...

...il numero di disequazioni sono dell'ordine di "log(a)", ovvero sono al più una costante "c" fissata moltiplicata il numero di cifre del numero "a".

Esattamente come nel link che ho riportato...

Esempio: C = 1 e log = log_10 ===> hai bisogno di al più 3 disequazioni per il numero 1000, di al più 10 disequazioni per il numero 10000000000, e via dicendo...
in realtà non ho capito.

dici costante "c" moltiplicata per il numero di cifre del numero "a"

ma nel esempio, in cui C è uguale a 1, dove esce fuori il numero 3? E' il numero di cifre di 1000? Ma allora 1000 da dove esce?

Se ho nell'esempio pratico, O(log4), con logaritmo in base 2, ho C=1, e il numero di cifre di a è 1...perchè 4 è un numero ad una cifra

cosa mi sfugge?


Ti sfugge che non sai fare i logaritmi.
Consiglio un bel ripassone del libro di mate delle superiori.
del logaritmo mi basta sapere che è l'esponente che bisogna dare alla base per ottenere l'argomento. Forse non è sufficiente...

quel log_10 che ha scritto chobo vuol dire che è in base 10? Oppure è log di 10 in base 2? Quale è il log che non saprei fare? Forse semplicemente non ho capito la "notazione" usata


certo, come no

prova tu a spiegare un tempo massimo, medio, migliore o quant'altro senza l'uso di O, Ω e Θ.

prova tu a fare ragionamenti sui costi algoritmici su alberi, grafi e quant'altro senza aver ben chiare questo tipo di stime a priori.


se nel tuo algoritmo risulta che il costo in termini computazionali è proporzionale a O(log(a)) significa che, dati a valori in ingresso, ti serviranno AL MASSIMO logaritmo (naturale) di a passaggi per completarlo.

tuttavia, in genere, i logaritmi sono legati alle strutture tipo alberi e roba del genere, tipo lo "scorrere" lungo i rami, e in questi casi il logaritmo è sottointeso in base 2.