Python tri_recursion

nếu bạn gỡ lỗi mã như thế này

def tri_recursion[k]:
    if[k > 0]:
        print['\t'*k,'start loop k',k]
        holder = tri_recursion[k - 1]
        result = k + holder
        print['\t'*k,'i am k[', k,']+previous result[', holder,']=',result]
    else:
        result = 0
        print['i reached when k =', k]
    print['\t'*k,'end loop', k]
    return result

print["\n\nRecursion Example Results"]
tri_recursion[6]

bạn sẽ thấy đầu ra như

Recursion Example Results
                         start loop k 6
                     start loop k 5
                 start loop k 4
             start loop k 3
         start loop k 2
     start loop k 1
i reached when k = 0
 end loop 0
     i am k[ 1 ]+previous result[ 0 ]= 1
     end loop 1
         i am k[ 2 ]+previous result[ 1 ]= 3
         end loop 2
             i am k[ 3 ]+previous result[ 3 ]= 6
             end loop 3
                 i am k[ 4 ]+previous result[ 6 ]= 10
                 end loop 4
                     i am k[ 5 ]+previous result[ 10 ]= 15
                     end loop 5
                         i am k[ 6 ]+previous result[ 15 ]= 21
                         end loop 6
21

Đệ quy là một khái niệm lập trình và toán học phổ biến. Nó có nghĩa là một hàm gọi chính nó. Điều này có lợi là bạn có thể lặp lại dữ liệu để đạt được kết quả

Các nhà phát triển nên rất cẩn thận với đệ quy vì có thể khá dễ dàng để viết một hàm không bao giờ kết thúc hoặc một hàm sử dụng quá nhiều bộ nhớ hoặc sức mạnh của bộ xử lý. Tuy nhiên, khi được viết chính xác thì đệ quy có thể là một cách tiến gần đến lập trình rất hiệu quả và thanh lịch về mặt toán học

Trong ví dụ này, tri_recursion[] là một hàm mà chúng ta đã định nghĩa để gọi chính nó ["recurse"]. Chúng tôi sử dụng biến k làm dữ liệu, biến này giảm [ -1 ] mỗi khi chúng tôi đệ quy. Điều kiện kết thúc khi điều kiện không lớn hơn 0 [tức là khi nó bằng 0]

Đối với một nhà phát triển mới, có thể mất một khoảng thời gian để tìm ra cách hoạt động chính xác của điều này, cách tốt nhất để tìm hiểu là thử nghiệm và sửa đổi nó

Kết luận. Đệ quy là một hàm quan trọng trong Python. Bài viết trên đã giải thích đệ quy trong Python là điều tương tự với các ví dụ và ưu nhược điểm của đệ quy. Hy vọng bạn có thể áp dụng các kiến ​​thức về đệ quy trong lập trình. Muốn truy cập Python và các ngôn ngữ lập trình khác. Đừng quên tham khảo các khóa học lập trình tại T3H bạn nhé

Một ví dụ về giới vật lý sẽ là đặt hai gương song song đối diện nhau. Bất kỳ đối tượng nào ở giữa chúng sẽ bị phản ánh đệ quy

Chức năng nhiệm vụ Python

Trong Python, chúng ta biết rằng một hàm có thể gọi các chức năng khác. Thậm chí có thể cho chức năng gọi chính nó. Các loại cấu trúc này được gọi là hàm đệ quy

Hình ảnh sau đây cho thấy hoạt động của hàm đệ quy gọi là recurse

Chức năng nhiệm vụ trong Python

Sau đây là một ví dụ về hàm đệ quy để tìm phần dư của một số nguyên

Giai thừa của một số là sản phẩm của tất cả các nguyên số từ 1 đến số đó. Ví dụ. giai đoạn thừa của 6 [ký hiệu là 6. ] Là 1*2*3*4*5*6 = 720

Ví dụ về hàm đệ quy

def factorial[x]:
    """This is a recursive function
    to find the factorial of an integer"""

    if x == 1:
        return 1
    else:
        return [x * factorial[x-1]]


num = 3
print["The factorial of", num, "is", factorial[num]]

đầu ra

The factorial of 3 is 6

Trong ví dụ trên, factorial[] là một hàm đệ quy như nó tự gọi

Khi chúng ta gọi hàm này với số nguyên dương, nó sẽ tự gọi mình bằng cách giảm số

Mỗi hàm số nhân với giai đoạn thừa của số bên dưới nó cho đến khi nó bằng một. Cuộc gọi đệ quy này có thể được giải thích trong các bước sau

factorial[3]          # 1st call with 3
3 * factorial[2]      # 2nd call with 2
3 * 2 * factorial[1]  # 3rd call with 1
3 * 2 * 1             # return from 3rd call as number=1
3 * 2                 # return from 2nd call
6                     # return from 1st call

Chúng ta hãy xem một hình ảnh hiển thị một quá trình từng bước về những gì đang diễn ra

Làm công việc của một chức năng nhiệm vụ thừa kế

Đệ quy của chúng tôi kết thúc khi số lượng giảm xuống 1. cái này được gọi là điều kiện cơ sở

Mỗi chức năng đệ quy phải có điều kiện cơ sở dừng đệ quy hoặc nếu không thì hàm tự gọi chính nó

Thông dịch viên Python giới hạn độ sâu của đệ quy để giúp tránh các đệ quy vô hạn, dẫn đến tràn chồng

Theo mặc định, độ sâu tối đa của đệ quy là 1000. Nếu giới hạn không vượt qua được, nó sẽ dẫn đến RecursionError. Hãy nhìn vào một điều kiện như vậy

def recursor[]:
    recursor[]
recursor[]

đầu ra

Traceback [most recent call last]:
  File "", line 3, in 
  File "", line 2, in a
  File "", line 2, in a
  File "", line 2, in a
  [Previous line repeated 996 more times]
RecursionError: maximum recursion depth exceeded

Trong ví dụ trên, giai thừa[] là một hàm đệ quy như nó tự gọi

  1. Khi chúng ta gọi hàm này với số nguyên dương, nó sẽ tự gọi mình bằng cách giảm số
  2. Mỗi hàm số nhân với giai đoạn thừa của số bên dưới nó cho đến khi nó bằng một. Cuộc gọi đệ quy này có thể được giải thích trong các bước sau
  3. Chúng ta hãy xem một hình ảnh hiển thị một quá trình từng bước về những gì đang diễn ra

Làm công việc của một chức năng nhiệm vụ thừa kế

  1. Đệ quy của chúng tôi kết thúc khi số lượng giảm xuống 1. cái này được gọi là điều kiện cơ sở
  2. Mỗi chức năng đệ quy phải có điều kiện cơ sở dừng đệ quy hoặc nếu không thì hàm tự gọi chính nó
  3. Thông dịch viên Python giới hạn độ sâu của đệ quy để giúp tránh các đệ quy vô hạn, dẫn đến tràn chồng

đệ quy

Python cũng chấp nhận chức năng đệ quy, có nghĩa là một chức năng được xác định có thể tự gọi

Đệ quy là một khái niệm toán học và trình biến phổ biến. Nó có nghĩa là một chức năng tự gọi. Điều này có lợi cho ý nghĩa rằng bạn có thể điều chỉnh thông qua dữ liệu để đạt được kết quả

Các nhà phát triển nên rất cẩn thận với đệ quy vì có thể khá dễ dàng để viết một chức năng không bao giờ chấm dứt hoặc sử dụng lượng bộ nhớ hoặc nguồn bộ xử lý dư thừa. Tuy nhiên, khi được viết chính xác đệ quy có thể là một cách tiếp cận rất hiệu quả và về mặt toán học để thiết lập chương trình

Trong ví dụ này, tri_Recursion [] là một hàm mà chúng tôi đã xác định để gọi tự động ["Recurse"]. Chúng tôi sử dụng biến K làm dữ liệu, giảm [-1] mỗi khi chúng tôi tái diễn. Đệ quy kết thúc khi điều kiện không lớn hơn 0 [nghĩa là khi nó là 0]. tri_recursion[] là một hàm mà chúng ta đã xác định để gọi chính nó ["recurse"]. Chúng tôi sử dụng biến k làm dữ liệu, biến này giảm dần [ -1 . Đệ quy kết thúc khi điều kiện không lớn hơn 0 [i. e. khi nó bằng 0].

Đối với một nhà phát triển mới, có thể mất một khoảng thời gian để tìm hiểu chính xác điều này hoạt động như thế nào, cách tốt nhất để tìm hiểu là bằng cách kiểm tra và sửa đổi nó

Thí dụ

Ví dụ đệ quy

def tri_recursion [k].   . &  .   .
  if[k>0]:
    result = k+tri_recursion[k-1]
    print[result]
  other.
    kết quả = 0
  kết quả trả về

print ["\ n \ nrecursion Kết quả ví dụ"] Tri_Recursion [6]
tri_recursion[6]

Please tự mình thử »


Đệ quy có nghĩa là gì trong Python?

Python cũng chấp nhận chức năng đệ quy, có nghĩa là một hàm được xác định có thể tự gọi. Đệ quy là một khái niệm toán học và trình biến phổ biến. Nó có nghĩa là một chức năng tự gọi. Điều này có lợi cho ý nghĩa rằng bạn có thể điều chỉnh thông qua dữ liệu để đạt được kết quả. hàm được xác định có thể gọi chính nó . Đệ quy là một khái niệm toán học và lập trình phổ biến. Nó có nghĩa là một chức năng gọi chính nó. Điều này có lợi là bạn có thể lặp qua dữ liệu để đạt được kết quả.

Ví dụ đệ quy là gì?

Một ví dụ kinh điển về đệ quy Giai đoạn thừa của một số được tính là số nhân đôi các số bên dưới nó lên và bao gồm 1. Ví dụ. giai thừa [5] giống như 5*4*3*2*1, và Giai thừa [3] là 3*2*1. Giai thừa của một số được tính khi số đó nhân với tất cả các số bên dưới nó cho đến hết và bao gồm 1 . Ví dụ: giai thừa[5] giống như 5*4*3*2*1 và ​​giai thừa[3] là 3*2*1.

The what are used to be used for?

Đệ quy là một kỹ thuật được sử dụng để giải quyết các vấn đề về máy tính bằng cách tạo một chức năng gọi tự động cho đến khi chương trình của bạn đạt được kết quả như mong muốn. để giải quyết các sự cố máy tính bằng cách tạo một hàm tự gọi cho đến khi chương trình của bạn đạt được kết quả mong muốn.

Những gì có nghĩa là đệ quy trong lập trình?

Trong cài đặt máy tính, thuật ngữ đệ quy mô tả một hàm hoặc phương thức liên tục tính toán một phần nhỏ hơn của chính nó để đi đến kết quả cuối cùng. một hàm hoặc phương thức tính toán lặp đi lặp lại một phần nhỏ hơn của chính nó để đi đến kết quả cuối cùng

Chủ Đề