मान लीजिए कि मेरी एक सूची है, जिसे elements
कहा जाता है, जिनमें से प्रत्येक कुछ बूलियन संपत्ति p
को संतुष्ट या संतुष्ट नहीं करता है। मैं उन तत्वों में से एक चुनना चाहता हूं जो समान वितरण के साथ यादृच्छिक रूप से p
को संतुष्ट करते हैं। मुझे समय से पहले पता नहीं है कि इस संपत्ति को कितनी वस्तुएं संतुष्ट करती हैं p
।कुछ संपत्ति को संतुष्ट यादृच्छिक सरणी तत्व चुनें
निम्नलिखित कोड इस
pickRandElement(elements, p)
randElement = null
count = 0
foreach element in elements
if (p(element))
count = count + 1
if (randInt(count) == 0)
randElement = element
return randElement
(randInt(n)
रिटर्न 0 <= k < n
साथ एक यादृच्छिक पूर्णांक k
।)
मैं सोचा होगा पर काम करता है और "समान वितरण के साथ" परस्पर अनन्य थे, मैं क्या याद आ रही है "यादृच्छिक द्वारा" है? –
@ बाइनरी: वह बस इसका मतलब है कि इसे एक उचित यादृच्छिक संख्या होना चाहिए। पी को संतुष्ट करने वाले सभी तत्वों में हर बार यादृच्छिक रूप से चुने जाने का बराबर मौका होना चाहिए। यदि यह सत्य है, तो उन्हें पर्याप्त समय के बराबर वितरण के साथ खींचा जाएगा। – JoeCool
यादृच्छिक वितरण में आकार के सभी प्रकार हो सकते हैं जिन्हें तत्वों के एक समूह या दूसरे के प्रति भारित किया जा सकता है। यहां पॉल एक भी (या वर्दी) वितरण के बारे में पूछ रहा है जहां प्रत्येक तत्व में चयनित होने की समान संभावना है। –