Algorithm

Helper Method Recursion (+ Pure Recursion)

주인장 꼬비 2022. 7. 24. 16:35

Helper Method Recursion 이란?

재귀적이지 않은 외부함수가 재귀적인 내부 함수(inner function)을 호출하는 패턴이다.

 

Helper Method Recursion 는 일종의 결과를 컴파일할 때 흔히 사용되는 패턴이고, 

결과는 보통 배열이나 배열과 비슷한 다른 형태의 데이터 구조이다. 

 

helper 입력받은 배열의 첫번째 숫자가 홀수인것만 result[]에 넣고,

첫번째 숫자를 제외한 배열을 새로 만들어서 다시 helper로 호출하고 있다.

 

(나중에 그래프 데이터 구조를 구현할때 사용할 예정이라고 한다.)

 

 

 

 

+ Pure Recursion 으로 위의 함수를 구현한다면

 

대충 이런식으로 동작한다. (Helper Method Recursion 보다 코드수는 적지만 복잡한 감이 있다.)

Pure Recursion Tip

- 배열을 복사할때는 slice, spread 연산자(operator), concat 같은 메소드를 사용할 수 있다.

- 문자열은 변경할 수 없기 때문에 slice 나 substring을 사용하여 사본을 만들어야 하는데, 
객체의 경우, Object.assign이나 spread 연산자를 사용하는게 유용하다.

 

 

 

본 내용은 작성자가 (Udemy) JavaScript 알고리즘 & 자료구조 마스터클래스 강의를 듣고 정리 및 메모한 내용입니다.  오역 및 오개념이 있을 수 있으니 바로잡기 위해 문제가 있는 경우 댓글 남겨주시면 매우 감사하겠습니다.

https://www.udemy.com/course/best-javascript-data-structures/

 

JavaScript (JS) Algorithms and Data Structures Masterclass

정렬, 리스트, 힙 스택을 포함한 12개의 알고리즘과 10개 이상 자료구조 학습으로 기술 면접 완벽하게 대비!

www.udemy.com

 

'Algorithm' 카테고리의 다른 글

[문제풀이] Recursion 심화 (1)  (0) 2022.07.26
[문제풀이] Recursion  (0) 2022.07.24
Call Stack  (0) 2022.07.24
재귀 (Recursion)  (0) 2022.07.24
[문제풀이] Frequency Counter / Multiple Pointers / Sliding Window  (0) 2022.07.23