Это то, что я думаю, что мне нужно сделать.
Имея «n» предметов веса «Wi» и значения «Vi», мне нужно максимизировать стоимость рюкзака, оставаясь при этом ниже предела веса WEIGHT_MAX.
Итак, я подумал о том, чтобы сортировать предметы в соответствии с их ценностью (от большего к меньшему), а затем выбирать предметы, если вес рюкзака меньше WEIGHT_MAX.
то есть что-то вроде этого
while( temp_weight <= WEIGHT_MAX && i <= INDEX_MAX )
{
if ( temp_weight + W[i] > WEIGHT_MAX ) { i++; continue;}
temp_weight += W[i];
value += V[i];
i++;
}
Почему этот алгоритм неверен?