(एक मैं) n धनात्मक वास्तविक संख्या का एक अनुक्रम, है, और इसकी आंशिक योग अनुक्रम, पर विचार करें (रों मैं)। यह देखते हुए एक नंबर एक्स ε (0, रों n], हम खोजने के लिए मैं ऐसी है कि रोंमैं -1 < एक्स ≤ रों मैं। इसके अलावा हम i के सभी आंशिक रकम अपडेट किए बिना किसी को बदलने में सक्षम होना चाहते हैं। दोनों ओ में किया जा सकता है (लॉग n) i के पत्ते नोड मानों के रूप में, और गैर-पत्ती नोड्स के मान संबंधित बच्चों के मूल्यों का योग होने के साथ एक बाइनरी पेड़ का उपयोग करके समय। यदि n ज्ञात और निश्चित है, तो पेड़ को स्वयं संतुलन नहीं होना चाहिए और एक रैखिक सरणी में कुशलतापूर्वक संग्रहीत किया जा सकता है। इसके अलावा, अगर एन दो की शक्ति है, केवल 2 एन - 1 सरणी तत्वों की आवश्यकता है। ब्लू एट अल।, फिज देखें। रेव ई (1 99 5), पीपी। आर 867-आर 868 एक आवेदन के लिए। समस्या की सामान्यता और समाधान की सादगी को देखते हुए, मुझे आश्चर्य है कि क्या इस डेटा संरचना का एक विशिष्ट नाम है और क्या मौजूदा कार्यान्वयन (अधिमानतः सी ++ में) हैं। मैंने इसे पहले से ही लागू कर लिया है, लेकिन स्क्रैच से डेटा स्ट्रक्चर लिखना हमेशा मुझे पहिया को फिर से शुरू करने जैसा लगता है- अगर कोई पहले ऐसा नहीं करता तो मुझे आश्चर्य होगा।द्विआधारी पेड़ कि आंशिक योग संग्रहीत करता है: नाम और मौजूदा कार्यान्वयन
7
A
उत्तर
4
Fenwick tree (उर्फ बाइनरी अनुक्रमित पेड़) एक डेटा संरचना है जो तत्वों का अनुक्रम बनाए रखती है, और ओ (लॉगन) समय में लगातार तत्वों की किसी भी श्रृंखला के संचयी योग की गणना करने में सक्षम है। किसी एकल तत्व के मूल्य बदलने के लिए ओ (लॉगऑन) समय भी आवश्यक है।
4
इसे कार्यात्मक प्रोग्रामिंग में finger tree के रूप में जाना जाता है लेकिन स्पष्ट रूप से अनिवार्य भाषाओं में कार्यान्वयन होते हैं। लेखों में blog post का एक लिंक है जो सी # में इस डेटा संरचना के कार्यान्वयन को समझाता है जो आपके लिए उपयोगी हो सकता है।
संबंधित मुद्दे
- 1. द्विआधारी खोज पेड़
- 2. में आदेश द्विआधारी पेड़
- 3. बनाना द्विआधारी खोज पेड़
- 4. एक बाइनरी पेड़ का लंबवत योग
- 5. द्विआधारी खोज बनाम बाइनरी खोज पेड़
- 6. सेगमेंट पेड़ जावा कार्यान्वयन
- 7. सी ++ अंतराल पेड़ एल्गोरिदम कार्यान्वयन
- 8. MySQL अद्यतन करता है, तो मूल्य है कि मौजूदा मूल्य
- 9. कोई जावा हैश पेड़ कार्यान्वयन?
- 10. जावास्क्रिप्ट बाइनरी खोज पेड़ कार्यान्वयन
- 11. सामान्यीकृत प्रत्यय पेड़ जावा कार्यान्वयन
- 12. कॉम्पैक्ट ऑफ़सेट पॉइंटर, मौजूदा कार्यान्वयन?
- 13. एक स्पैनिंग पेड़ ढूंढना जो नोड्स की गहराई के योग को कम करता है
- 14. मौजूदा बेंटले-ओटमैन एल्गोरिदम कार्यान्वयन
- 15. द्विआधारी पेड़ में 4 या 5 संख्याएं डालने पर आउटपुट
- 16. जेनेरिक जावा वर्ग है कि संग्रहीत करता comparables
- 17. गिट क्यों सोचता है कि मेरी सीएस फाइल द्विआधारी है?
- 18. संग्रहीत प्रक्रिया है कि एक क्रिस्टल रिपोर्ट
- 19. एक प्रत्यय पेड़ और उपयोग के लघु, जावा कार्यान्वयन?
- 20. जावा वाणिज्यिक-अनुकूल आर-पेड़ कार्यान्वयन?
- 21. केडी पेड़: पत्तियों और नोड्स में संग्रहीत बनाम पत्तियों में संग्रहीत डेटा
- 22. माइस्क्ल बी + ट्री कार्यान्वयन
- 23. Linq और सशर्त योग
- 24. लाल-काले पेड़ कैसे काम करता है?
- 25. ओएसजीआई कॉन्फ़िगरेशन व्यवस्थापक सेवा के मौजूदा कार्यान्वयन?
- 26. सी ++: बाइनरी पेड़ के सभी नोड मानों का योग
- 27. मौजूदा संग्रहीत प्रक्रिया से संपूर्ण डेटासेट बनाएं
- 28. योग
- 29. द्विआधारी फाइलों के साथ गिट सौदे कैसे करता है?
- 30. क्या वीईबी पेड़ के लिए सी ++ कार्यान्वयन है?