मैं बस सोच रहा हूं कि उस गणना के लिए सबसे अच्छा तरीका क्या है। आइए मान लें कि मेरे पास मानों और सीमाओं की सरणी की एक इनपुट सरणी है - मैं सीमाओं सरणी में प्रत्येक सेगमेंट के लिए आवृत्ति वितरण की गणना/बकेटेट करना चाहता था।सी # में सरणी के लिए आवृत्ति वितरण की गणना करने का सबसे तेज़ तरीका क्या है?
क्या इसके लिए बाल्टी खोज का उपयोग करना अच्छा विचार है?
वास्तव में मुझे लगता है कि सवाल Calculating frequency distribution of a collection with .Net/C#
पाया लेकिन मुझे समझ में नहीं आता कि कैसे उस उद्देश्य के लिए बाल्टी का उपयोग करने के कारण प्रत्येक बकेट के आकार मेरी स्थिति में अलग अलग हो सकता है।
संपादित करें: सब चर्चा के बाद मैं आंतरिक/बाहरी पाश समाधान है, लेकिन अभी भी मैं एक शब्दकोश के साथ आंतरिक पाश समाप्त करने के लिए उस मामले में हे (एन) प्रदर्शन प्राप्त करना चाहते हैं अगर मैं सही ढंग से समझ में आ रहा इनपुट हैश करने के लिए की जरूरत है एक बाल्टी सूचकांक में मूल्य। तो हमें ओ (1) जटिलता के साथ किसी प्रकार का हैश फ़ंक्शन चाहिए? कोई विचार यह कैसे करना है?
आप सीमाओं सरणी थोड़ा बेहतर वर्णन कर सकते हैं? क्या विभिन्न सीमाओं के बीच कोई संबंध है (यानी वे अनुक्रमिक हैं) या वे आकार और "स्थान" में पूरी तरह से यादृच्छिक हैं? मुझे लगता है कि सीमाएं सरणी पूरी तरह से संभावित मूल्यों की सीमा को कवर करती है - क्या यह सच है? इसके अलावा, मुझे लगता है कि कोई ओवरलैप नहीं है - है ना? –
बड़े "ओ" या छोटे कोड के अर्थ में सबसे तेज़ है? एक साधारण दृष्टिकोण स्वयं को एक फ़ंक्शन Func लिखना होगा और इसे लिंक के साथ उपयोग करें। समूह इसे "बाल्टी" में समूहित करने के लिए - लेकिन ऐसा करने के लिए कम्प्यूटेशनल तेज़ तरीके हो सकते हैं। –
Carsten
हां, आप सही हैं। सीमा मूल्य मूल्य में monotonically बढ़ रहे हैं। वे कोई ओवरलैप नहीं हैं और संभावित मूल्यों की सीमा को कवर करते हैं। तो उदाहरण के लिए: 0, 10, 50, 100, 120. – Andrey