बेस्ट आत्म संतुलन नोड्स की एक बड़ी संख्या के त्वरित प्रविष्टि के लिए BST

वोट
8

मैं पर कई आत्म संतुलन विवरण प्राप्त कर लिया है BSTकई स्रोतों के माध्यम से है, लेकिन मैं नहीं मिला है किसी भी अच्छे विवरण की जानकारी देने वाली एक सबसे अच्छा विभिन्न स्थितियों में उपयोग करने के लिए है (या यह वास्तव में कोई फर्क नहीं पड़ता है)।

मैं एक चाहते BSTकि एक करोड़ नोड्स से अधिक भंडारण के लिए इष्टतम है। नोड्स की प्रविष्टि के आदेश मूल रूप से यादृच्छिक है, और मैं नोड्स हटाने की आवश्यकता कभी नहीं होगा, तो प्रविष्टि समय केवल एक चीज है कि अनुकूलन की आवश्यकता होती है।

मैं इतना है कि मैं जल्दी से देख सकते हैं कि पिछले एक विन्यास पहले से ही सामना करना पड़ा गया है, एक पहेली खेल में पहले देखी खेल राज्यों स्टोर करने के लिए इसका इस्तेमाल करने का इरादा रखते हैं।

05/08/2008 को 16:40
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


4 जवाब

वोट
3

क्यों एक का उपयोग BSTबिल्कुल? अपने विवरण से एक शब्दकोश, बस के रूप में अच्छी तरह से काम करेंगे नहीं तो बेहतर।

एक प्रयोग करने के लिए एकमात्र कारण BSTयदि आप कुंजी के लिए, कंटेनर की सामग्री की सूची चाहता था होगा। की तरह आपको लगता है कि, जिस स्थिति में हैश तालिका के लिए जाना क्या करना चाहते हैं यह निश्चित रूप से नहीं लग रहा। O(1)प्रविष्टि और खोज, हटाने के बारे में कोई चिंता नहीं, क्या बेहतर हो सकता है?

29/08/2008 को 01:10
का स्रोत उपयोगकर्ता

वोट
3

लाल-काले प्रविष्टि भारी अनुप्रयोगों के लिए AVL से बेहतर है। आप अपेक्षाकृत वर्दी लुक-अप का पूर्वानुमान है, तो लाल-काले जाने का रास्ता है। आप एक अपेक्षाकृत असंतुलित लुक-अप जहां अधिक हाल ही में देखी तत्वों अधिक फिर से देखा जा करने की संभावना है पूर्वानुमान हैं, तो आप उपयोग करना चाहते हैं टेढ़ा पेड़

05/08/2008 को 16:59
का स्रोत उपयोगकर्ता

वोट
0

दो आत्म संतुलन BSTरों मैं के साथ सबसे परिचित हूँ लाल-काले होते हैं और AVL, इसलिए किसी भी अन्य समाधान बेहतर हैं अगर मैं कुछ के लिए यह नहीं कह सकते, लेकिन जैसा कि मुझे याद है, लाल-काले तेजी से प्रविष्टि और धीमी पुनः प्राप्ति की तुलना में है AVL

तो अगर प्रविष्टि पुनः प्राप्ति तुलना में एक उच्च प्राथमिकता है, लाल-काले एक बेहतर समाधान हो सकता है।

05/08/2008 को 16:50
का स्रोत उपयोगकर्ता

वोट
-2

[हैश टेबल है] हे (1) प्रविष्टि और खोज

मुझे लगता है कि यह गलत है।

सबसे पहले, यदि आप keyspace की सीमा सीमित होने के लिए आपको एक सरणी में तत्वों की दुकान और एक हे (1) रैखिक स्कैन कर सकता है। या फिर आप सरणी shufflesort सकते हैं और फिर हे (1) की उम्मीद समय में एक रेखीय स्कैन करते हैं। जब सामान परिमित है, सामान आसानी से हे है (1)।

तो मान लें कि आपका हैश तालिका किसी भी मनमाने ढंग से बिट श्रृंखला के स्टोर करेगा करते हैं; यह रूप में लंबे समय के रूप में वहाँ चाबियों का एक अनंत सेट, जिनमें से प्रत्येक परिमित हैं बहुत ज्यादा नहीं फर्क पड़ता है,। तो फिर तुम, किसी भी प्रश्न और सम्मिलन इनपुट के सभी बिट्स को पढ़ने के किसी और मैं एक खाली हैश और y1, जहां Y0 और y1 एक बिट स्थिति है जो आप पर नहीं लगते पर अलग पर क्वेरी में Y0 डालने के लिए किया है।

लेकिन मान लीजिए कि कुंजी लंबाई एक पैरामीटर नहीं हैं। अपने प्रविष्टि और खोज हे लेते हैं (1), विशेष रूप से हैशिंग में लेता हे (1) समय है, जिसका अर्थ है कि आप केवल हैश फंक्शन (जिसमें से वहाँ की संभावना है से उत्पादन की एक निश्चित राशि को देखो होना केवल एक सीमित उत्पादन, दी )।

इसका मतलब है कि परिमित कई बाल्टी के साथ, वहाँ तार जो सभी एक ही हैश मान है की एक अनंत सेट होना चाहिए। मैं एक बहुत सम्मिलित मान लीजिए, यानी ω (1), उन लोगों में से है, और क्वेरी करने शुरू करते हैं। इसका मतलब यह है अपने हैश तालिका कुछ अन्य हे (1) प्रविष्टि / खोज तंत्र पर वापस गिर करने के लिए अपने प्रश्नों का जवाब नहीं है। कौन सा है, और यही कारण है कि बस सीधे का उपयोग नहीं?

01/02/2009 को 13:49
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more