मैं फ्लोट की तुलना में शामिल सभी समस्याओं के बारे में अच्छी तरह से अवगत हूं। इस सवाल का यही कारण है।
मैं 3 डी वैक्टर (3 फ्लोट्स - एक्स, वाई, जेड) मानों के लिए एक तेज हैश तालिका बनाने के लिए देख रहा हूं। यह माना जा सकता है कि वेक्टर की लंबाई हमेशा 1.0 होती है (sqrt(x*x+y*y+z*z)
1.0)हैश एक फ्लोट वेक्टर के लिए अच्छा तरीका है?
अनिवार्य रूप से इसका मतलब है कि मैं एक हैश फ़ंक्शन ढूंढ रहा हूं जो मानों को लेता है जो लगभग उसी हस्ताक्षरित int मान के बराबर होते हैं और संबंधित समानता ऑपरेटर यह सच है अगर हैश मान बराबर (जरूरी नहीं केवल नहीं है अगर वे बराबर हैं) कर रहे हैं
संपादित -
गलत सकारात्मक (यानी वैक्टर कि अलग हैं, लेकिन एक ही बाल्टी के लिए नक्शे) एक के बाद दिया जाता है यह एक हैश टेबल है।
झूठी नकारात्मक (यानी वेक्टर जो निकट हैं लेकिन अलग-अलग बाल्टी के लिए नक्शा) अवांछित हैं लेकिन ऐसा लगता है कि उनसे बचने का कोई तरीका नहीं है। मेरे मामले में, वे कुल टूटने का कारण नहीं बनेंगे, केवल कुछ डेटा डुप्लिकेशंस जो मुझे जीना होगा।
क्या एक दिलचस्प सवाल है! –
क्या आपने निम्न सामान्य उद्देश्यों में से एक या अधिक का उपयोग करने पर विचार किया है: http://www.partow.net/programming/hashfunctions/index.html वे बेहद तेज़ और कुशल हैं। –
संबंधित: [मुझे 3 डी वेक्टर का हैश वैल्यू कैसे मिल सकता है?] (Http://stackoverflow.com/questions/2582340/how-do-i-find-hash-value-of-a-3d-vector) – legends2k