C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[9339] [고찰] 재귀 함수 호출을 어떻게 사용하세요?
조해진 [mastercho] 1479 읽음    2004-05-08 17:07

예전 제가 C언어를 배울때  C로 배우는 알고리즘이라는 책을 본적이 있습니다

거기서  문제를 해결할때 , 재귀함수 호출을 사용해 문제를 해결하는 모습을 보여주었습니다

그때 많이 느꼈지만 재귀함수에 대한 이해가 어려웠습니다

도데체 어떤구조로  돌아가는지......... 특히 자기를 자기가 다시 호출하는 개념은

정말..... C언어 배우는 초보자로써는 최악이었습니다


성능평가도 보면  대체로 좋기는 하지만 항상 최적의 성능을 내지도 못하는거 같고

for문보다  결국 느리다 는 책의 내용과 함께 재귀함수를 for문으로 결국 바꾸는것을 보고

애써 , 재귀함수는 불필요 한거야.... 하며 자위하고 있었습니다

그때가 2년전이었었는데 ,  지금까지 프로그래밍 하면서 재귀함수 호출을 써본적이 없습니다


현재는 학과 과목의 컴퓨터 프로젝트로 현재 포커게임 서버를 만들고 있는데

단일 쓰레드 환경에서 포커 알고리즘을 구현하고 돌릴려고 하니 , 함수로 단위를 끊어

알고리즘을 진행하는데......... 무척이나 어려웠습니다

어째튼 잘개 상황을 잘라 함수로 만들어 진행했는데... A가 B 함수를 호출하고 B 가 A 함수를

호출하는 모습을 보았습니다 ,  나름대로 ...... 이렇게 문제를 해결하다니 ...... 놀라워 하고 있었는데

결국 A->B , B->A  방법의 재귀함수로 문제를 해결한것이었습니다


C로 배우는 알고리즘이라는 책에서는 남이 보기에는 이해하가 어렵지만

문제해결에는 재귀함수 호출이 좋다는 말을 했던 기억이 납니다


여기 분들은 어떻게 재귀함수를 쓰시는지 궁금해서 글 올립니다 :)










정찬희 [bromanes]   2004-05-09 02:46 X
저도 [C로 배우는 알고리즘]이라는 책을 보면서 그런생각을 했었어요...^^;
저는 다른곳에서는 잘 모르겠지만 트리구조, 계층적인 데이터구조를 다루는 곳에서는 재귀함수가 필수적이라는 생각이 들더군요.. 문제해결이 쉬워지는걸 느꼈습니다. 그외의 곳에서는 크게 필요성을 느끼지는 못했습니다.
Rigel [netics]   2004-05-10 10:17 X
재귀 함수란 것은 루핑과 스택의 조합으로 변환이 가능하죠. 즉, 재귀함수란 스택을 따로 만드는 대신에 함수콜에 사용하는 시스템 스택을 이용하는 방법입니다. 그 외에 재귀함수의 장점은 일단 익숙해지시면 문제해결을 위한 상황을 논리적으로 연상하기 좋다는 점이 있죠.
조해진 [mastercho]   2004-05-10 20:56 X
이상하게 ,........ 자기가 짤때는 논리적으로  편하다고 하고

남이 볼때는 , 보기 어렵다고 하니.......

참...... 재귀는 아이러니 한듯

+ -

관련 글 리스트
9339 [고찰] 재귀 함수 호출을 어떻게 사용하세요? 조해진 1479 2004/05/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.