प्रौद्योगिकी साझेदारी

पुनरावर्ती एल्गोरिदम [गणना कारक]

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

पुनरावर्तनीय एल्गोरिदमसङ्गणकविज्ञाने गणिते च व्यापकरूपेण प्रयुक्ता प्रोग्रामिंग-प्रविधिः अस्ति या कार्याणां अनुमतिं ददातिसाक्षात्वाअप्रत्यक्षम्भूःस्वयमेव आह्वयति समस्यायाः समाधानार्थम् ।पुनरावर्तनीयम्मूलविचारःजटिलसमस्यानां लघुतरेषु, समानेषु उपसमस्यासु विघटनं भवति यावत् एताः उपसमस्याः प्रत्यक्षतया समाधानं कर्तुं पर्याप्तं सरलाः न भवन्ति ।

पुनरावर्तनीय-अल्गोरिदम्-मध्ये प्रायः मुख्यभागद्वयं भवति ।

  • आधारप्रकरणम् : एषा पुनरावर्तनीय-आह्वानस्य समाप्ति-शर्तः अस्ति, अर्थात् सरलतमः समस्या-दृष्टान्तः यस्य उत्तरं प्रत्यक्षतया अग्रे पुनरावर्तनीय-आह्वानं विना दातुं शक्यते
  • पुनरावर्तनीयप्रकरणम् : एषा समस्यायाः लघुउपसमस्यासु विभज्य पुनरावर्तनीयकॉलद्वारा एतासां उपसमस्यानां समाधानस्य प्रक्रिया अस्ति । पुनरावर्तनीयप्रकरणेन सुनिश्चितं कर्तव्यं यत् प्रत्येकं आह्वानं आधारप्रकरणं प्रति प्रगच्छति ।

पुनरावर्तनीय एल्गोरिदम् इत्यस्य चरणाः : १.

  • आधारप्रकरणानाम् अभिज्ञानं कुर्वन्तु : अग्रे पुनरावर्तनीय-आह्वानं विना काः समस्याः प्रत्यक्षतया समाधानं कर्तुं शक्यन्ते इति निर्धारयन्तु ।
  • पुनरावृत्तिस्थितिः डिजाइनं कुर्वन्तु : बृहत् समस्यां लघु उपसमस्यासु कथं विभज्य मूलसमस्यायाः समाधानं प्राप्तुं उपसमस्यानां समाधानं कथं संयोजयितुं शक्यते इति परिभाषयन्तु।
  • पुनरावर्तनीय-अभिसरणस्य गारण्टी : सुनिश्चितं कुर्वन्तु यत् पुनरावर्तनीय-आह्वानाः अन्ततः आधार-प्रकरणं प्राप्नुयुः तथा च अनन्त-पुनरावृत्तिः परिहरन्ति ।

पुनरावर्तनीय-एल्गोरिदम् इत्यस्य लाभाः हानिः च : १.

लाभ: संहिता संक्षिप्तः, तर्कः स्पष्टः, अवगन्तुं लेखनं च सुलभम् अस्ति ।
अभावः : पुनरावर्तनीयसमाधानस्य अपेक्षया न्यूनदक्षः भवितुम् अर्हति यतोहि अस्मिन् अधिकं फंक्शन् कॉल ओवरहेड् सम्मिलितं भवति। तदतिरिक्तं, अतिगभीरं पुनरावृत्तिः स्तम्भ-अतिप्रवाह-दोषाणां कारणं भवितुम् अर्हति ।

पुनरावृत्तिः अनेकेषु एल्गोरिदम्स् मध्ये अनुप्रयोगाः सन्ति, यथा...वृक्षपरिभ्रमणम्आलेख अन्वेषणम्गतिशील प्रोग्रामिंग इत्यादि। . पुनरावृत्तेः सम्यक् उपयोगेन जटिलसमस्यानां समाधानं सरलं कर्तुं शक्यते ।

उदाहरणम् : गुणनखण्डस्य गणनां कुरुत

def factorial(n):#自定义求n的阶乘函数
        if n==1:#判断n=1
                return 1#返回1结束
        else:#递归条件 即n!=1
                return n*factorial(n-1)#递归求阶乘

number = int(input("请输入一个正整数:"))#输入n的值
result = factorial(number)#调用阶乘函数
print("%d 的阶乘是 %d" %(number,result))#输出结果
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

संहिता व्याख्या

factorial फंक्शन् एकं पैरामीटर् प्राप्नोति n , तस्याः संख्यायाः प्रतिनिधित्वं करोति यस्य कृते गुणनखण्डः गणनीयः अस्ति ।कारकं यथा व्यज्यतेn!, सर्वे न्यूनाः समानाः वा इति विवक्षिताः n धनात्मकपूर्णाङ्कानां गुणनफलम् । उदाहरणतया,5! = 5 × 4 × 3 × 2 × 1 = 120

कार्यस्य अन्तः : १.

  • आधारप्रकरणम् : यदि n यदि 1 इत्यस्य समं भवति तर्हि फंक्शन् प्रत्यक्षतया 1 प्रत्यागच्छति । एषा पुनरावृत्तेः समाप्तिस्थितिः यतः १ इत्यस्य गुणनखण्डः १ इति परिभाषितः अस्ति ।
  • पुनरावर्तनीयः प्रकरणः यदि n न समः १, कार्यम् भविष्यतिn तथाfactorial(n-1) परिणामाः गुणिताः भवन्ति।factorial(n-1) इति सत्यम्factorial नियोगआह्वानमेव , परन्तु पैरामीटर् १ इत्यनेन न्यूनीकरोति ।एषः आह्वानः यावत्...n प्राप्नोति १.

पुनरावर्तनस्य कुञ्जी अस्ति यत् प्रत्येकं पुनरावर्तनीयं आह्वानं आधारप्रकरणस्य समीपं गच्छति, अन्ते आधारप्रकरणं प्राप्य मूल्यानि प्रत्यागन्तुं आरभते । अस्मिन् उदाहरणे प्रत्येकं पुनरावर्तनीयं आह्वानं n 1 द्वारा न्यूनीकरोति यावत् n 1 न भवति ।

सूचना:

पुनरावृत्तिः बृहत् मूल्यानि नियन्त्रयति समये कार्यक्षमतायाः समस्याः अथवा स्टैक् ओवरफ्लो त्रुटयः सम्मुखीभवितुं शक्नोति यतोहि प्रत्येकं फंक्शन् आह्वानं स्टैक् स्थानस्य भागं गृह्णाति । फैक्टरियल् इत्यादीनां सरलगणितीयक्रियाणां कृते प्रायः अधिकदक्षाः स्मृति-अनुकूलाः च पुनरावर्तनीयविधयः सन्ति । तथापि पुनरावृत्तिः कतिपयानां समस्यानां समाधानार्थं सुरुचिपूर्णं सुलभं च मार्गं प्रददाति ।