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

समय सीमा के साथ नौकरी अनुक्रमण समस्या


इस समस्या में दिए गए कार्यों की एक सूची है। सूची में प्रत्येक कार्य के लिए समय सीमा और लाभ भी दिया गया है। प्रत्येक कार्य में एक इकाई समय लगेगा, इसलिए किसी कार्य के लिए न्यूनतम समय सीमा 1 है। यदि एक समय में केवल एक कार्य निर्धारित किया जा सकता है, तो अधिकतम लाभ प्राप्त करें।

इस समस्या को हल करने के लिए, नौकरियों के सेट के सभी सबसेट को यह जांचने के लिए तैयार किया जाता है कि क्या व्यक्तिगत सबसेट संभव है या नहीं। साथ ही, उत्पन्न होने वाले सभी व्यवहार्य उपसमुच्चय के अधिकतम लाभ पर नज़र रखें।

इस एल्गोरिथम की समय जटिलता O(n^2)

. है

इनपुट और आउटपुट

इनपुट:जॉब आईडी, समय सीमा और लाभ के साथ नौकरियों की सूची। और नौकरियों की संख्या n.{('a', 2, 100), ('b', 1, 19), ('c', 2, 27), ('d', 1, 25), (' e', 3, 15)}n =5आउटपुट:निम्नलिखित कार्य अनुक्रम का अधिकतम लाभ क्रम है:c a e

एल्गोरिदम

<पूर्व>नौकरी अनुक्रम (नौकरी सूची, एन)

इनपुट - नौकरियों की सूची और सूची में मौजूद नौकरियों की संख्या।

आउटपुट - क्रम, नौकरी कैसे ली जाती है।

जॉब में जॉब्स को उनके लाभ के अनुसार क्रमबद्ध करना शुरू करें खाली समय स्लॉट को ट्रैक करने के लिए जॉब सीक्वेंस और स्लॉट की एक सूची बनाएं शुरू में सभी स्लॉट्स को सभी दिए गए जॉब के लिए फ्री बनाएं जो मैं सूची के अंत से सूची में सभी नौकरियों के लिए करता हूं। यदि स्लॉट [जे] मुफ़्त है तो जॉबसीक्वेंस [जे]:=मैं स्लॉट बनाता हूं [जे]:=सभी स्लॉट के लिए किए गए लूप को भरें जब यह मुफ़्त नहीं है तो जॉबलिस्ट [जॉबसीक्वेंस [i]] का उपयोग करके नौकरी की प्रिंट आईडी करें। 

उदाहरण

#include#include namespace std का उपयोग करके; इंट डेडलाइन; इंट प्रॉफिट;};बूल कॉम्प (जॉब जे1, जॉब जे2) {रिटर्न (जे1.प्रॉफिट> जे2.प्रॉफिट); // लाभ के आधार पर नौकरियों की तुलना करें} इंट मिनट (इंट ए, इंट बी) {रिटर्न (ए <बी)? ए:बी;} शून्य नौकरी अनुक्रम (जॉब जॉबलिस्ट [], इंट एन) {सॉर्ट (जॉबलिस्ट, जॉबलिस्ट + एन, कॉम्प); // सॉर्ट जॉबलिस्ट ऑन प्रॉफिट इंट जॉबसेक [एन]; // परिणाम स्टोर करने के लिए (नौकरियों का अनुक्रम) बूल स्लॉट [एन]; // खाली समय स्लॉट का ट्रैक रखने के लिए (int i=0; i=0 के लिए सभी स्लॉट मुफ्त हैं।; j--) {// पिछले फ्री स्लॉट से खोजें अगर (स्लॉट [j] ==असत्य) {jobSeq [j] =i; // इस जॉब को जॉब सीक्वेंस स्लॉट में जोड़ें [j] =true; // इस स्लॉट को कब्जे वाले ब्रेक के रूप में चिह्नित करें; } } } for (int i=0; i 

आउटपुट

नौकरी अनुक्रम का अधिकतम लाभ अनुक्रम निम्नलिखित है:c a e

  1. फिक्स:विंडोज 10 पर प्लेबैक डिवाइस के साथ स्काइप समस्या

    स्काइप वीडियो, वॉयस और टेक्स्ट संचार के लिए उपयोग किया जाने वाला एक एप्लिकेशन है। बहुत से लोग व्यक्तिगत और व्यावसायिक उद्देश्यों के लिए स्काइप का उपयोग करते हैं। एक बहुत ही सामान्य समस्या जिसका सामना अधिकांश उपयोगकर्ता करते हैं, वह यह है कि उन्हें स्काइप एप्लिकेशन का उपयोग करते समय प्लेबैक डिवाइस के

  1. [फिक्स्ड] सोनी WH-1000XM4 मोंटेरे के साथ समस्या

    इस लेख में, हमने सबसे संभावित सुधार प्रस्तुत किए हैं जो मोंटेरे मुद्दे के साथ सोनी WH-1000XM4 समस्या को हल करने में मदद कर सकते हैं। जैसे ही मैक उपयोगकर्ता नवीनतम मैकओएस मोंटेरे को अपडेट करते हैं, वे कई समस्याओं के साथ बमबारी कर रहे हैं। ये मुद्दे उनके मैक की दक्षता और प्रदर्शन को प्रभावित करते हैं

  1. WhatsApp की सामान्य समस्याओं को ठीक करें

    WhatsApp काम नहीं कर रहा है या जवाब नहीं दे रहा है? चिंता न करें, इस गाइड में, हम एंड्रॉइड पर व्हाट्सएप के साथ कुछ सबसे आम समस्याओं को ठीक करेंगे। वर्तमान समय में WhatsApp नाम को किसी परिचय की आवश्यकता नहीं है। यह अभी दुनिया में सबसे ज्यादा इस्तेमाल किया जाने वाला चैटिंग ऐप है। व्हाट्सएप की लोकप्र