मैं लागू करने के लिए सी में एक सेट यह ठीक एक लिंक की गई सूची का उपयोग करने है चाहता हूँ, जब सेट बनाने, या मैं एक और दृष्टिकोण का उपयोग करना चाहिए?एक सेट को कैसे कार्यान्वित करें?
कैसे आप आमतौर पर अपने स्वयं के सेट लागू करते हैं (यदि आवश्यक)।
नोट: अगर मैं लिंक्ड सूची दृष्टिकोण का उपयोग, मैं शायद सेट के लिए निम्नलिखित जटिलताओं मेरी संचालन करना होगा:
- init: हे (1);
- नष्ट: ओ (एन);
- डालें: ओ (एन);
- हटाएं: ओ (एन);
- संघ: ओ (एन * एम);
- चौराहे: ओ (एन * एम);
- अंतर: ओ (एन * एम);
- समेकक: ओ (एन);
- जारीकर्ता: ओ (एन * एम);
- सेटसेक्वल: ओ (एन * एम);
O (n * मी) विशेष रूप से विशाल डेटा के लिए बड़ा करने के लिए एक छोटे से हो सकता है लगता है ... मेरे सेट लागू करने के लिए एक तरह से और अधिक कुशल है?
बाहर के साथ जानते हुए भी कि तुम क्या यह मदद करने के लिए मुश्किल है को प्राप्त करने के लिए इच्छुक रहे हैं। यदि आप सिर्फ संरचना जैसे सरणी चाहते हैं तो वेक्टर शायद जाने का आपका तरीका है।मैंने माना है कि आप वास्तव में सी ++ का उपयोग कर रहे हैं। एसटीएल में सामानों का भार होता है जो आपकी मदद करने के लिए बाध्य है। – thecoshman
सी ++ एक संतुलित बाइनरी पेड़ के रूप में अपनी सेट कक्षा लागू करता है - यह शायद एक अच्छा विकल्प है। –
@thecoshman जैसा कि उनके प्रश्न को सी के रूप में टैग किया गया था, मुझे लगता है कि हम मान सकते हैं कि वह सी ++ का उपयोग नहीं कर रहा है। –