SooJungChae / TIL

Today I Learned
MIT License
1 stars 2 forks source link

recursion vs iteration #111

Open SooJungChae opened 2 years ago

SooJungChae commented 2 years ago

memory 할당 방식

stack heap

알고리즘을 풀다보면 recursion 방식을 쓰는 사람과 iteration 방식을 쓰는 사람이 있는데 왜 두 종류를 사용할까?

recursion -> 필요한 memory 가 커지지만 코드가 짧아진다. iteration -> memory 가 유지되지만 코드가 길어진다.

그럼 항상 iteration 을 써야하는것일까??

sbjang123456 commented 2 years ago

저 같은 경우는 거의 대부분을 iteration 을 써왔는데, 간혹 누가봐도 같은 소스를 반복해야 하는데 넘겨받은 배열은 줄여나가고 끊임없는 리턴을 필요로 할때????? 썼던것 같습니다. 재귀가 메모리에 부하를 줄 수 있다는 건 몰랐네요.. 하나 배우고 갑니다.

SooJungChae commented 2 years ago

저 같은 경우는 거의 대부분을 iteration 을 써왔는데, 간혹 누가봐도 같은 소스를 반복해야 하는데 넘겨받은 배열은 줄여나가고 끊임없는 리턴을 필요로 할때????? 썼던것 같습니다. 재귀가 메모리에 부하를 줄 수 있다는 건 몰랐네요.. 하나 배우고 갑니다.

재귀 함수가 호출될 때마다 call stack 에 쌓여서 FILO 하더라구여. 전 그냥 재귀가 어렵게 동작하구나 라고만 생각했는데 기본 개념을 요새 조금씩 보고있으니 연결도 되고 더 제대로 알아가는 것 같습니다~ 수빈님 덕분에 저도 공부하네여 !!!