BST, हैशिंग, कोशिश करता है और नक्शे के बीच अंतर

वोट
4

मैं प्रयास पर कुछ ब्लॉग और ट्यूटोरियल पढ़ें, hashing, मानचित्र (एसटीएल) और BST। मैं बहुत उलझन में है, जिसमें से एक का उपयोग करने के लिए बेहतर है और जहां है हूँ। मुझे पता है कि इस तरह के फर्क के बीच उन्हें बकवास हैं क्योंकि वे सब कार्यान्वयन निर्भर कर रहे हैं कर रहे हैं। क्या आप मुझे अधिक विशिष्ट बता सकते हैं और भूल नहीं करते कृपया जटिलता (सबसे खराब, औसत, और सबसे अच्छा मामले) का उल्लेख।

अग्रिम में धन्यवाद...

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


1 जवाब

वोट
6

BST द्विआधारी खोज वृक्ष है। यह एक शब्दकोश के लिए प्रयोग किया जाता है। BST संरचना पर कोई सीमाएं हैं, और इस तरह एक खोज / प्रविष्टि / विलोपन हे (एन) सबसे खराब स्थिति है।

मानचित्र [एसटीएल पर] भी एक शब्दकोश है, और वास्तव में [एसटीएल पर] एक लाल-काले का पेड़ है। यह BST एक विशेष प्रकार का है, जो इसकी वजह से, संरचनाओं पर सीमाएं हैं है, सबसे ज्यादा मामले खोज / सम्मिलित करें / हटाएं है ओ (logn)।

hashing हैश तालिका शब्दकोश एक अलग प्रकार का है, [अच्छा हैश फंक्शन के साथ] एक हैश तालिका का लाभ हे (1) खोज / हटाने / डालने के लिए औसत समय है। हालांकि, सबसे ज्यादा मामले O (n) है, जो होता है अगर बहुत ज्यादा तत्वों टकराने और / या जब एक मिलावत की जरूरत है [जब लोड बैलेंस बहुत अधिक है, हम एक बड़ा सरणी का आवंटन, और मिश्रित सभी तत्वों के लिए] है।

कोशिश करता स्ट्रिंग्स के लिए विशेष कर रहे हैं। सभी ऑप्स हैं हे (एस) जहां एस स्ट्रिंग की लंबाई है। यह दूसरों पर लाभ है [जब तार के साथ काम कर] क्या आप वैसे भी स्ट्रिंग पढ़ने की जरूरत है, इसलिए जटिलता अगर एक Mapउदाहरण के लिए, जब तार के साथ काम कर, वास्तव में हे (एस * n * logn) है।

कब इस्तेमाल करें?
एक Map[या किसी अन्य संतुलित पेड़] लगभग हमेशा तो एक बेहतर विकल्प एक नियमित रूप से किया जाना चाहिए BST
hash tableएक अच्छा विकल्प है जब आप औसत कम समय चाहते हैं, लेकिन कोई परवाह नहीं है कि कुछ समय आप प्रदर्शन मिश्रित की वजह से नुकसान होगा है, और कुछ मामलों में टकराव हो सकता है।
Trieआमतौर पर तार के लिए एक अच्छा शब्दकोश है।

17/08/2011 को 08:54
का स्रोत उपयोगकर्ता

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