> For the complete documentation index, see [llms.txt](https://phitron.gitbook.io/algorithm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://phitron.gitbook.io/algorithm/knapsack/_-knapsack-bottom-up-approach.md).

# মডিউল ১৮\_৫ঃ Knapsack Bottom Up Approach

আগের সেই Knapsack এর ইনপুটটি দিয়ে এখন আমরা Knapsack Bottom Up Approach টি দেখব।&#x20;

weight= \[2,3,4,5]

value = \[1,3,5,3]

W = 10

<figure><img src="https://1548341763-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjliRFwU9cGQFGljHYgOZ%2Fuploads%2Fdns0IJypMzpHaVza3V5t%2Fimage.png?alt=media&amp;token=db299975-7071-4665-8747-4d34090b1011" alt="" width="563"><figcaption></figcaption></figure>

Knapsack Bottom Up Approach বুঝার জন্য নিচের দেখানো চিত্রের মত একটি টেবিল একে ফেলবো।&#x20;

<figure><img src="https://1548341763-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjliRFwU9cGQFGljHYgOZ%2Fuploads%2FR5LiI0Q5QrVgpElV9Oea%2Fimage.png?alt=media&amp;token=6b871b89-0879-4219-968c-ce1485e79b8d" alt=""><figcaption></figcaption></figure>

এখন শুরুতে আমরা base case চিন্তা করলে দেখি n==0 || W==0 হলেই return 0 করতাম , এখন Bottom Up Approach এ 0 row এবং 0 column এ 0 রেখে দিব।&#x20;

<figure><img src="https://1548341763-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjliRFwU9cGQFGljHYgOZ%2Fuploads%2F8jSOXwezStaqDJzxl3WA%2Fimage.png?alt=media&amp;token=78b741a3-07d1-4a69-9966-4089a55f7261" alt=""><figcaption></figcaption></figure>

নিচের চিত্রে n=1 , W=1 index এ কি মান বসবে সেইটির প্রসেসটি দেখিয়েছি।&#x20;

<figure><img src="https://1548341763-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjliRFwU9cGQFGljHYgOZ%2Fuploads%2F9vjhghSgUfgIjNqOeEVp%2Fimage.png?alt=media&amp;token=a0e6694a-e1ec-4fa1-9308-8ed1a14e7788" alt=""><figcaption></figcaption></figure>

নিচের চিত্রে n=1 , W=2 index এ কি মান বসবে সেইটির প্রসেসটি দেখিয়েছি।&#x20;

<figure><img src="https://1548341763-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjliRFwU9cGQFGljHYgOZ%2Fuploads%2FLAcfDtSA5qoSO5JR3rYO%2Fimage.png?alt=media&amp;token=2854f997-b201-4b07-8cf4-4bf5890cb381" alt=""><figcaption></figcaption></figure>

এইভাবে বাকি গুলো প্রসেস সম্পন্ন হওয়ার পর dp নামের 2D array টি এইরকম হবে।&#x20;

<figure><img src="https://1548341763-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjliRFwU9cGQFGljHYgOZ%2Fuploads%2F04wCsbv9sJsbzVSzi9XI%2Fimage.png?alt=media&amp;token=747861a4-480a-4c03-820c-f44541aef360" alt=""><figcaption></figcaption></figure>

আমাদের উপরের প্রশ্নের n=4 এবং W=10 ছিল তাহলে, dp\[4]\[10] হল 9, এইটি উত্তর।&#x20;
