2016-08-07 9 views
6

उनके बीच क्या अंतर है? मुझे पता है किजावा में कतार बनाम डेक्यू

एक कतार को कतार के अंत में तत्व डालने के लिए डिज़ाइन किया गया है, और कतार की शुरुआत से तत्व हटा दिए गए हैं। जहां डेक्यू एक कतार का प्रतिनिधित्व करता है जहां आप कतार के दोनों सिरों से तत्वों को सम्मिलित और हटा सकते हैं।

लेकिन जो अधिक कुशल है?

प्लस उनके बीच क्या अंतर है? क्योंकि मेरे पास उनके बारे में थोड़ा सा ज्ञान है, मैंने ऊपर क्या कहा है, लेकिन मैं उनके बारे में अधिक जानना चाहता हूं। इसकी सराहना की जाएगी।

+0

जावाडोक उपयोगी हो सकता है। –

+1

क्या के लिए दक्षता? –

+0

मैंने पहले ही जावाडोक देखा है लेकिन मुझे अभी भी बहुत कुछ नहीं मिला है। इसलिए मैंने यहां पूछा, अगर कोई मेरी मदद कर सकता है ... –

उत्तर

3

डेक और कतार सार डेटा प्रकार हैं जिन्हें विभिन्न तरीकों से कार्यान्वित किया जा सकता है। प्रदर्शन के बारे में बात करने के लिए आपको यह निर्दिष्ट करना होगा कि आप किस कार्यान्वयन की तुलना करना चाहते हैं और आप किस ऑपरेशन में दिलचस्पी रखते हैं। इससे भी बेहतर, अपने आवेदन के वर्कलोड के साथ बेंचमार्क करें और उस वातावरण में जिसे आप उपयोग करने जा रहे हैं (हार्डवेयर, ऑपरेटिंग सिस्टम, जेवीएम संस्करण)।

चूंकि प्रत्येक डेक भी एक कतार है, आम तौर पर आप कह सकते हैं कि डेक कतार के रूप में सबसे ज्यादा हो सकते हैं।

14

डेक "डबल एंडेड कतार" के लिए छोटा है। एक साधारण कतार के साथ, आप चीजों को एक छोर में जोड़ते हैं और उन्हें दूसरे से ले जाते हैं। एक डबल एंड कतार के साथ, आप चीजों को किसी भी अंत में जोड़ सकते हैं, और उन्हें किसी भी अंत से ले जा सकते हैं। यह थोड़ा और बहुमुखी बनाता है; उदाहरण के लिए, यदि आप चाहें तो आप इसे स्टैक के रूप में उपयोग कर सकते हैं।

दक्षता के मामले में, यह वास्तव में कार्यान्वयन पर निर्भर करता है। लेकिन आम तौर पर बोलते हुए, आप एक क्यूई को कतार से बेहतर प्रदर्शन करने की उम्मीद नहीं करेंगे, क्योंकि एक (सिंगल एंडेड) कतार को इस तरह से कार्यान्वित किया जा सकता है जो ऑब्जेक्ट को "गलत" अंत में जोड़ने या हटाने की अनुमति नहीं देता है। जबकि एक डेक का कोई कार्यान्वयन कतार के कार्यान्वयन के रूप में भी काम करेगा।

संबंधित मुद्दे