Junior
რა არის რეკურსიული ქცევა?
sobes.tech AI
პასუხი AI-სგან
कोड या कार्यान्वयन स्वतःला कॉल गर्ने प्रकार हो।
मुख्य तत्त्वहरू:
- आधार स्थिति: जुन अवस्थामा पुनरावृत्ति रोकिन्छ। यसबिना, पुनरावृत्ति अनंत हुनेछ।
- पुनरावृत्त स्थिति: कार्यको त्यो भाग जहाँ यो आफैलाई बोलाउँछ, सामान्यतया परिवर्तन गरिएको तर्कसहित।
उदाहरण (फ्याक्टोरियल गणना):
func factorial(_ n: Int) -> Int {
// आधार स्थिति
if n <= 1 {
return 1
}
// पुनरावृत्त स्थिति
return n * factorial(n - 1)
}
// बोलाउने उदाहरण
let result = factorial(5) // 120
फाइदाहरू:
- एउटै संरचनाको समस्या लागि उत्तम समाधान (उदाहरणको लागि, रूखहरू traversing)।
- केही अवस्थामा पढ्न सजिलो कोड।
असुविधाहरू:
- धेरै स्मृति प्रयोग गर्न सक्छ (call stack)।
- धेरै गहिरो पुनरावृत्तिमा stack overflow हुन सक्छ।
- कहिलेकाहीं iterative समाधान भन्दा कम प्रभावकारी।