Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

0-1 सी में बस्ता समस्या?

एक थैला एक थैला है। और बस्ता समस्या वस्तुओं के मूल्य के आधार पर बैग में सामान डालने से संबंधित है। इसका उद्देश्य बैग के अंदर मूल्य को अधिकतम करना है। 0-1 Knapsack में आप या तो वस्तु रख सकते हैं या त्याग सकते हैं, सामान के कुछ भाग को थैले में डालने की कोई अवधारणा नहीं है।

नमूना समस्या

Value of items = {20, 25,40}
Weights of items = {25, 20, 30}
Capacity of the bag = 50

वजन वितरण

25,20{1,2}
20,30 {2,3}
If we use {1,3} the weight will be above the max allowed value.
For {1,2} : weight= 20+25=45 Value = 20+25 = 45
For {2,3}: weight=20+30=50 Value = 25+40=65

अधिकतम मान 65 है इसलिए हम आइटम 2 और 3 को थैले में डाल देंगे।

0-1 KNAPSACK समस्या के लिए कार्यक्रम

#include<stdio.h>
int max(int a, int b) {
   if(a>b){
      return a;
   } else {
      return b;
   }
}
int knapsack(int W, int wt[], int val[], int n) {
   int i, w;
   int knap[n+1][W+1];
   for (i = 0; i <= n; i++) {
      for (w = 0; w <= W; w++) {
         if (i==0 || w==0)
            knap[i][w] = 0;
         else if (wt[i-1] <= w)
            knap[i][w] = max(val[i-1] + knap[i-1][w-wt[i-1]], knap[i-1][w]);
         else
            knap[i][w] = knap[i-1][w];
      }
   }
   return knap[n][W];
}
int main() {
   int val[] = {20, 25, 40};
   int wt[] = {25, 20, 30};
   int W = 50;
   int n = sizeof(val)/sizeof(val[0]);
   printf("The solution is : %d", knapsack(W, wt, val, n));
   return 0;
}

आउटपुट

The solution is : 65

  1. सी . में एक सरणी में श्रेणियों के उत्पाद

    एक इनपुट के रूप में सरणी, एल, आर, पी के साथ दिया गया है और कार्य मॉड्यूल के तहत उत्पाद के साथ एल और आर के बीच की श्रेणियों को आउटपुट के रूप में ढूंढना और इसे प्रदर्शित करना है जैसा कि चित्र में दिया गया है, हमारे पास तत्वों की सरणी है और L जो कि 2 के रूप में एक बायाँ मान है और R जो कि 2 के रूप में

  1. 0-1 बीएफएस (बाइनरी वेट ग्राफ में सबसे छोटा पथ) सी प्रोग्राम में?

    मान लीजिए कि हमारे पास कुछ नोड्स और जुड़े किनारों के साथ एक ग्राफ है। प्रत्येक किनारे में द्विआधारी भार होता है। तो भार या तो 0 या 1 होगा। एक स्रोत शीर्ष दिया गया है। हमें स्रोत से किसी अन्य शीर्ष तक सबसे छोटा रास्ता खोजना है। मान लीजिए कि ग्राफ नीचे जैसा है - सामान्य बीएफएस एल्गोरिथम में सभी एज

  1. 0-1 नैपसैक समस्या के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें n वस्तुओं के वजन और मूल्य दिए गए हैं, हमें इन वस्तुओं को अधिकतम क्षमता w तक क्षमता W के बैग में रखना होगा। हमें अधिकतम संख्या में आइटम ले जाने और उसका मूल्य वापस करने की आवश्यकता है। आइए अब नीचे दिए गए कार्यान्व