본문 바로가기

ETC/자료구조 , 알고리즘

완전탐색

완전탐색이란 무엇인가?

완전탐색이라는 것은 모든 것을 다 찾아본다는 이야기이다.

예를 먼저 들어보는게 가장 설명하기가 쉬울것 같아서 예를 먼저 설명하겠습니다.

 

//10개의 상자와 1개의 사과가 있습니다. 이 중에 1개의 사과를 10개의 상자 중에 한 군데에 감추었습니다.
//이 때 1개의 사과가 있는 상자를 찾으세요

위와 같은 질문에는 가장 단순한 방법은 한 개씩 상자를 오픈하면서 찾아봅니다.

물론 이 글을 보는 사람에게는 이거보다 ‘이진 탐색’으로 찾는게 더 빠르지라고 이야기 할 수 있겠지만

이 글은 완전탐색을 설명하기 위한 글입니다. ^^ 조금만 참아주세요.

다시 한번 이야기하자면 쉽게 한 개씩 다 찾아보겠습니다. 코드로 설명하자면

 

public static void main(String[] args){
	
	int result = 0;

	for(int i = 0 ; i<10 ; i++){
		if(사과가 든 상자}{
			result = i;
			break;
		}			
	}
	
System.out.println(result);

}

위와 같이 0번부터 9번 상자까지 사과가 들었니? 차례대로 찾아보고 사과를 찾았다면 result = i 값을 넣어주고 break를 걸어 반복문을 멈춰줍니다.

이런 방식으로 하나씩 모든 경우를 찾아주는 것이 완전탐색입니다.

'ETC > 자료구조 , 알고리즘' 카테고리의 다른 글

에라토스테네스의 체, 소인수 분해  (0) 2023.09.05
재귀함수  (0) 2022.08.09
시간복잡도  (0) 2022.08.07
프로세스와 쓰레드  (0) 2022.06.20
기본정렬  (0) 2022.05.18