Да предположим, че имам два списъка с обекти и бих искал да съпоставя всеки обект в списък едно с всеки обект в списък две.
Това вероятно ще бъде алгоритъмът, който човек веднага ще измисли.
for( it_1=list_1.begin() ; it_1!=list_1.end() ; it_1++ )
{
for( it_2=list_2.begin() ; it_2!=list_2.end() ; it_2++ )
{
//now match
match(*it_1,*it_2);
}
}
Чудя се дали има някакъв по-добър начин да направя това. Това изисква O(n1*n2), където n1 и n2 са дължината съответно на list_1 и list_2.
match
? - person Fred Foo   schedule 10.07.2012match
може да бъде всичко, тогава този алгоритъм (игнорирайки печатните грешки в нарастването на външния цикъл) е асимптотично оптимален. За да го подобрите, трябва да знаете какво прави кодът вътре в цикъла. - person Fred Foo   schedule 10.07.2012