का समर्थन करता है मैं तारों के हैश मानों का उपयोग करके स्थान सहेजने की कोशिश कर रहा हूं। मेरे पास एक बहुत ही विशिष्ट आवश्यकता है, जिसका सरलीकृत विवरण निम्नानुसार है:क्या कोई स्ट्रिंग हैश फ़ंक्शन है जो एच (x) + h (y) = h (x + y)
मेरे पास स्ट्रिंग मानों के दो सेट हैं और रनटाइम में एक मान प्रदान किया जाता है। मुझे दूसरे सेट से सभी तारों की एक सूची प्राप्त करने की आवश्यकता है जो पहले सेट से स्ट्रिंग के साथ शुरू होता है और क्वेरी मान के साथ समाप्त होता है। यहाँ एक काफी सरल बनाया प्रतिनिधित्व और वर्णन है:
set1:
my_test_val_1
my_test_val_2
set2:
my_test_val_1_extended_to_another_value
my_test_val_2_extended_as_well
मेरा उद्देश्य के रूप में इन सेटों की हैश मान रखने के लिए है:
set1:
hash(my_test_val_1)
...
set2:
hash(my_test_val_1_extended_to_another_value)
अंतरिक्ष और जब '_extended_to_another_value' एक प्रश्न के रूप में आता पर बचाने के लिए, ऐसा करने के लिए योग पर वितरण संपत्ति के साथ हैश समारोह का उपयोग करें:
hash(my_test_val_1) + hash('_extended_to_another_value') = hash_value_to_search
मेरे खोज एक हैश समारोह है कि इस संपत्ति सबसे पी में नाकाम रही है का समर्थन करता है खोजने के लिए प्रयास करता है robably कारण खोज के लिए सही कीवर्ड का उपयोग नहीं है, इसलिए करने के लिए भले ही आप क्या मैं ऊपर वर्णन कर रहा हूँ के लिए सही शब्दों का वर्णन कर सकते हैं, यह मदद मिलेगी
आप * सिर्फ * हैश रखने पर निर्भर कर रहे हैं:
यहाँ ऑनलाइन हैश डेटाबेस का एक उदाहरण है? हैश टकराव से निपटने के लिए आपकी योजना क्या है? –
परिणामी हैश फ़ंक्शन से आपको किन गुणों की आवश्यकता होती है? अंतिम हैश के लिए कितने बिट्स का उपयोग किया जा सकता है? – dhke
"दूसरे सेट से सभी स्ट्रिंग्स की सूची प्राप्त करने की आवश्यकता है जो पहले सेट से स्ट्रिंग के साथ शुरू होता है और क्वेरी मान के साथ समाप्त होता है।" [क्या आप एक ट्राई की तलाश में हैं?] (Http://en.wikipedia.org/wiki/Trie) – dasblinkenlight