재귀 포스트 재귀 포스트

Flatiron School의 소프트웨어 엔지니어링 프로그램을 졸업한 이후로 저는 지식을 강화하고 코스에서 가르치는 개념을 확장할 방법을 찾고 있었습니다. Free Code Camp의 커리큘럼은 계속 진행하기 전에 해결해야 하는 작은 크기의 미니 랩에 적합합니다. 연구 검토로 이러한 테스트를 진행하면서 나는 충분히 익숙하지 않은 Javascript 프로그래밍의 개념인 재귀를 만났습니다.

나는 재귀가 루프를 닫는 것을 잊거나 영원히 계속되도록 잘못된 방향으로 가는 조건을 설정하는 초보 개발자에게 함정이라는 것을 대부분 알고 있었습니다. Ctrl-C는 내 컴퓨터의 프로세서를 내부에서 밖으로 녹이기 전에 그녀의 사이렌 클러치에서 탈출하는 나의 방법이었습니다. 그러나 깨끗하고 쉽게 읽을 수 있는 코드로 Javascript 문제를 해결하는 데 활용할 수 있다는 것이 밝혀졌습니다.

const recursiveFunction = (n) => {
    if (n == 0) {
       console.log("This is the base case")
    } else {
       console.log(n)
       recursiveFunction(n - 1)
    }
}


위는 호출될 때 인수로 제공되는 숫자부터 카운트다운하기 위해 재귀를 사용하는 상당히 기본적인 함수입니다. 프로그래밍 방식으로 for 루프와 유사하게 작동하여 각 경우를 처리하고 작업(이 경우 콘솔에서 현재 숫자를 기록함)한 다음 루프가 완료될 때까지 감소시키고 마찬가지로 수행합니다. 그러나 설정은 재귀에서 약간 다릅니다. 'if' 문으로 시작하여 기본 사례를 나타냅니다. 자신을 끝없이 호출하지 못하도록 하는 조건입니다. 우리의 경우 0에 도달하는 번호로 전달되고 콘솔 로그를 기록하고 다시는 호출하지 않습니다. 붐, 우리 기능은 우리가 원하는 대로 했고, Ctrl-C를 그렇게 스매싱할 수는 없습니다.

'else' 문은 정의된 함수 내에서 매우 동일한 함수를 호출하여 작동하는 곳입니다. 전달된 숫자는 우리의 경우 1만큼 감소하거나 그렇지 않으면 해당 인수에 대해 작동하므로 우리는 히트할 때까지 반복해서 호출합니다. 그 기본 케이스.

Free Code Camp는 알고리즘에서 개념을 사용하는 관점에서 개념을 매우 심층적으로 살펴봅니다. 저와 같으며 이를 문제에 추가하고 싶다면 주제에 대한 입문서보다 더 심층적으로 살펴보는 것이 좋습니다. 해결 무기고: https://www.freecodecamp.org/news/understanding-recursion-in-programming/

좋은 웹페이지 즐겨찾기