완전탐색

who_am_i·2021년 3월 25일
0

알고리즘

목록 보기
1/1
post-custom-banner

완전탐색은 무엇일까?

완전탐색은 위의 그림처럼 무엇인가를 알아내기 위해 하나하나 확인하면서 답을 알아가는 것을 완전탐색이라 할 수 있다.

이 말을 정리해보자면

완전탐색 방법

비트 마스크 = 이진수 표현을 자료구조로 쓰는 방법

브루트 포스 = for문과 if문을 이용하여 무식하게 처음부터 끝까지 검색하는 방법

재귀함수 = 함수 내에서 자기 자신을 다시 호출하는 방법

순열 = 서로 다른 n개의 원소에서 r개의 중복을 허용하지 않고 순서대로 늘어 놓는 방법

BFS(너비), DFS(깊이)

예제


N보다 큰 수가 있는지 검사하는 코드

브루트 포스는 아까 말했다싶이 for문과 if문을 이용하여 무시하게 처음부터 끝까지 검색하는 방법입니다.
그래서 위의 예처럼 N보다 큰 수 있는지 검사를 해야된다면,
FOR문으로 돌려 RET에 해당하는 수를 한번씩 다 대입한 후 있을경우 있다 라고 출력 하면됩니다.

특정 학생을 선택하는 코드

비트마스크는 이진수 표현을 자료구조로 쓰는 방법이므로
쉬프트 레프트로 2에 5제곱만큼 1을 쉬프트 하여 32번 학생을 찾을수 있습니다.

n이 1이상일 때 1~n의 합을 반환하는 코드

이번예제는 n이 1이상일때 1부터 n까지의 합을 반환하는 예제로, 위의 코드처럼 함수 내에서 자기자신을 다시 호출하여 답을 구할 수 있습니다.

profile
멋진 개발자가 되고 싶어요 youngjun.site
post-custom-banner

0개의 댓글