Supponiamo di avere due liste di N 3 per 3 vettori di numeri interi.
Ho bisogno di trovare un modo rapido (ad esempio del tempo di esecuzione al massimo N ^ (1 + epsilon)) per trovare i vettori della prima lista che hanno la stessa prima coordinata con un vettore della seconda lista.
Naturalmente, potrei fare il seguente ingenuo copmarison:
for u in list_1 do
for v in list_2
if u[1] equals v[1] then
print u;print v;
end if;end for; end for;
Questo, tuttavia, richiederebbe N ^ 2 cicli.
Sento che ordinamento delle due liste in base alla loro prima coordinata e poi cercare le collisioni è forse un modo veloce. Bubbleshort, ecc., Probabilmente prenderebbe logN time, ma non riesco davvero a vedere come codificare la ricerca di collisione tra le liste ordinate.
Qualsiasi aiuto sarebbe apprezzato.