JavaRush /Blog Java /Random-VI /Tóm tắt về đệ quy
vinsler
Mức độ

Tóm tắt về đệ quy

Xuất bản trong nhóm
Đệ quy trong Java là gì, một thứ hoàn chỉnh, khó hiểu, chúng ta cùng tìm hiểu nhé.
Tóm tắt về đệ quy - 1
Ví dụ:
public class Recursion {
        public static void main(String[] args) {
            System.out.println("Изначальный REC ( 15 , 9 )" );
            System.out.println(rec(15,9)); // запускаем sout с возвращаемым функцией [rec] результатом
        }

        static int rec (int m, int n) { // передаем в функцию [rec] 2 числа
            if(m % n == 0) { // если первое число [m] делится на второе число [n] нацело, то возвращаем его
                System.out.println("Окончателное число " + n);
                return n;
            } else {
                // если не делится нацело, то перезапускаем функцию и заносим в него другие аргументы :
                // в качестве первого уже будет второе число [n],
                // а в качестве второго будет остаток от деления первого[m] на второе[n] 15 / 9 = 1 (+ остаток 6)
                System.out.println("Заносим в REC (" + n + " , " + m % n + ")");
                return rec(n,m % n);
            }
        }
Bạn có thể sao chép mã này và tự kiểm tra nó. Mô tả những gì xảy ra bên trong với các biến: ban đầu 15, 9 được chia 15 / 9 = 1, phần dư 6 , nếu có phần dư thì hàm mới sẽ được khởi chạy, nhưng các giá trị sẽ được 9, 6(từ phần dư) được chia 9 / 6 = 1, phần dư 3 , nếu có phần dư , thì hàm mới sẽ được khởi chạy, nhưng các giá trị sẽ được 6, 3chia (từ số dư) 6 / 3 = 2, số dư 0 nếu không có số dư thì số thứ hai sẽ được xuất ra từ hàm 3 . Bây giờ chúng ta hãy xem xét mọi thứ chi tiết hơn, đối với tôi bà ngoại.
  1. Đệ quy trong Java đang chạy một hàm từ bên trong chính hàm đó.
  2. Khi một hàm được khởi chạy, mọi thứ được thực hiện bên trong hàm sẽ bị xóa và một hàm mới sẽ được khởi chạy với các tham số mới.
Nói cách khác, nếu bạn thấy từ khởi chạy của cùng một chức năng [rec], thì hãy lấy chức năng này ngay từ đầu mô tả của nó, chuyển các tham số được cung cấp vào đó và xem điều gì sẽ xảy ra tiếp theo. Đó là tất cả lời giải thích. Chúng tôi chạy hàm, đặt các tham số nhất định bên trong, tại đó quá trình đệ quy được bắt đầu hoặc một số kết quả được trả về. Đó là toàn bộ bí mật. Tái bút: Tôi chỉ viết trong đầu, ngay lập tức và giúp đỡ một người bạn một việc, vì vậy mọi lời chỉ trích và cải tiến đều được hoan nghênh. )))
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION