디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

횽들 재귀 -> 비재귀 좀 봐줘

씨플+(123.109) 2011.08.23 01:56:43
조회 336 추천 0 댓글 1

횽들 내가 문제보고 재귀함수 비재귀로 바꾸래서 해본건데

어떻게 떠오른 생각을 옮기다보니까 스택도 만들고 순환큐도 만들었어

그러다보니 푸쉬, 팝, 인큐, 디큐 같이 연산이 많아졌는데

코드도 몇줄밖에안되는게 꽤늘었고 이렇게 복잡해지더라도 비재귀가 재귀일때보다 효율이 좋은거야?

그리고 스택이랑 큐 말고 밑에있는 재귀함수 쉽게 비재귀로 효율좋게 만드는법 알려주면 ㄳㄳ

/* 재귀 함수 */

void MergeSort(int DataSet[], int StartIndex, int EndIndex)

{

     if ( EndIndex - StartIndex < 1 )
        return;
   
    MiddleIndex = (StartIndex + EndIndex) / 2;
   
    MergeSort( DataSet, StartIndex,    MiddleIndex );
    MergeSort( DataSet, MiddleIndex+1, EndIndex );
   
    Merge( DataSet, StartIndex, MiddleIndex, EndIndex );

}


 

/* 비재귀 함수 */

void MergeSort(int DataSet[], int StartIndex, int EndIndex)

{

     int MiddleIndex = (StartIndex + EndIndex) /2;
     element Tempelem;
     element Leftelem;
     element Rightelem;
     CircularQueue *CQ;
     CQ_CreateQueue(&CQ, 16);
     Tempelem.Sindex = StartIndex;
     Tempelem.Mindex = MiddleIndex;       
     Tempelem.Eindex = EndIndex;
     Push(Tempelem);
     Enqueue(CQ, Tempelem);
    

     while(!CQ_IsEmpty(CQ))
     {      
          Tempelem = Dequeue(CQ);
          Leftelem.Sindex = Tempelem.Sindex;
          Leftelem.Eindex = Tempelem.Mindex;
          Leftelem.Mindex = (Leftelem.Sindex + Leftelem.Eindex) /2;
      
          if(Leftelem.Eindex - Leftelem.Sindex >= 1)
          {
                Enqueue(CQ, Leftelem);
                Push(Leftelem);
          }
          Rightelem.Sindex = Tempelem.Mindex+1;
          Rightelem.Eindex = Tempelem.Eindex;
          Rightelem.Mindex = (Rightelem.Sindex + Rightelem.Eindex) /2;
          if(Rightelem.Eindex - Rightelem.Sindex >= 1)
          {
                Enqueue(CQ, Rightelem);
                Push(Rightelem);
          }
     }
     
     while(!StackIsEmpty())
     {
          Tempelem = Pop();
          Merge( DataSet, Tempelem.Sindex, Tempelem.Mindex, Tempelem.Eindex);
     }
}


마지막으로 내가 만든 비재귀가 재귀랑 정말 똑같이 돌아가는지도 잘모르겠어..ㅎㅎ

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현역으로 군대 안 간게 의아한 스타는? 운영자 25/06/30 - -
AD 휴대폰 바꿀까? 특가 구매 찬스! 운영자 25/07/02 - -
265921 java좀 한다는 횽들 이것좀 알려줘봐. [10] blackd갤로그로 이동합니다. 11.08.23 151 0
265920 친구없으면 나중에 결혼식은 올릴수있음?하객수 죶망 [13] fee(203.170) 11.08.23 463 0
265918 밑에 아싸 글을 보고... [3] 좋은아버지갤로그로 이동합니다. 11.08.23 83 0
265916 아싸는 슬프다. [10] kisrs(203.252) 11.08.23 124 0
265915 봉천동귀신 이거 호랑작가가 직접 코딩하는건가? (소스포함) [20] blackd갤로그로 이동합니다. 11.08.23 734 0
265914 카카오톡 덕분에 문자요금이 줄었다. [2] Leviticustom갤로그로 이동합니다. 11.08.23 76 0
265913 형들아 Daum 클라우드에 [8] 분당살람갤로그로 이동합니다. 11.08.23 114 0
265912 프갤 상태가 왜 이래? [1] 천재해커(175.196) 11.08.23 69 0
265910 봉천동 귀신 스크롤 웹툰 타이틀로 사용한 플래시에 함수가 들어가 있네. [3] 서태웅s갤로그로 이동합니다. 11.08.23 804 0
265909 ㅋㄱ소환당함 .. ㅋ [7] ㅋㄱ(183.96) 11.08.23 92 0
265908 "계속하려면 아무키나 누르십시오" <- 까만화면 안띄우는 방법 없나요? [3] 잉여(210.57) 11.08.23 307 0
265907 리펙토링 관련 의견 청취 [5] 좆뉴비(61.109) 11.08.23 61 0
265906 디아블로3 나오면 인생 퇴갤 [9] Leviticustom갤로그로 이동합니다. 11.08.23 139 0
265905 java 컴파일 질문요 ㅠ.ㅠ [3] iljeomobolt갤로그로 이동합니다. 11.08.23 64 0
265904 카오스 폐인 이야기(잉여력 자랑..) [7] blackd갤로그로 이동합니다. 11.08.23 104 0
265903 너네 일본계 기업은 어떻게 알아보냐? [23] kisrs(203.252) 11.08.23 276 0
265902 카오스가 그렇게 재미짐? [3] 망함그냥갤로그로 이동합니다. 11.08.23 58 0
265897 우리 오늘 10시에 카오스하자.. [12] 쿄스케갤로그로 이동합니다. 11.08.23 84 0
265894 자살춤은 봅니다. [4] 좋은아버지갤로그로 이동합니다. 11.08.23 70 0
265892 거칠게가 잠잠해졌네 (112.146) 11.08.23 48 0
265890 VS 편집창 질문 ㅁㄴㄻㄹ갤로그로 이동합니다. 11.08.23 34 0
265889 지원해 보고 싶다 nhn [1] 쿄스케갤로그로 이동합니다. 11.08.23 113 0
265888 애니중에 C 라는 애니가 있더라. [5] (112.146) 11.08.23 159 0
265887 나는 글삭제 당한적 한번도 없는데 알바 까면 바로 삭제야? [4] 쿄스케갤로그로 이동합니다. 11.08.23 99 0
265885 이거 웬지 평점 조작삘 [4] (112.146) 11.08.23 118 0
265884 ㅋㄱ 소환글 [1] 망함그냥갤로그로 이동합니다. 11.08.23 50 0
265883 남자라면 이렇게도 살아봐야 하는거 아니겠냐?? [4] 쿄스케갤로그로 이동합니다. 11.08.23 117 0
265881 예전부터 생각해오고 있던건데 [4] 개뭉이갤로그로 이동합니다. 11.08.23 74 0
265879 와 쩐당... 맥에 네오고딕 적용했당.... [2] (112.146) 11.08.23 150 0
265878 아오 시밤 맥킨토시 한글 폰트 진짜 병신 같다. 거칠게갤로그로 이동합니다. 11.08.23 52 0
265874 대기업이 문제인데 대기업을 상대로 물어보네 [4] .3(124.137) 11.08.23 121 0
265873 구글,애플,MS에 휘둘리니까 S/W위기론나오네 ㅋㅋ [8] .3(124.137) 11.08.23 160 0
265872 프겔 법칙 99 [1] 분당살람갤로그로 이동합니다. 11.08.23 72 0
265871 프갤법칙 여섯 [2] 쿄스케갤로그로 이동합니다. 11.08.23 82 0
265870 내가 전에도 말했지만 이건 [2] 99(211.224) 11.08.23 81 0
265869 이번년도 안에... 게임 출시해버린다.... [6] 헛소리갤로그로 이동합니다. 11.08.23 139 0
265868 형님들 입갤인사 올립니다 [2] BOZI_WANG갤로그로 이동합니다. 11.08.23 66 0
265866 6일남음ㅋ 오늘 할일은 걸어서 여행하기 할꺼임 ㅋ [14] 돌고래스피커갤로그로 이동합니다. 11.08.23 103 0
265863 모질라재단 해킹당했냐???? [1] .3(124.137) 11.08.23 78 0
265862 네이버 웹툰같은거 캡쳐해오면 바로 글삭이냐? blackd갤로그로 이동합니다. 11.08.23 69 0
265859 궁금한게 있는데 프로그래밍 갤러리에서 힛갤 간 글 있냐?? [8] 쿄스케갤로그로 이동합니다. 11.08.23 116 0
265858 아 덕짤 좀 ㅁㄴㄻㄹ갤로그로 이동합니다. 11.08.23 63 0
265855 구글이 모토로이 특허만 먹고 제조업은 판다는말이있는데 [2] .3(124.137) 11.08.23 72 0
265854 니들 놀라지 마라 4대강 로봇 물고기는 [2] 분당살람갤로그로 이동합니다. 11.08.23 97 0
265853 내가 보기엔 한국도 언젠가는 이렇게 된다... [2] 분당살람갤로그로 이동합니다. 11.08.23 92 0
265852 MDI폼은 작업표시줄에서 숨길 수 없음? ㅠㅠ [6] ㅇㅇㅇ(121.144) 11.08.23 120 0
265850 프갤의 법칙 둘 [3] blackd갤로그로 이동합니다. 11.08.23 111 0
265849 구글 특문 검색이 있었넹?? blackd갤로그로 이동합니다. 11.08.23 103 0
265848 프갤의 법칙 하나. [4] 좋은아버지갤로그로 이동합니다. 11.08.23 111 0
265847 -_- 리플 열심히 달아 줬더니 글삭튀.. [5] 쿄스케갤로그로 이동합니다. 11.08.23 87 0
뉴스 ‘에스콰이어’ 정채연, 신입 변호사 강효민으로 새로운 얼굴 예고! 허술한 듯 묘한 매력 디시트렌드 07.01
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2