재귀함수를 사용하면 스택에 활성레코드가 늘어나서 더 비효율적인거 같은데요..
아직 허접이라 그런지 코딩의 명료성? 차이같은건 못느끼겠네요..
(하긴 오늘 처음배우긴 했어요ㅡㅡ;;)
실무에서도 자주 쓰이나요?
댓글 15
재귀함수 없이 계층형 디렉토리 구현할수 있으면 안써도 되요. 그리고 트리 검색같은거 리컬시브 없이 해보세요. 직접해보세요
하드코더(61.78)2005-07-05 17:54
학습용임...
리컬젼(222.107)2005-07-05 17:58
for loop 부분은 모두 재귀함수로 다 바꿀 수 있고 재귀함수는 모두 for loop으로 바꿀 수 있습니다. 꼭 해야 된다면 말이죠.. 둘 중 어떤걸 써야 되냐 라는 거는 그때 그때 다를텐데.. 상황에 따라 어떤 코드가 읽기 싶냐라는 문제에 따라 일거 같네요. 단순 loop을 재귀함수 쓴다면 어처구니 없을거구 하노이 탑 같은 알고리즘이나 binary 서치, 트리 검색 같은 곳에서는 재귀함수가 아마 보기 더 편할 듯 싶네요. 코드야 머 사람이 보는거라 주관적으로 난 loop이 더 편해 라고 하면 할말 없겠지만 아마 대부분은 저런 경우는 재귀함수가 더 읽기 편하지 않을까 싶네요.
아슐(61.33)2005-07-05 18:29
무시하는 윗햏들은 프로그래머의 전설.. 덜덜덜..
재귀함수를(211.192)2005-07-05 19:00
소장용..;;
달빛한묶음(210.125)2005-07-05 20:57
XML 파서 만들때 가끔 씀.. XML이 트리구조니까 노드의 깊이를 알 수 없어도 재귀로 돌려버리면 백트랙킹 없이 처리할 수 있는데.. 처리는 고속이나 기능구현시 애로사항이 꽃피기 때문에 별도의 스택을 두어 처리하는게 정신건강에 좆타고 봄..
담배(210.124)2005-07-05 21:31
XML파서를 만들어서 쓰십니까? 대단하시군요.
두루마리(210.110)2005-07-05 21:36
가끔 빡돌아서 라이브러리 사용법이 익히는게 귀찮을때.. -_-;; 파일 읽어들여서 간단한 처리만 필요할때.. 성능향상을 위해.. XML파일이 대용량인 경우.. 이럴때 필요한가?ㅋㅋ HTML 파서만든다고 심하게 고생하고 나니 XML같은건..ㅋㅋ
담배(210.124)2005-07-05 21:42
간단하게 말해서 재귀함수는 코딩을 좀더 쉽게하기 위함입니다 재귀를 모두 스택에 넣어서 직접 돌린다고 생각해보세요 덜덜덜...
더위사냥(220.72)2005-07-05 22:00
쓰기싫은면 쓰지마...
난코더다.(218.146)2005-07-05 22:21
LISP이나 PROLOG는 아예 Recursive Call로 짜야 하오. Loop Control이 없소.
안방거사(136.160)2005-07-05 23:19
득행하신 분들의 답변을 들으니 더 혼란스럽네요. 완전 쌩초보의 입장으로 결론좀 지어주실분 ↓↓
dots.(222.232)2005-07-05 23:19
배워도 당장 쓸일은 없을 겁니다.. 어차피 트리 구조의 순회시 많이 쓰긴하는데.. 학생신분으로 지금까지 짜왔던 프로그램들을 돌이켜보면 트리순회 쪽은 DB 인덱스(특정 순차자료형의 고속탐색)나 인공지능 자료처리 정도에 사용되는것 같습니다.. 대부분 4학년 과정에서 볼까말까한 내용들이죠.. 당장 쓸일은 없겠지만 여러 자료구조들을 쓰다보면 자연스럽게 필요에 의해서 쓰게될 날이 올겁니다.. 아니면 말고..ㅋ~
재귀함수 없이 계층형 디렉토리 구현할수 있으면 안써도 되요. 그리고 트리 검색같은거 리컬시브 없이 해보세요. 직접해보세요
학습용임...
for loop 부분은 모두 재귀함수로 다 바꿀 수 있고 재귀함수는 모두 for loop으로 바꿀 수 있습니다. 꼭 해야 된다면 말이죠.. 둘 중 어떤걸 써야 되냐 라는 거는 그때 그때 다를텐데.. 상황에 따라 어떤 코드가 읽기 싶냐라는 문제에 따라 일거 같네요. 단순 loop을 재귀함수 쓴다면 어처구니 없을거구 하노이 탑 같은 알고리즘이나 binary 서치, 트리 검색 같은 곳에서는 재귀함수가 아마 보기 더 편할 듯 싶네요. 코드야 머 사람이 보는거라 주관적으로 난 loop이 더 편해 라고 하면 할말 없겠지만 아마 대부분은 저런 경우는 재귀함수가 더 읽기 편하지 않을까 싶네요.
무시하는 윗햏들은 프로그래머의 전설.. 덜덜덜..
소장용..;;
XML 파서 만들때 가끔 씀.. XML이 트리구조니까 노드의 깊이를 알 수 없어도 재귀로 돌려버리면 백트랙킹 없이 처리할 수 있는데.. 처리는 고속이나 기능구현시 애로사항이 꽃피기 때문에 별도의 스택을 두어 처리하는게 정신건강에 좆타고 봄..
XML파서를 만들어서 쓰십니까? 대단하시군요.
가끔 빡돌아서 라이브러리 사용법이 익히는게 귀찮을때.. -_-;; 파일 읽어들여서 간단한 처리만 필요할때.. 성능향상을 위해.. XML파일이 대용량인 경우.. 이럴때 필요한가?ㅋㅋ HTML 파서만든다고 심하게 고생하고 나니 XML같은건..ㅋㅋ
간단하게 말해서 재귀함수는 코딩을 좀더 쉽게하기 위함입니다 재귀를 모두 스택에 넣어서 직접 돌린다고 생각해보세요 덜덜덜...
쓰기싫은면 쓰지마...
LISP이나 PROLOG는 아예 Recursive Call로 짜야 하오. Loop Control이 없소.
득행하신 분들의 답변을 들으니 더 혼란스럽네요. 완전 쌩초보의 입장으로 결론좀 지어주실분 ↓↓
배워도 당장 쓸일은 없을 겁니다.. 어차피 트리 구조의 순회시 많이 쓰긴하는데.. 학생신분으로 지금까지 짜왔던 프로그램들을 돌이켜보면 트리순회 쪽은 DB 인덱스(특정 순차자료형의 고속탐색)나 인공지능 자료처리 정도에 사용되는것 같습니다.. 대부분 4학년 과정에서 볼까말까한 내용들이죠.. 당장 쓸일은 없겠지만 여러 자료구조들을 쓰다보면 자연스럽게 필요에 의해서 쓰게될 날이 올겁니다.. 아니면 말고..ㅋ~
쓸 경우가 생길 때만 쓰시오....;;
재귀호출;; 음음;; 멋 낼려고 그냥 써 봤는데;;;; 제 멋이였구나;;;