
- 보통 재귀로 구현하며 조건이 맞지 않으면 종료한다. - DFS(깊이 우선 탐색) 기반 현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘이다. 코딩에서 반복문의 횟수까지 줄일 수 있으므로 효율적이다. 이를 가지치기라고 하는데, 불필요한 부분을 쳐내고 최대한 올바른 쪽으로 간다는 의미이다. 즉 답이 될만한지 판단하고 그렇지 않으면 그 부분까지 탐색하는 것을 하지 않고 가지치기 하는 것을 백트래킹이라고 생각하면 된다. 예를 들어 A,B,C라는 사람이 각각 순서를 정할때 가능한 모든 경우의 수를 찾는 것으로 첫번째 순서가 A일경우 ,B일경우, C일경우 각각 차례대로 따지는 식이다.
알고리즘/개념정리
2022. 12. 30. 00:00

완전 탐색은 모든 경우의 수를 다 시도해 보는 것으로 상대적으로 구현이 간단하고, 해가 존재하면 항상 찾게된다. 경우의 수에 따라 실행 시간이 비례하기 때문에 입력 값의 범위가 작은 경우 유용하다. 📍 단순 Brute-force 단순히 반복문과 조건문으로 모든 경우를 만들어 답을 구하는 방법 이 방법만을 사용하는 문제는 거의 나오지 않는다. 📍 비트마스크 (Bitmask) 나올 수 있는 모든 경우의 수가 각각의 원소가 포함되거나, 포함되지 않는 두가지 선택으로 구성되는 경우 유용하게 사용 ex) '원소가 n개인 집합의 모든 부분 집합' 을 구한다고 할 경우, 각 원소가 포함되는지 포함되지 않는지를 0,1로 구분하여 배열에 저장해둘 수 있음 📍 재귀함수 비트마스크와 마찬가지로 각 원소가 두 가지 선택지를 ..
알고리즘/개념정리
2022. 12. 30. 00:00
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 디자인시스템
- eventListner
- event종류
- props
- Vue.js
- store.js
- 더미데이터
- 항해솔직후기
- React18v
- JWT토큰
- 그림으로 이해하는 시스템 설계
- 항해플러스프론트엔드
- 알고리즘
- 프로덕트설계
- 개발자
- vue3
- 회고
- http
- vue.js3
- 이벤트리스너
- 항해플러스후기
- 결제기능
- 로그인 인증
- focus와blur
- 시스템설계
- 레포지토리패턴
- Repository pattern
- react
- 구름톤
- vite
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함