Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ प्रोग्राम में क्रमबद्ध सरणी की तुलना में क्रमबद्ध सरणी को संसाधित करना तेज़ क्यों है?

सी ++ में, शाखा भविष्यवाणी के कारण एक क्रमबद्ध सरणी की तुलना में सॉर्ट किए गए सरणी को संसाधित करना तेज़ होता है। कंप्यूटर आर्किटेक्चर में, एक शाखा भविष्यवाणी यह ​​निर्धारित करती है कि किसी प्रोग्राम के निर्देश प्रवाह में एक सशर्त शाखा (कूद) लेने की संभावना है या नहीं।

आइए एक उदाहरण लेते हैं:

if(arr[i] > 50) {
   Do some operation B
} else {
   Do some operation A
}

अगर हम इस कोड को 100 तत्वों के लिए क्रमबद्ध और क्रमबद्ध क्रम में चलाते हैं तो चीजें नीचे होंगी:

क्रमबद्ध सरणी के लिए:

1,2,3,4,5,……50,51………100
A,A,A,A,A A,B B
It will load the correct branch in pipeline and correct sequence A,A,A, A,A,A,A,A A,B B

बिना क्रमबद्ध सरणी के लिए:

5,51,6,90,4,49,60…
A,B,A,B,A,A,A,B

शाखा की भविष्यवाणी यहाँ अपनी महत्वपूर्ण भूमिका नहीं निभाती है। ए और बी के बीच सही संचालन की भविष्यवाणी करना बहुत मुश्किल है।


  1. C++ में किसी सरणी की बिटनोसिटी की जांच करने का कार्यक्रम

    एन पूर्णांकों की एक सरणी गिरफ्तारी [एन] को देखते हुए, कार्य यह जांचना है कि दिया गया सरणी बिटोनिक है या नहीं। यदि दी गई सरणी बिटोनिक है तो हां यह एक बिटोनिक सरणी है प्रिंट करें, अन्यथा प्रिंट करें नहीं यह एक बिटोनिक सरणी नहीं है। एक बिटोनिक सरणी तब होती है जब सरणी पहले सख्ती से बढ़ते क्रम में होती

  1. सी ++ प्रोग्राम सॉर्ट किए गए ऐरे को लागू करने के लिए

    एक क्रमबद्ध सरणी एक सरणी है जिसमें प्रत्येक तत्व को किसी क्रम में क्रमबद्ध किया जाता है जैसे संख्यात्मक, वर्णानुक्रम आदि। संख्यात्मक सरणी को सॉर्ट करने के लिए कई एल्गोरिदम हैं जैसे बबल सॉर्ट, इंसर्शन सॉर्ट, सेलेक्शन सॉर्ट, मर्ज सॉर्ट, क्विक सॉर्ट, ढेर सॉर्ट आदि। चयन सॉर्ट का उपयोग करके सरणी को सॉर्ट

  1. सी ++ में एक क्रमबद्ध सरणी की तुलना में सॉर्ट किए गए सरणी को संसाधित करना तेज़ क्यों है?

    C++ में, शाखा भविष्यवाणी के कारण क्रमबद्ध सरणी की तुलना में क्रमबद्ध सरणी को संसाधित करना तेज़ है। कंप्यूटर आर्किटेक्चर में, एक शाखा भविष्यवाणी यह ​​निर्धारित करती है कि किसी प्रोग्राम के निर्देश प्रवाह में एक सशर्त शाखा (कूद) लेने की संभावना है या नहीं। आइए एक उदाहरण लेते हैं - if(arr[i] > 50) {