तो, सवाल स्पष्ट करने के लिए:वस्तुओं के दो सेट। सेट एक के प्रत्येक तत्व सेट बी मैच में एक अद्वितीय मैच प्रत्येक ओ (nlogn) में सेट बी में आइटम करने के लिए सेट एक के मद समय
सेट एक और सेट बी हर तत्व सेट ए में सेट बी में कोई भागीदार है, आप इसे एक ही सेट के सदस्यों से तुलना करने के आधार पर सेट को सॉर्ट नहीं कर सकते हैं, यानी बी के प्रत्येक बी तत्व बी के किसी भी अन्य बी (इसी प्रकार ए के लिए) से अलग नहीं है। जब ऐ के साथ मिलान किया जाता है तो आप बता सकते हैं कि Bi > Ai
, Bi < Ai
या Bi = Ai
है। ओ (nlogn) चलने का समय के साथ एक एल्गोरिदम डिजाइन।
वर्गबद्ध समय के साथ स्पष्ट उत्तर छोटा और सहायक नहीं है - हालांकि यह अभी तक का सबसे अच्छा है। लॉग (एन) मुझे लगता है कि मुझे किसी प्रकार के रिकर्सन या बाइनरी पेड़ का उपयोग करना चाहिए, लेकिन मुझे यकीन नहीं है कि एक ही सेट से तत्वों की तुलना करने के बिना बाइनरी पेड़ कैसे बना सकता है। साथ ही, मुझे यकीन नहीं है कि लूप के लिए नेस्टेड चलाने की तुलना में किसी भी बड़े प्रभाव के लिए रिकर्सिव कॉल का उपयोग कैसे करें। कोई भी युक्ति सराहनीय होगी।
उन्हें सॉर्ट करें और सभी तत्वों के माध्यम से जाने के लिए एक लूप का उपयोग करें। यदि आपके पास शुरुआत से सेट डेटा संरचना है, तो आप इसके माध्यम से इटेटर और लूप ले सकते हैं। – nhahtdh
तो आप कह रहे हैं कि ए और बी एक दूसरे के साथ तुलनीय नहीं हैं, लेकिन आप प्रत्येक ए को प्रत्येक बी से तुलना कर सकते हैं और 'ए == बी' जैसे जोड़े को ढूंढने की आवश्यकता है? – verdesmarald
यह समस्या मूल रूप से मिलानिंग नट्स और बोल्ट की समस्या के समान है जैसा कि गोवायाक्ट द्वारा बताया गया है। हालांकि ध्यान के लिए धन्यवाद। – slmyers