मैं एक अच्छा पिवट तत्व चुनने के लिए the Select algorithm पर आधारित एक त्वरित-संस्करण कार्यान्वयन पर काम कर रहा हूं। परंपरागत ज्ञान सरणी को 5-तत्व ब्लॉक में विभाजित करना प्रतीत होता है, प्रत्येक का औसत लेता है, और उसके बाद परिणामस्वरूप औसत लोगों को "मध्यस्थों का औसत" प्राप्त करने के लिए समान अवरोध दृष्टिकोण लागू करता है।औसत चयन के इष्टतम औसत - 3 तत्व ब्लॉक बनाम 5 तत्व ब्लॉक?
मुझे भ्रमित करने वाला क्या है 3-तत्व ब्लॉक के बजाय 5-तत्व ब्लॉक की पसंद है। 5-तत्व ब्लॉक के साथ, मुझे लगता है कि आप n/4 = n/5 + n/25 + n/125 + n/625 + ...
मेडियन-ऑफ -5 ऑपरेशंस करते हैं, जबकि 3-तत्व ब्लॉक के साथ, आप n/2 = n/3 + n/9 + n/27 + n/81 + ...
मध्य-ऑफ-3 ऑपरेशंस करते हैं। चूंकि प्रत्येक औसत -5 -5 की तुलना 6 तुलना होती है, और प्रत्येक औसत-3-3 की तुलना 2 तुलना होती है, जिसके परिणामस्वरूप 3*n/2
औसत-से -5 और n
माध्यमिक-3 का उपयोग करके तुलनाओं की तुलना में तुलना करता है।
क्या कोई इस विसंगति को समझा सकता है, और 5-तत्व ब्लॉक का उपयोग करने के लिए प्रेरणा क्या हो सकती है? मैं इन एल्गोरिदम को लागू करने के लिए सामान्य प्रथाओं से परिचित नहीं हूं, इसलिए हो सकता है कि आप कुछ कदम उठा सकें और फिर भी एक अच्छा पिवट सुनिश्चित करने के लिए औसत के लिए "पर्याप्त बंद करें" प्राप्त करें, और यह दृष्टिकोण 5-तत्व ब्लॉक के साथ बेहतर काम करता है ?
जो इसे सुलझता है। धन्यवाद! –
बस जिज्ञासा, क्या आप स्पष्ट कर सकते हैं कि "टी (एन) ≤ टी (एन/5) + टी (0.7 एन) + सीएन" _ निम्नलिखित _ "टी (एन) ≤ सी * एन * (1 + (9/10) + (9/10)^2 + ...) "_? यही वह हिस्सा है जो मुझे विकिपीडिया लेख और आपके पेपर में नहीं मिलता है। धन्यवाद! –
@ निकिता: इसे देखने का एक तरीका यह है कि इसे टी (एन) <= टी (7 एन/10) + सीएन + सीएन/5 + सीएन/25 + के रूप में लिखना है .... फिर इसे टी (एन) < = सीएन + (7 सीएन/10 + सीएन/5) + (4 9 सीएन/100 + सीएन/25) + ... + <= सीएन + सीएन * 9/10 + सीएन * (9/10)^2 + ... –