Სარჩევი:
- მარაგები
- ნაბიჯი 1: შექმენით თქვენი ძირითადი მეთოდი
- ნაბიჯი 2: შექმენით თქვენი რეკურსიული მეთოდის სათაური
- ნაბიჯი 3: შექმენით თქვენი დამრტყმელი/ძირითადი საქმე
- ნაბიჯი 4: რეკურსიული ნაბიჯი
- ნაბიჯი 5: შეამცირეთ პრობლემა
- ნაბიჯი 6: შექმენით მთელი რიცხვის მასივი
- ნაბიჯი 7: დარეკეთ მეთოდზე თქვენი მასივებით
- ნაბიჯი 8: დაბეჭდეთ შედეგები
- ნაბიჯი 9: გილოცავთ
ვიდეო: მასივის რეკურსიული შეჯამება ჯავაში: 9 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
რეკურსია არის ძალიან სასარგებლო და დროის ეფექტური პროცედურა, რომელსაც შეუძლია სწრაფად გადაჭრას პრობლემა ძალიან მცირე კოდით. რეკურსია მოიცავს მეთოდს, რომელსაც თქვენ ქმნით და თავისთავად ამცირებს თავდაპირველ პრობლემას.
ამ მაგალითისთვის ჩვენ შევაჯამებთ 10 მთელი რიცხვის მასივს, მაგრამ ზომა შეიძლება იყოს ნებისმიერი სიგრძის.
მარაგები
თქვენ უნდა იცოდეთ java- ს ძირითადი სინტაქსი და გქონდეთ თქვენი IDE ან ტექსტური რედაქტორი, რომ დაწეროთ თქვენი კოდი ამ ამოცანისთვის.
ნაბიჯი 1: შექმენით თქვენი ძირითადი მეთოდი
დასაწყისისთვის, შექმენით თქვენი ძირითადი მეთოდი ახლად შექმნილ კლასში. მე ჩემს კლასს დავარქვი RecursiveSum. ეს არის სადაც თქვენ შექმნით მთელი რიცხვის მასივს და დაარქმევთ თქვენს რეკურსიულ მეთოდს.
ნაბიჯი 2: შექმენით თქვენი რეკურსიული მეთოდის სათაური
თქვენი ძირითადი მეთოდის მიღმა, შექმენით მეთოდის სათაური თქვენი რეკურსიული მეთოდისთვის.
მეთოდი სტატიკურია, რადგან მას არ დასჭირდება ობიექტის გამოყენება.
დაბრუნების ტიპი არის int, რადგან მასივი რომელსაც ჩვენ ვიყენებთ სავსე იქნება მთელ რიცხვებზე. თუმცა, ეს შეიძლება შეიცვალოს რა რაოდენობის ტიპის მასივი შეიცავს.
მე დავასახელე ჩემი მეთოდი recursiveSum, რომელიც მიიღებს ორ პარამეტრს; მთელი რიცხვების მასივი და ინდექსი, რომელსაც ჩვენ დავუმატებთ ჯამს. მე დავურეკე ამ პარამეტრებს ნომრები და ინდექსი შესაბამისად.
თქვენ ნახავთ შეცდომებს ახლა და ეს კარგია. ისინი მოგვიანებით გამოსწორდება.
ნაბიჯი 3: შექმენით თქვენი დამრტყმელი/ძირითადი საქმე
რეკურსიულ მეთოდს სჭირდება დამრტყმელი/საბაზისო შემთხვევა. ეს ის პირობაა, რომელიც ხელს შეუშლის თქვენს მეთოდს უსასრულოდ დაუძახოს საკუთარ თავს. ეს ძირითადი შემთხვევა შეიძლება ჩაითვალოს, როგორც ყველაზე მარტივი შემთხვევა, რომელსაც ჩვენ წავაწყდებით. ამ შემთხვევაში, ძირითადი შემთხვევა იქნება, როდესაც ჩვენ მასივის ბოლოს ვართ. თუ ამჟამინდელი ინდექსი უდრის მასივის სიგრძეს (მინუს 1, რადგან მასივები იწყებს დათვლას 0 – დან და არა 1 – დან), ჩვენ ვართ ბოლოს და ჩვენ უბრალოდ ვუბრუნებთ ამ ელემენტს ამ ინდექსში.
ნაბიჯი 4: რეკურსიული ნაბიჯი
მას შემდეგ რაც ჩვენ გვაქვს ჩვენი ძირითადი შემთხვევა, შემდეგი ნაბიჯი არის ჩვენი რეკურსიული ნაბიჯი. სწორედ აქ ხდება მაგია. ჩვენ განვიხილეთ შემთხვევა, როდესაც ჩვენი ინდექსი უდრის მასივის ბოლო ელემენტს. რა მოხდება, თუ ჩვენი მასივის ბოლო ელემენტში არ ვართ? რა მოხდება, თუ ჩვენ შეგვიძლია გითხრათ, რომ დაამატოთ ჩვენი ამჟამინდელი ელემენტი პლუს შემდეგი? საბოლოოდ ჩვენ მივაღწევთ ბოლოს ჩვენი მასივი და ჩვენი ძირითადი შემთხვევაში იმოქმედებს.
ამის მისაღწევად, ჩვენ უბრალოდ ვუბრუნებთ ჩვენს ამჟამინდელ ინდექსს და "ვამატებთ დანარჩენს" მასივს.
ნაბიჯი 5: შეამცირეთ პრობლემა
როგორ შეგვიძლია უბრალოდ "დავამატოთ დანარჩენი"? ჩვენ უკვე გვაქვს მეთოდი, რომელიც დაამატებს გარკვეულ ელემენტს; ჩვენი რეკურსიული Sum () მეთოდი! ჩვენ შეგვიძლია მას კვლავ ვუწოდოთ, მაგრამ შევცვალოთ ის ინდექსი, რომელსაც ვაჯამებთ.
ჩვენ გავდივართ იმავე მასივში, რომელსაც ჩვენ ვამუშავებთ, მაგრამ ჩვენ გავდივართ შემდეგ ინდექსში ჩვენი ამჟამინდელი ინდექსიდან. ჩვენ ამას ვაკეთებთ უბრალოდ ერთს დავამატებთ ჩვენს ამჟამინდელ ინდექსში, როგორც ეს ნაჩვენებია.
ნაბიჯი 6: შექმენით მთელი რიცხვის მასივი
ახლა, როდესაც ჩვენი რეკურსიული შეჯამების მეთოდი დასრულებულია, ჩვენ შეგვიძლია შევქმნათ ჩვენი მასივი, რომელსაც ჩვენ დავამუშავებთ. ეს მასივი იქნება ჩვენი ძირითადი მეთოდის ბლოკში.
შეგიძლიათ გააკეთოთ მასივის ზომა რამდენჯერაც გსურთ. მე შევქმენი რამდენიმე განსხვავებული მასივი განსხვავებული ზომებითა და მნიშვნელობებით, რათა ვაჩვენო რომ მუშაობს არა მხოლოდ ერთ ზომაზე.
ნაბიჯი 7: დარეკეთ მეთოდზე თქვენი მასივებით
ახლა თქვენ შეგიძლიათ დარეკოთ თქვენი რეკურსიული მეთოდი და გადასცეთ მასივები მას. ახლა თქვენ შეგიძლიათ გაუშვათ თქვენი პროგრამა.
ნაბიჯი 8: დაბეჭდეთ შედეგები
Არაფერი მომხდარა. რატომ? რეკურსიული ჯამი აბრუნებს მთელ რიცხვს, მაგრამ ჩვენ არაფერი გავაკეთეთ ამ მთელი რიცხვით. მან თავისი საქმე გააკეთა, მაგრამ შედეგს ვერ ვხედავთ. შედეგის სანახავად, ჩვენ უბრალოდ ვბეჭდავთ მას ასე. ამის გაშვების შემდეგ თქვენ უნდა ნახოთ შედეგები თითოეული თქვენი მასივისთვის.
ნაბიჯი 9: გილოცავთ
თქვენ დაასრულეთ რეკურსიული ფუნქცია. მოგერიდებათ შეცვალოთ თქვენი მასივების ზომა. თუ თქვენ გამოსცდით მას, შეამჩნევთ რომ ის იშლება, როდესაც ცარიელი მასივი გაქვთ. ჩვენ არ გავითვალისწინეთ ეს, მაგრამ ეს შესანიშნავი გზაა თქვენი რეკურსიული მეთოდის გასაუმჯობესებლად.
გირჩევთ:
როგორ გამოვიყენოთ while მარყუჟი ჯავაში მასივის განმეორების მიზნით: 9 ნაბიჯი
როგორ გამოვიყენოთ while მარყუჟი ჯავაში მასივის განმეორების მიზნით: დღეს მე გაჩვენებთ თუ როგორ გამოიყენოთ ჯავა, რათა შექმნათ while მარყუჟი, რომელიც შეიძლება გამოყენებულ იქნას რიცხვების ან სიტყვების სიის გამეორებისთვის. ეს კონცეფცია განკუთვნილია დამწყები პროგრამისტებისთვის და მათთვის, ვისაც სურს სწრაფად გაეცნოს Java მარყუჟებსა და მასივებს
PCB UV LED მასივის ტაიმერი: 3 ნაბიჯი
PCB UV LED მასივის ქრონომეტრი: ეს არის ერთგვარი პროექტი, რომლის დასრულებას დიდი დრო დასჭირდა, მიუხედავად მისი სიმარტივისა! ეს იმიტომ ხდება, რომ მე დიდი ხანია ვიყენებ ულტრაიისფერი ფლუორესცენტური ნათურების ყუთს ჩემი დაბეჭდილი მიკროსქემის დაფების გასაკეთებლად და მე ყოველთვის ვფიქრობდი, რომ სხვა, ულტრაიისფერი LED ნათურების გამოყენებით
M5Stack IR თერმული კამერა AMG8833 ინფრაწითელი მასივის გამოსახულების სენსორის გამოყენებით: 3 ნაბიჯი
M5Stack IR თერმული კამერა AMG8833 ინფრაწითელი მასივის ვიზუალიზაციის სენსორის გამოყენებით: როგორც ბევრს, მე მოხიბლული ვიყავი თერმული კამერებით, მაგრამ ისინი ყოველთვის ჩემი ფასების დიაპაზონში არ იყვნენ - აქამდე !! Hackaday ვებსაიტის დათვალიერებისას მე აღმოვაჩინე ეს კამერის მშენებლობა M5Stack– ის გამოყენებით ESP32 მოდული და შედარებით იაფი
როგორ აღვადგინოთ RAID მასივის კონფიგურაცია უფასოდ: 9 ნაბიჯი
როგორ აღვადგინოთ RAID მასივის კონფიგურაცია უფასოდ: ასე რომ, თქვენ შეხვდით მასივის კონფიგურაციის წარუმატებლობას და დაკარგეთ მონაცემებზე წვდომა, თუმცა ის კვლავ ინახება წევრ დისკებზე. ამ გაკვეთილში მე ვაჩვენებ, თუ როგორ უნდა აღვადგინოთ მასივის კონფიგურაცია უფასოდ. თქვენ შეგიძლიათ გამოიყენოთ ეს ინსტრუქცია
LED მატრიქსის მასივის კონტროლი Arduino Uno– ით (Arduino Powered Robot Face): 4 ნაბიჯი (სურათებით)
LED მატრიქსის მასივის კონტროლი Arduino Uno– ით (Arduino Powered Robot Face): ეს ინსტრუქცია გვიჩვენებს, თუ როგორ უნდა აკონტროლოთ 8x8 LED მატრიცების მასივი Arduino Uno– ს გამოყენებით. ეს სახელმძღვანელო შეიძლება გამოყენებულ იქნას თქვენი პროექტებისთვის მარტივი (და შედარებით იაფი ჩვენების) შესაქმნელად. ამ გზით თქვენ შეგიძლიათ აჩვენოთ ასოები, რიცხვები ან პერსონალური ანიმაცია