마지막으로 재귀 함수 이해하기

나는 재귀 함수에 대해 내 마음을 감싸는 데 어려움을 겪었습니다. 오늘은 재귀를 쉽게 이해할 수 있는 3가지 특성에 대해 알아보았습니다.

재귀 함수의 3가지 특징:
  • 재귀 함수에는 매개 변수 값으로 표시되는 상태가 있습니다.
  • 내부 함수를 호출할 때 매개변수(상태)를 '중단 조건'에 더 가깝게 만들고 결국 충족시키는 방식으로 수정해야 합니다.
  • 내부 함수가 다시 호출되지 않는(즉, 재귀 중단) '중단 조건'을 설정합니다.

  • 예를 살펴보겠습니다.

    기능 #1




    def run():
      run()
    
    run()
    


    자체적으로 계속 실행되기 때문에 스택이 오버플로될 때까지 실행됩니다.

    기능 #2




    def run(n):     # the state is represented by the value n
      run(n)        # no break condition; no change of state (n)
    
    run(10)
    


    중단 조건이 없기 때문에 스택이 오버플로될 때까지 이 작업도 실행됩니다.

    기능 #3




    def run(n):
      if n == 10:      # break condition (always unsatisfied)
        run(n)         # no change of state (n)
    
    run(10)
    


    상태(n)가 항상 실행 조건을 만족하기 때문에 스택이 오버플로될 때까지 이 작업도 실행됩니다.

    기능 #4




    def run(n):
      if n == 10:      # break condition (always unsatisfied)
        run(n)         # no change of state
    
    run(5)
    


    상태(n)가 다시 실행 조건을 충족하지 않기 때문에 두 번 실행되지 않습니다.

    기능 #5




    def run(n):
      if n > 1:     # breaking condition (satisfied until the state meets breaking condition)
        run(n-1)    # continuous change of state
    
    run(10)
    


    중단 조건이 충족될 때까지 반복적으로 실행됩니다.

    당신은 그것을 가지고 있습니다. 재귀 함수는 매개변수 값으로 표현되는 상태를 가지며 결국 함수의 '중단 조건'을 충족하는 상태(n)의 변경이 필요합니다.

    이게 도움이 되길 바란다.

    좋은 웹페이지 즐겨찾기