मान लीजिए हमारे पास आकार n की एक सरणी है, हमें काउंटिंग सॉर्ट तकनीक का उपयोग करके माध्यिका (Median) और बहुलक (Mode) ढूंढना है। यह तकनीक उपयोगी है, जब सरणी तत्व सीमित रेंज में हैं। मान लीजिए तत्व {1, 1, 1, 2, 7, 1} हैं, तो बहुलक 1 है, और माध्यिका 1.5 है। आइए देखें कि माध्यिका क्या है और बहुलक क्या है -
- माध्यिका संख्याओं की सॉर्ट की गई सूची में मध्य संख्या है
- बहुलक वह तत्व है जिसकी घटनाएं सूची में अधिकतम हैं
माध्यिका और बहुलक प्राप्त करने के लिए, हमें इन चरणों का पालन करना होगा -
- मान लें कि इनपुट सरणी का आकार n है
- अगले इंडेक्स में पिछली गिनती जोड़ने से पहले काउंट सरणी लें
- इसमें संग्रहीत अधिकतम मान का इंडेक्स, दिए गए डेटा का बहुलक है।
- यदि एक से अधिक अधिकतम तत्व मौजूद हैं, तो हम उनमें से एक ले सकते हैं
- मान को mode नामक अलग वेरिएबल में संग्रहीत करें।
- काउंट सॉर्ट की सामान्य प्रोसेसिंग के साथ जारी रखें।
- सॉर्ट की गई सरणी में, यदि n विषम है, तो माध्यिका सॉर्ट की गई सरणी का मध्य तत्व है, और यदि n सम है, तो मध्य के दो तत्व लें, फिर उनका औसत निकालकर माध्यिका प्राप्त करें।
- मान को median नामक अलग वेरिएबल में संग्रहीत करें।
उदाहरण
#include <iostream> using namespace std; bool isRepresentedInDDigits(int num, int d, int base) { if (d==1 && num < base) return true; if (d > 1 && num >= base) return isRepresentedInDDigits(num/base, --d, base); return false; } bool checkNumber(int num, int d) { // Check for all bases one by one for (int base=2; base<=32; base++) if (isRepresentedInDDigits(num, d, base)) return true; return false; } int main() { int num = 8; int dig = 2; if(checkNumber(num, dig)) cout << "Can be represented"; else cout << "Can not be represented"; }आउटपुट
Can be represented