Sto più o meno insegnando a me stesso una grande notazione O, quindi per favore perdonami se questo è un duplicato di una domanda che si applica alla mia domanda senza che io abbia la saggezza di realizzarlo. Per il mio divertimento / sviluppo personale, sto cercando di esprimere la complessità di una funzione che funziona su 2 set di dati diversi che si riferiscono l'un l'altro: ho bisogno di scorrere su un elenco, e per ogni elemento in un elenco, scorrere su un altro elencare il controllo se gli articoli sono correlati.
Pseudocodice:
for things in list_a {
for things in list_b {
if (list_a.thing relates to list_b.thing) go ping
}
}
Quello che ho attualmente sulla carta è O (n) * O (m), ma mi chiedo se debba essere espresso come O (n * m) invece, dove n = dimensione dell'insieme b e m = dimensione di set a? O è qualcos'altro interamente? Ancora una volta, mi scuso se si tratta di una domanda stupida / duplicata, ma non sono riuscito a trovare nessuno che specificasse specificamente un ciclo annidato su due set di dati diversi. Questa risposta suggerirebbe che si tratta di O (n ^ 2), ma questo mi sembra sbagliato, dal momento che le dimensioni di i due set di dati stessi sono diversi e indipendenti.