Հետադարձ կերպով ամփոփելով զանգվածը Java- ում. 9 քայլ
Հետադարձ կերպով ամփոփելով զանգվածը Java- ում. 9 քայլ
Anonim
Հետադարձ կերպով ամփոփելով զանգվածը Java- ում
Հետադարձ կերպով ամփոփելով զանգվածը Java- ում

Ռեկուրսիան շատ օգտակար և ժամանակի արդյունավետ ընթացակարգ է, որը կարող է արագ լուծել շատ քիչ ծածկագրով խնդիրը: Ռեկուրսիան ներառում է այն մեթոդը, որը դուք ստեղծում եք, ինքն իրեն անվանելով կարճացնելով սկզբնական խնդիրը:

Այս օրինակի համար մենք կամփոփենք 10 ամբողջ թվով զանգված, բայց չափը կարող է լինել ցանկացած երկարության:

Պարագաներ

Դուք պետք է իմանաք java- ի հիմնական շարահյուսությունը և ունենաք ձեր IDE կամ տեքստային խմբագիր `ձեր առաջադրանքը կատարելու համար:

Քայլ 1: Կարգավորեք ձեր հիմնական մեթոդը

Կարգավորեք ձեր հիմնական մեթոդը
Կարգավորեք ձեր հիմնական մեթոդը

Սկսելու համար տեղադրեք ձեր հիմնական մեթոդը նորաստեղծ դասարանում: Ես իմ դասին անվանել եմ RecursiveSum: Այստեղ դուք կստեղծեք ամբողջ թվերի զանգված և կկոչեք ձեր ռեկուրսիվ մեթոդ:

Քայլ 2: Ստեղծեք ձեր ռեկուրսիվ մեթոդի վերնագիրը

Ստեղծեք ձեր ռեկուրսիվ մեթոդի վերնագիրը
Ստեղծեք ձեր ռեկուրսիվ մեթոդի վերնագիրը

Ձեր հիմնական մեթոդից դուրս, ստեղծեք մեթոդի վերնագիր ձեր ռեկուրսիվ մեթոդի համար:

Մեթոդը ստատիկ է, քանի որ դրա համար օբյեկտ չի պահանջվի:

Վերադարձի տեսակը int է, քանի որ զանգվածը, որը մենք օգտագործելու ենք, ամբողջական կլինի ամբողջ թվերի վրա: Այնուամենայնիվ, սա կարող է փոխվել զանգվածի ցանկացած տեսակի համարի:

Ես անվանել եմ իմ մեթոդը recursiveSum, որը կտևի երկու պարամետր. ամբողջ թվերի զանգված և ինդեքս, որը մենք կավելացնենք գումարին: Այս պարամետրերին ես համապատասխանաբար համարներ և ինդեքս եմ կանչել:

Այս պահին սխալներ կտեսնեք, և դա լավ է: Դրանք հետագայում կկարգավորվեն:

Քայլ 3: Ստեղծեք ձեր հարվածը/հիմնական գործը

Ստեղծեք ձեր հարվածը/հիմնական գործը
Ստեղծեք ձեր հարվածը/հիմնական գործը

Ռեկուրսիվ մեթոդին անհրաժեշտ է հարվածող/հիմնական պատյան: Սա այն պայմանն է, որը կկանգնեցնի ձեր մեթոդին անվերջ անվանել իրեն: Այս հիմնական գործը կարելի է համարել որպես ամենապարզ գործը, որին կհանդիպենք: Այս դեպքում հիմնական գործը կլինի այն ժամանակ, երբ մենք գտնվում ենք մեր զանգվածի վերջում: Եթե ընթացիկ ինդեքսը հավասար է զանգվածի երկարությանը (մինուս 1, քանի որ զանգվածները սկսում են հաշվել 0 -ից և ոչ 1 -ից), մենք գտնվում ենք վերջում և մենք պարզապես այդ տարրը վերադարձնում ենք այդ ցուցանիշին:

Քայլ 4: Հետադարձ քայլ

Հետադարձ քայլ
Հետադարձ քայլ

Երբ մենք ունենք մեր հիմնական գործը, հաջորդ քայլը մեր ռեկուրսիվ քայլն է: Այստեղ է, որ տեղի է ունենում կախարդանքը: Մենք լուծել ենք այն դեպքը, երբ մեր ցուցանիշը հավասար է մեր զանգվածի վերջին տարրին: Իսկ եթե մենք մեր զանգվածի վերջին տարրի վրա չե՞նք: Ի՞նչ կլիներ, եթե մենք կարողանայինք պարզապես ասել, որ այն ավելացնի մեր ներկա տարրը գումարած հաջորդը: Ի վերջո, մենք կհարվածենք մեր զանգվածի ծայրին, և մեր հիմնական գործը կանդրադառնա:

Դա իրականացնելու համար մենք պարզապես վերադարձնում ենք մեր ընթացիկ ինդեքսը և զանգվածը «ավելացնում»:

Քայլ 5: Կարճացրեք խնդիրը

Կարճացրեք խնդիրը
Կարճացրեք խնդիրը

Ինչպե՞ս ենք մենք պարզապես «ավելացնում մնացածը»: Մենք արդեն ունենք մի մեթոդ, որը կավելացնի որոշակի տարր; մեր recursiveSum () մեթոդը: Մենք կարող ենք այն կրկին անվանել, բայց փոխել, թե որ ցուցանիշն ենք ամփոփում:

Մենք անցնում ենք այն նույն զանգվածում, որը մենք մշակում ենք, բայց հաջորդ ինդեքսում անցնում ենք մեր ընթացիկ ինդեքսից: Մենք դա անում ենք ՝ պարզապես մեկը ավելացնելով մեր ընթացիկ ինդեքսին, ինչպես ցույց է տրված:

Քայլ 6: Ստեղծեք ամբողջ թվերի զանգված

Ստեղծեք ամբողջ թվերի զանգված
Ստեղծեք ամբողջ թվերի զանգված

Այժմ, երբ մեր ռեկուրսիվ գումարման մեթոդը ավարտված է, մենք կարող ենք ստեղծել մեր զանգվածը, որը մենք մշակելու ենք: Այս զանգվածը կլինի մեր հիմնական մեթոդի բլոկում:

Դուք կարող եք զանգվածի չափը կատարել այնքան ժամանակ, որքան ցանկանում եք: Ես ստեղծել եմ տարբեր չափերի և արժեքների մի քանի տարբեր զանգվածներ ՝ ցույց տալու համար, որ այն աշխատում է ոչ միայն մեկ չափի վրա:

Քայլ 7: Callանգահարեք մեթոդը ձեր զանգվածներով

Callանգահարեք մեթոդը ձեր զանգվածներով
Callանգահարեք մեթոդը ձեր զանգվածներով

Այժմ դուք կարող եք զանգահարել ձեր ռեկուրսիվ մեթոդ և փոխանցել այդ զանգվածները դրան: Այժմ դուք կարող եք գործարկել ձեր ծրագիրը:

Քայլ 8: Տպեք արդյունքները

Տպեք արդյունքները
Տպեք արդյունքները

Ոչինչ չի պատահել. Ինչո՞ւ: Հետադարձ գումարը վերադարձնում է մի ամբողջ թիվ, բայց մենք ոչինչ չենք արել այս ամբողջ թվի հետ: Դա իր գործն արեց, բայց արդյունքը չենք կարող տեսնել: Արդյունքը տեսնելու համար մենք պարզապես տպում ենք այն այսպես: Սա գործարկելուց հետո դուք պետք է տեսնեք արդյունքները ձեր յուրաքանչյուր զանգվածի համար:

Քայլ 9: Շնորհավորում ենք

Դուք ավարտել եք ռեկուրսիվ գործառույթը: Ազատորեն փոխեք ձեր զանգվածների չափը: Եթե փորձարկեք այն, կնկատեք, որ այն խափանում է, երբ ունեք դատարկ զանգված: Մենք դա չենք հաշվարկել, բայց դա հիանալի միջոց է ձեր ռեկուրսիվային մեթոդը բարելավելու համար:

Խորհուրդ ենք տալիս: