머 겜은 C++만 ㅈㄴ 써야 한다면 어절수 없긴 합니다... 다 성능 올리자고 하는 언어인데 재귀쓰면 처맞을 듯
츄럴(rhdnfka94)2017-06-21 21:58
재귀를 이터레이션으로 구현하려는 애들이 많은편
mozzart(mozzart)2017-06-21 21:58
성능 평가 좀 해보고 쓰면 깔끔할 부분도 분류하기 귀찮아하는듯
mozzart(mozzart)2017-06-21 21:59
근데 맞는 말인데? 이해가 "가능"하냐가 문제가 아님. 이해가 "쉬운가"가 문제이기 때문. 간단한건 재귀로 해도 됨. 보통 이해가 쉬우니까. 근데 재귀를 복잡하게 짜면, 근본적으로 goto 쓰는거랑 뭐가 다름? goto가 안되는 이유나 재귀가 안되는 이유나 별반 다를 바 없음.
ㅇㅇㅇ(121.144)2017-06-21 22:07
goto도 끝까지 파고 들면 당연히 이해가 "가능"하다. 문제는 이해가 "쉽지 않기 때문"에 욕 쳐먹는거지. 재귀도 그런 영역에 들어가면 지양하는게 맞지.
ㅇㅇㅇ(121.144)2017-06-21 22:08
사실 아직 잘 모르겠음 진짜로 재귀가 이해가 더 어려운 건지 아니면 절차식을 먼저 배워서 그런건지
츄럴(rhdnfka94)2017-06-21 22:10
하지만 재귀를 이해하기 어려워하는 사람들이 많은 건 팩트이니...
츄럴(rhdnfka94)2017-06-21 22:11
퀵소트나 머지소트 재귀로 구현한 거랑 큐나 스택이랑 루프 써서 구현한 거 중에서 후자가 이해 쉬우면 니 머리가 걍 굳은 거다
러브마지널(lovemarginal)2017-06-21 22:16
제귀는 성능이 약간 떨어지지만 가독성이 월등히 좋습니다. 코딩도 짧고요. 알고리즘을 확장하기도 굉장히 용이하죠. 여러모로 편리하지만 스택오버플로우의 위험, 메모리 최적화가 불가능함, 함수콜의 오버헤드 등의 문제로 어쩔수 없이 이터레이션 형태로 재코딩 하기도 하는데 정말 골치아프죠.
ㅂㅂㅇ(172.9)2017-06-21 22:21
생각해보니 1부터 100까지 더하는 식의 간단한 함수라면 재귀가 더 복잡하게 느낄수도 있겠군요. 비선형 탐색에서는 재귀가 압도적으로 편리한듯.
저새끼한테 하스켈을 던져주자
게임프로그래머들 문법적으론 좀 보수적
근데 재귀 파일, 노드쪽 빼고는 잘 안씀
머 겜은 C++만 ㅈㄴ 써야 한다면 어절수 없긴 합니다... 다 성능 올리자고 하는 언어인데 재귀쓰면 처맞을 듯
재귀를 이터레이션으로 구현하려는 애들이 많은편
성능 평가 좀 해보고 쓰면 깔끔할 부분도 분류하기 귀찮아하는듯
근데 맞는 말인데? 이해가 "가능"하냐가 문제가 아님. 이해가 "쉬운가"가 문제이기 때문. 간단한건 재귀로 해도 됨. 보통 이해가 쉬우니까. 근데 재귀를 복잡하게 짜면, 근본적으로 goto 쓰는거랑 뭐가 다름? goto가 안되는 이유나 재귀가 안되는 이유나 별반 다를 바 없음.
goto도 끝까지 파고 들면 당연히 이해가 "가능"하다. 문제는 이해가 "쉽지 않기 때문"에 욕 쳐먹는거지. 재귀도 그런 영역에 들어가면 지양하는게 맞지.
사실 아직 잘 모르겠음 진짜로 재귀가 이해가 더 어려운 건지 아니면 절차식을 먼저 배워서 그런건지
하지만 재귀를 이해하기 어려워하는 사람들이 많은 건 팩트이니...
퀵소트나 머지소트 재귀로 구현한 거랑 큐나 스택이랑 루프 써서 구현한 거 중에서 후자가 이해 쉬우면 니 머리가 걍 굳은 거다
제귀는 성능이 약간 떨어지지만 가독성이 월등히 좋습니다. 코딩도 짧고요. 알고리즘을 확장하기도 굉장히 용이하죠. 여러모로 편리하지만 스택오버플로우의 위험, 메모리 최적화가 불가능함, 함수콜의 오버헤드 등의 문제로 어쩔수 없이 이터레이션 형태로 재코딩 하기도 하는데 정말 골치아프죠.
생각해보니 1부터 100까지 더하는 식의 간단한 함수라면 재귀가 더 복잡하게 느낄수도 있겠군요. 비선형 탐색에서는 재귀가 압도적으로 편리한듯.
어머 고갱님 ~~ 이해를 하는것과 가독성이 떨어지는건 별개의 문제라는 생각 안해봄?