Controlli condizionali contro un elenco

1

Mi chiedevo come facessero i computer.

Il modo più logico che posso pensare è che stanno iterando attraverso tutti gli elementi dell'elenco finché non ne trovano uno che corrisponda alla condizione:)

Ad esempio, se chiami function_exists() , PHP dovrebbe scorrere tutte le funzioni definite finché non soddisfa quella che corrisponde al nome che stai cercando.

È vero che questo è l'unico modo? Se lo è, sembra che non sia molto efficiente: s

    
posta AnnaSexyChick 13.04.2012 - 18:07
fonte

3 risposte

2

Sono un po 'confuso dalla tua domanda, ma qui ci sono un paio di modi che potrebbero velocizzare le condizioni di valutazione:

Se la lista è ordinata, allora si può fare una ricerca binaria che è più efficiente di una ricerca di forza bruta attraverso l'elenco per trovare un elemento.

Ci possono essere valutazioni di cortocircuito anche se possono anche accelerare la valutazione condizionale.

    
risposta data 13.04.2012 - 18:14
fonte
4

Fai qualche ricerca sulle strutture dei dati, in particolare sulle tabelle hash , che sono usate frequentemente per cose come le tabelle dei simboli. Utilizzano una funzione chiamata funzione hash per decidere dove archiviare i dati, che ha proprietà che rendono molto veloce il recupero a scapito dell'utilizzo di memoria extra.

    
risposta data 13.04.2012 - 18:58
fonte
0

Ciò di cui stai parlando è Algoritmi di ricerca .

I più comuni di questi sono:

1) Ricerche sequenziali

2) Ricerca binaria

    
risposta data 13.04.2012 - 18:59
fonte

Leggi altre domande sui tag