순간을 기록으로

[재귀] 이진수출력 본문

Problem Solving

[재귀] 이진수출력

luminous13 2022. 1. 5. 17:12

느낀 점

재귀함수란 함수 안에서 자시 자신을 호출하는 함수를 말한다. 이렇게 함수가 자기 자신을 호출하게 되면 끊임 없이 호출이 계속되는데 이렇게 되면 스택오버플로우가 발생하게된다. 따라서 재귀함수는 반드시 1.탈출 조건 2. 자신 호출이 있어야한다.

 

보통 구조는 다음과 같이 if-else 구조를 가진다.

 

public void function(int n) {
  if(탈출 조건){
      return;
  }
  else {
      function(n-1);
  }
}

 

 

 

public class Main {
    public void DFS(int n) {
        if (n == 0){
            return;
        }
        else {
            DFS(n/2);
            System.out.print(n%2);
        }
    }

    public static void main(String[] args) {
        Main T = new Main();
        T.DFS(11);
    }
}

'Problem Solving' 카테고리의 다른 글

[JAVA] 삽입정렬(Inserting Sort)  (0) 2022.01.07
[JAVA] 크레인 인형뽑기  (0) 2022.01.07
[정렬] 버블정렬  (0) 2022.01.05
[코딩테스트] 괄호문자제거  (0) 2022.01.05
[자바] 11729번 하노이 탑 이동  (0) 2021.12.09
Comments