क्या आपके पास लिस्प में हैश टेबल या डिक्ट्स हो सकती है? मेरा मतलब डेटा संरचना है जो जोड़े (कुंजी, मान) का संग्रह है जहां कुंजी का उपयोग करके मानों को जोड़ा जा सकता है।क्या आपके पास लिस्प में हैश टेबल हो सकती है?
उत्तर
लिस्प में इसे आमतौर पर एक संपत्ति सूची कहा जाता है।
निश्चित रूप से। यहाँ SRFI योजना में मानक हैश तालिका पुस्तकालयों को परिभाषित है:
- कॉमन लिस्प hash tables है।
(setq a (make-hash-table))
(setf (gethash 'color a) 'brown)
(setf (gethash 'name a) 'fred)
(gethash 'color a) => brown
(gethash 'name a) => fred
(gethash 'pointy a) => nil
संपत्ति सूचियों प्रदर्शन-परक उद्देश्य की बहुत छोटी उदाहरण के लिए अच्छे हैं, लेकिन किसी भी असली के लिए की जरूरत है उनके प्रदर्शन भी बेहद कम है, तो हैश तालिकाओं का उपयोग।
यदि आप आम लिस्प का जिक्र कर रहे हैं, hash tableshash-table
नामक एक प्रकार द्वारा प्रदान किया जाता है।
Using these tables समारोह make-hash-table
के साथ एक बनाने, gethash
साथ मूल्यों को पढ़ने के लिए, उन्हें setf
के साथ मिलकर एक place रूप gethash
का उपयोग करके की स्थापना, और remhash
साथ प्रविष्टियां निकालने शामिल है।
कुंजी मान से हैश कोड से मैपिंग फ़ंक्शन sxhash
फ़ंक्शन के साथ हैश तालिकाओं के बाहर उपलब्ध है।
Clojure एक अंतर्निहित नक्शा प्रकार का है:
user=> (def m {:foo "bar" :baz "bla"})
#'user/m
user=> (m :foo)
"bar"
कॉमन लिस्प कि (कुंजी मान भंडारण) करने के लिए कम से कम चार अलग अलग तरीकों से किया है:
- संपत्ति सूचियां (: foo 1: बार 2)
- assoc सूचियां ((: foo। 1) (: बार 2))
- हैश टेबल
- क्लोज ऑब्जेक्ट्स (स्लॉट-वैल्यू फू 'बार) प्राप्त करने के लिए और (सेटफ (स्लॉट-वैल्यू फू' बार) 42) सेट करने के लिए। स्लॉट नाम को एक चर में संग्रहीत किया जा सकता है: (चलो ((नाम 'बार)) (स्लॉट-मान foo नाम))।
सरल उपयोग assoc सूचियों या संपत्ति सूचियों के लिए ठीक है। बड़ी संख्या में तत्वों के साथ उन्हें 'धीमा' मिलता है। हैश टेबल 'तेज़' हैं लेकिन उनके अपने ट्रेडऑफ हैं। CLOS ऑब्जेक्ट्स का उपयोग कई अन्य ऑब्जेक्ट सिस्टमों में किया जाता है। चाबियां एक सीएलओएस कक्षा में परिभाषित स्लॉट-नाम हैं। हालांकि प्रोग्राम वेरिएंट करना संभव है जो एक्सेस पर स्लॉट जोड़ और निकाल सकते हैं।
एक प्रणाली हैश फंक्शन (आमतौर पर SXHASH) का उपयोग करें कि वहाँ में निर्मित है hash tables, और आप (अलग समानता चेकर्स के एक जोड़े EQ, EQL, बराबर या EQUALP हो सकता है जहाँ आप क्या करने पर विचार के आधार पर "एक ही" होने के लिए कुंजी)।
यदि अंतर्निहित हैश टेबल पर्याप्त नहीं हैं, तो a generic hash table लाइब्रेरी भी है। यह "हैश जेनरेटर"/"कुंजी तुलनित्र" की किसी भी जोड़ी को स्वीकार करेगा और आपको एक हैश टेबल बनाता है। हालांकि, यह अच्छी तरह से काम करने के लिए एक अच्छा हैश फ़ंक्शन रखने पर निर्भर करता है और यह लिखना जरूरी नहीं है।
- 1. क्या कोई डेटाबेस है कि आपके पास डेटाबेस में कितनी टेबल हो सकती है?
- 2. क्या आपके पास बहुत अधिक संग्रहित प्रक्रियाएं हो सकती हैं?
- 3. क्या हैश टेबल वास्तव में ओ (1) हो सकता है?
- 4. क्या आपके पास मोंगोडीबी में संग्रह स्तर की अनुमति हो सकती है?
- 5. क्या आपके पास विम में फ़ाइल प्रकार विशिष्ट कुंजी बाइंडिंग हो सकती है?
- 6. क्या आपके पास अपनी सेटिंग्स फ़ाइल में एक सामान्य सूची (टी) हो सकती है?
- 7. क्या क्यूटी में टेबल हेडर में मेरे पास एक से अधिक पंक्ति हो सकती है?
- 8. क्या मेरे पास विम में मल्टीलाइन स्टेटलाइन हो सकती है?
- 9. मुझे लुआ में हैश टेबल में कुंजियों की संख्या कैसे प्राप्त हो सकती है?
- 10. क्या आपके पास <option> तत्व में एकाधिक लाइनें हो सकती हैं?
- 11. आपके पास बहुत सारी टेबल कब हैं?
- 12. क्या आपके पास अच्छी डीबी स्कीमा में समान संरचना वाले 2 टेबल हो सकते हैं?
- 13. एसक्यूएल क्या मेरे पास एक टेबल पर "सशर्त रूप से अद्वितीय" बाधा हो सकती है?
- 14. मेरे पास सबसे लंबी स्ट्रिंग क्या हो सकती है?
- 15. क्या मेरे पास यह सामान्य [] संपत्ति हो सकती है?
- 16. क्या मेरे पास कुछ संस्करण संख्या सलाह हो सकती है?
- 17. एक सामान्य लिस्प (एसबीसीएल) हैश-टेबल लिखें, या वैकल्पिक
- 18. क्या हमारे पास आभासी स्थैतिक विधि हो सकती है? (C++)
- 19. क्या आपके पास एंड्रॉइड/ग्रहण
- 20. क्या आपके पास "धीमा" समय है?
- 21. क्या आपके कोड के कारण पायथन में वास्तविक मेमोरी लीक हो सकती है?
- 22. क्या आपके पास एज़ूर एसी
- 23. शक्तिशक्ति में हैश टेबल
- 24. क्या जीसीसी में नकली हो सकती है?
- 25. आपके पास प्रति Azure उदाहरण
- 26. क्या टिंकर के पास टेबल विजेट है?
- 27. पायथन हैश टेबल डिज़ाइन
- 28. एक नई विंडो में खोलने के लिए आपके पास SharePoint लिंक सूची डिफ़ॉल्ट कैसे हो सकती है?
- 29. क्या आपके पास रेल में तारीख के बिना समय हो सकता है?
- 30. क्या आपके पास गतिशील भाषाओं में "गतिशील" बहुत अधिक हो सकता है?
नहीं, संपत्ति सूचियां कुछ अलग हैं। सीएलएचएस शब्दावली देखें: http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_p.htm#property_list –
हां और नहीं - कोई संपत्ति सूची हैश तालिका नहीं है, लेकिन यह एक शब्दकोश-जैसी प्रदान करती है इंटरफ़ेस (और उसका प्रश्न निर्दिष्ट करता है "... डेटा संरचना जो जोड़ों (कुंजी, मान) का संग्रह है जहां चाबियों का उपयोग करके मानों को जोड़ा जा सकता है।" एक संपत्ति सूची निश्चित रूप से बिल्कुल प्रदान करती है, हालांकि बिना किसी श्वास के (या उसके पास कुछ भी प्रदर्शन...) –