इस समस्या में, हमें एक छँटाई एल्गोरिथ्म और एक संख्या n दी गई है। हमारा कार्य n तत्वों की एक सरणी को प्रिंट करना है जिसे एल्गोरिथम द्वारा क्रमबद्ध नहीं किया जा सकता है। यानी एल्गोरिथम विफल हो जाएगा।
एल्गोरिदम
loop i from 1 to n-1 loop j from i to n-1 if a[j]>a[i+1] swap(a[i], a[j+1])
आइए इस सॉर्टिंग एल्गोरिदम को देखें, यह दो नेस्टेड लूप का उपयोग कर रहा है। बाहरी 1 से n-1 तक शुरू होगा और आंतरिक i से n-1 तक, और प्रत्येक पुनरावृत्ति पर आंतरिक लूप तत्व और बाहरी लूप तत्वों के मूल्य की जांच करेगा और ऑर्डर तत्वों से बाहर स्वैप करेगा।
तो यह एल्गोरिथम उस मामले के लिए विफल हो जाएगा जहां तत्वों को उल्टे क्रम में क्रमबद्ध किया जाता है। साथ ही, हम इसका समाधान तभी खोज सकते हैं जब n<=2.
So, for n = 5. Output : 5 4 3 2 1 Time complexity − O(N)
उदाहरण
हमारे समाधान के कार्यान्वयन को दिखाने के लिए कोड
#include <iostream> using namespace std; void invalidCase(int n) { if (n <= 2) { cout << -1; return; } for (int i = n; i >= 1; i--) cout<<i<<" "; } int main() { int n = 6; cout<<"The case in which the algorithm goes invalid for "<<n<<" element array is :\n"; invalidCase(n); return 0; }
आउटपुट
जिस स्थिति में एल्गोरिथम 6 तत्व सरणी के लिए अमान्य हो जाता है वह है -
6 5 4 3 2 1