मैं गतिशील भूलभुलैया का एक खेल लिख रहा हूं जिसमें हर बार भूलभुलैया की संरचना बदल जाएगी (कुछ दरवाजे बंद हो जाएंगे और कुछ दरवाजे खुल जाएंगे। एचपी 4 में ट्रावाज़ार्ड की तरह कुछ)। क्या कोई मुझे बता सकता है कि इसका प्रतिनिधित्व करने के लिए कौन सी डेटा संरचना सबसे उपयुक्त होगी?डेटा संरचना एक भूलभुलैया का प्रतिनिधित्व करने के लिए
उत्तर
क्या भूलभुलैया आयताकार ग्रिड होगी? कुछ और?
यह भी इस बात पर निर्भर करता है कि मानचित्र में कितनी उपयोगी जानकारी होगी (पास या ऑब्जेक्ट्स)।
यदि यह एक आयताकार ग्रिड है और अधिकांश ग्रिड वर्गों में कुछ शामिल होगा, तो एक अच्छी डेटा संरचना एक 2 डी सरणी (सरणी सरणी) है, जिसमें 1 पंक्ति का प्रतिनिधित्व करने वाले सरणी के प्रत्येक तत्व के साथ, 1 सेल का प्रतिनिधित्व करने वाले आंतरिक सरणी के प्रत्येक तत्व उस पंक्ति में, जो एक वस्तु है जिसमें उस सेल से संबंधित डेटा होता है (जो पड़ोसी कोशिकाओं को स्थानांतरित किया जा सकता है, सेल में क्या होता है, क्या इसमें कोई चरित्र है)।
हालांकि, अगर भूलभुलैया आयताकार नहीं है, या यदि बड़ी भूलभुलैया में अधिकांश कोशिकाओं में वास्तव में कोई उपयोगी नहीं होता है (जैसे गैर-पास करने योग्य ब्लॉक), तो एक अच्छी डेटा संरचना एक ग्राफ है।
ग्राफ़ का प्रत्येक वर्टेक्स एक सेल है जो पारगम्य है। किनारों से कोशिकाओं के जोड़े का प्रतिनिधित्व होता है जिन्हें आप स्थानांतरित कर सकते हैं (यदि आप केवल कुछ दरवाजे एक तरफ हैं तो आप इसे एक निर्देशित ग्राफ बना सकते हैं)। प्रत्येक vertex/सेल एक वस्तु है जिसमें उस सेल पर जानकारी होती है (उदाहरण के लिए भौतिक भूलभुलैया में इसका स्थान, आदि ...)।
सरणी-ऑफ-एरे संरचना लाभ यह है कि इसे आकर्षित करना बहुत आसान है, और प्रक्रिया के लिए काफी सीधे आगे बढ़ना (कोई भी चाल केवल इंडेक्स में/डी-क्रिएशन है)। दीवारों को जोड़ना/निकालना उतना ही आसान है जितना 2 पड़ोसी कोशिकाओं के सरणी तत्वों में डेटा बदलना।
ग्राफ़ संरचना लाभ यह है कि अगर भूलभुलैया पास बहुत दुर्लभ होती है तो यह बहुत कम जगह लेती है (उदाहरण के लिए फ़ील्ड का केवल 1/100 वां पास होता है); यह एकमात्र संरचना है जो यादृच्छिक (उदा। गैर-आयताकार-ग्रिड) ज्यामिति का प्रतिनिधित्व कर सकती है, और प्रसंस्करण काफी सरल है। दीवारों को जोड़ना/निकालना आसान है क्योंकि यह सिर्फ ग्राफ में किनारे जोड़ रहा है।
- 1. स्तरित सर्कल का प्रतिनिधित्व करने के लिए चालाक डेटा संरचना
- 2. एक यादृच्छिक दुनिया के लिए डेटा संरचना
- 3. एक ग्राफ का प्रतिनिधित्व करने के
- 4. आप डेटा संरचना में संगीत का प्रतिनिधित्व कैसे करते हैं?
- 5. टेक्स्ट साहसिक गेम में डेटा का प्रतिनिधित्व करने के लिए पेड़ डेटा संरचना का उपयोग क्यों करें?
- 6. वृक्ष डेटा संरचना के लिए डेटाबेस संरचना
- 7. एक भूलभुलैया को हल करने और हल करने के लिए एक ढेर का उपयोग करना - जावा
- 8. Google/bing नक्शे का समर्थन करने के लिए डेटा संरचना
- 9. समय श्रृंखला डेटा के लिए सर्वश्रेष्ठ डेटा संरचना
- 10. बहुआयामी डेटा के लिए सर्वोत्तम डेटा संरचना?
- 11. गति प्राथमिक चिंता होने पर चेकर्स बोर्ड का प्रतिनिधित्व करने के लिए सबसे अच्छी डेटा-संरचना क्या है?
- 12. कुशल रेट्रैसिंग के लिए डेटा संरचना/दृष्टिकोण
- 13. एल्गोरिथ्म एक पाठ के माध्यम से स्क्रीन पथ (ओं) को मुद्रित करने के लिए भूलभुलैया
- 14. शब्द संघों को संग्रहीत करने के लिए डेटा संरचना
- 15. शब्दकोश को लागू करने के लिए सर्वोत्तम डेटा संरचना?
- 16. जेएसएफ सत्र का उपयोग करके स्थिर पदानुक्रमित डेटा का प्रतिनिधित्व करने के लिए प्रबंधित बीन स्कॉप्ड
- 17. परिमित bijections के लिए कुशल कार्यात्मक डेटा संरचना
- 18. सी # (गैर स्थैतिक) वर्ग पथ का प्रतिनिधित्व करने के लिए
- 19. निर्देशिका संरचना के लिए उपयोग की जाने वाली डेटा संरचना?
- 20. पुनरावर्ती घटनाओं को संग्रहीत करने के लिए डेटा संरचना?
- 21. उपयोग करने के लिए डेटा संरचना क्या है?
- 22. हजारों वैक्टरों को संग्रहीत करने के लिए डेटा संरचना
- 23. एनएसटीकेनफ़ील्ड कोर डेटा का प्रतिनिधित्व करने वाले कई रिश्ते
- 24. सी # में पैसे का प्रतिनिधित्व करने के लिए मुझे किस डेटा प्रकार का उपयोग करना चाहिए?
- 25. खेलों में स्तरों के लिए डेटा संरचना
- 26. टेक्स्ट एडिटर के लिए डेटा संरचना
- 27. सबस्ट्रिंग खोज के लिए कुशल डेटा संरचना?
- 28. मैट्रिक्स के लिए जावा डेटा संरचना?
- 29. इस स्थिति के लिए बिडरेक्शनल डेटा संरचना
- 30. लोड पासा के लिए डेटा संरचना?
1) आपने किन डेटा संरचनाओं पर विचार किया है? 2) लोगों को कभी भी आपके द्वारा किए गए सभी छोटे संक्षेपों को न मानें। एचपी 4 हैरी पॉटर श्रृंखला 'चौथी किताब के लिए बिल्कुल एक ज्ञात संक्षेप नहीं है। – DVK