Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Kami Boleh Mengenalpasti Item Khusus yang Disertakan dalam Beg Beg Menggunakan Algoritma Beg Beg?
Menentukan Item dalam Knapsack Menggunakan Algoritma Knapsack
Algoritma Knapsack, teknik pengoptimuman, popular digunakan untuk menentukan nilai optimum item yang boleh dimuatkan dalam beg beg kapasiti terhad. Walau bagaimanapun, untuk mendapatkan penyelesaian yang komprehensif, selalunya wajar untuk mengenal pasti bukan sahaja nilai optimum tetapi juga item khusus yang disertakan dalam ransel.
Untuk meningkatkan kod yang disediakan, tatasusunan tambahan boleh digunakan untuk merekodkan item yang dipilih. Langkah yang sesuai untuk melakukan pemilihan ini adalah semasa proses lelaran algoritma.
Selepas setiap lelaran, semak sama ada perbezaan antara berat semasa dalam beg beg (dpw) dan berat sebelumnya tanpa item semasa (dp [w - items[j-1].getWeight()][j-1]) adalah sama dengan berat item semasa. Jika syarat ini dipenuhi, item telah dipilih dan perlu ditambah pada tatasusunan.
Sebagai alternatif, pendekatan mudah melibatkan berjalan ke belakang melalui matriks selepas menentukan nilai optimum. Jika perbezaan antara berat semasa dalam beg ransel (dpline) dan berat sebelumnya tanpa item semasa (dpline - berat(i)) betul-betul sama dengan nilai item semasa (nilai(i)), ia menunjukkan bahawa item ada di dalam ransel dan hendaklah ditandakan sedemikian. Proses ini berterusan sehingga semua item disemak.
Atas ialah kandungan terperinci Bagaimanakah Kami Boleh Mengenalpasti Item Khusus yang Disertakan dalam Beg Beg Menggunakan Algoritma Beg Beg?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!