백트래킹 (Backtracking) 정의 백트래킹은 모든 가능한 경우의 수 중에서 특정 조건을 만족하는 경우만을 찾아내는 기법입니다. 해결 과정에서 더 이상 진행이 불가능하다고 판단되면, 이전의 분기점으로 돌아가 다른 가능성을 탐색합니다. 사용 예 문제: N-Queen, 순열, 조합 등 과정 설명 선택: 가능한 후보 중 하나를 선택합니다. 제약 조건 검사: 선택이 문제의 제약 조건에 위배되는지 확인합니다. 목표 확인: 현재 선택이 문제 해결의 목표에 도달했는지 확인합니다. 불가능한 경우 백트래킹: 선택이 불가능하다면 이전 단계로 돌아갑니다. Sudo Code def is_safe(board, row, col): # 해당 위치에 퀸을 놓을 수 있는지 확인하는 함수 def solve_n_queen(board..
너비 우선 탐색 (BFS, Breadth-First Search) BFS는 그래프의 모든 정점을 탐색하는 알고리즘 가장 가까운 정점부터 우선적으로 탐색하는 방식 특징 재귀적으로 동작하지 않는다 어떤 노드를 방문했었는지 여부를 반드시 검사해야 한다 (무한 루프의 위험) 방문한 노드들을 차례대로 저장 한 후 꺼낼 수 있는 자료 구조인 큐(Queue)를 사용한다 일반적으로 큐를 이용해서 반복적 형태로 구현하는 것이 가장 잘 동작한다 Prim 알고리즘, 다익스트라 알고리즘(Dijkstra’s Algorithm) 과정 설명 시작 정점 선택: 탐색을 시작할 정점을 선택합니다. 인접 정점 큐에 추가: 현재 정점에 인접한 모든 정점을 큐에 추가합니다. 큐에서 정점 추출: 큐에서 정점을 하나씩 추출하며 탐색합니다. 방문..
깊이 우선 탐색 (DFS, Depth-First Search) 정의 DFS는 그래프의 모든 정점을 탐색하는 알고리즘 중 하나로, 가장 깊은 부분을 우선적으로 탐색하는 방식입니다. 사용 예 문제: 그래프의 모든 정점 방문, 경로 탐색 등 과정 설명 시작 정점 선택: 탐색을 시작할 정점을 선택합니다. 인접 정점 탐색: 현재 정점에서 갈 수 있는 인접한 정점을 찾습니다. 깊이 우선 탐색: 인접한 정점 중 하나를 선택하여 더 깊게 탐색합니다. 방문 체크: 방문한 정점은 체크하여 중복 방문을 방지합니다. Sudo Code def dfs(graph, v, visited): visited[v] = True for i in graph[v]: if not visited[i]: dfs(graph, i, visited)
- Total
- Today
- Yesterday
- electron
- 취업
- 개발
- 개발/언어/Java
- AI/GPT
- ⌨️Developer
- 개발/webrtc
- 개발/보안
- 개발/Electron
- 대외활동/카카오테크캠퍼스
- 개발/CS/OS
- 개발/Java
- 개발/OOP
- 개발/프레임워크&라이브러리
- 카카오테크캠퍼스
- 개발/Java/Spring
- 카카오 테크 캠퍼스
- 개발/Tools/프레임워크/Spring
- 카테캠
- 개발/네트워크
- 개발/CS/알고리즘
- 개발/에러
- 개발/환경
- ai
- ⌨️Developer/보안
- 개발/컴퓨터네트워크
- 개발/MySQL
- AI/ML
- 알고리즘
- 개발/언어론
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |