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

सी ++ प्रोग्राम ट्रैवलिंग सेल्समैन समस्या को लागू करने के लिए निकटतम पड़ोसी एल्गोरिथम का उपयोग कर रहा है

यहाँ निकटतम पड़ोसी एल्गोरिथम का उपयोग करके ट्रैवलिंग सेल्समैन समस्या को लागू करने के लिए एक C++ प्रोग्राम है।

आवश्यक कार्य और छद्म कोड

एल्गोरिदम

आरंभ करें सी =0, लागत =1000 शुरू करें; जी [] [] प्रारंभ करें। फ़ंक्शन स्वैप () का उपयोग दो मानों x और y को स्वैप करने के लिए किया जाता है। फ़ंक्शन cal_sum() उस लागत की गणना करने के लिए जो इनपुट के रूप में सरणी a [] और सरणी का आकार लेती है। प्रारंभिक योग =0. i =0 से n के लिए s+=g[a[i %3]][a[(i+ 1) %3]] की गणना करें; अगर (लागत> s) लागत =s फ़ंक्शन क्रमपरिवर्तन () का उपयोग क्रमपरिवर्तन करने के लिए किया जाता है:यदि सरणी कॉल में एक तत्व है तो cal_sum ()। अन्य के लिए j =i से n स्वैप (a+i) के साथ (a + j) cal_sum(a+1,n) स्वैप (a+i) के साथ (a + j)End

उदाहरण कोड

#includeनेमस्पेस का उपयोग करना std;int c =0, cost =1000;int g[3][3 ]={{1, 2, 3}, {4, 5, 8}, {6, 7, 10}}; शून्य स्वैप (int *x, int *y) {int t; टी =* एक्स; * एक्स =* वाई; *y =t;}शून्य cal_sum(int *a, int n) { int i, s=0; के लिए (i =0; i <=n; i++) { s+=g[a[i %3]][a[(i+ 1) %3]]; } अगर (लागत> एस) {लागत =एस; }}शून्य परमिट (int *a,int i,int n) { int j, k; अगर (i ==n) { cal_sum (ए, एन); } और { के लिए (जे =आई; जे <=एन; जे ++) {स्वैप ((ए + आई), (ए + जे)); cal_sum(a+1,n); स्वैप ((ए + आई), (ए + जे)); } }}इंट मेन () { इंट आई, जे; इंट ए [] ={1,2,3}; परमिट (ए, 0,2); cout <<"न्यूनतम लागत:" <<लागत < 

आउटपुट

 ==का उपयोग करके str1 और str2 की तुलना करना, Res:0 ==का उपयोग करके str1 और str3 की तुलना करना, Res:1 तुलना () का उपयोग करके str1 और str2 की तुलना करना, Res:-1024 तुलना (), Res:0 का उपयोग करके str1 और str3 की तुलना करना।> 
  1. C++ प्रोग्राम 2 हस्ताक्षरित संख्याओं के गुणन के लिए बूथ के गुणन एल्गोरिथम को लागू करने के लिए

    बूथ का एल्गोरिथ्म एक गुणन एल्गोरिथ्म है जो दो हस्ताक्षरित बाइनरी नंबरों को 2 के कॉम्प्लिमेंट नोटेशन में गुणा करता है। बूथ ने डेस्क कैलकुलेटर का इस्तेमाल किया जो जोड़ने की तुलना में शिफ्टिंग में तेज़ थे और उन्होंने अपनी गति बढ़ाने के लिए एल्गोरिदम बनाया। एल्गोरिदम Begin    Put multiplicand

  1. C++ प्रोग्राम डायनेमिक प्रोग्रामिंग का उपयोग करके नैकपैक समस्या को हल करने के लिए

    यह गतिशील प्रोग्रामिंग का उपयोग करके 0-1 knapsack समस्या को हल करने के लिए एक C++ प्रोग्राम है। 0-1 बस्ता समस्या में, वस्तुओं का एक सेट दिया जाता है, प्रत्येक का एक वजन और एक मूल्य होता है। हमें संग्रह में शामिल करने के लिए प्रत्येक आइटम की संख्या निर्धारित करने की आवश्यकता है ताकि कुल वजन दी गई सीम

  1. सी ++ प्रोग्राम हीप सॉर्ट एल्गोरिथम का उपयोग करके 10 तत्वों की एक सरणी को सॉर्ट करने के लिए

    हीप सॉर्ट बाइनरी हीप डेटा संरचना पर आधारित है। बाइनरी हीप में पैरेंट नोड के चाइल्ड नोड्स अधिकतम हीप के मामले में उससे छोटे या उसके बराबर होते हैं, और पैरेंट नोड के चाइल्ड नोड्स मिन हीप के मामले में उससे बड़े या उसके बराबर होते हैं। हीप सॉर्ट में सभी चरणों की व्याख्या करने वाला एक उदाहरण इस प्रकार ह