| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 그래프 코드 구현
- 백준 10810
- 백준 10813
- 깊이우선탐색 python
- 백준
- 깊이우선탐색 장단점
- 해시 테이블 체이닝
- 코딩
- 깊이우선탐색
- 백준 공 넣기
- 해시테이블
- 공 바꾸기
- 그래프란
- 탐욕 알고리즘
- 너비우선탐색 python
- hash function
- 공 바꾸기 해석
- 그래프 방향성
- 동적 프로그래밍
- 그래프 활용예시
- 그래프 양방향
- 백준 공 바꾸기
- 공 넣기
- 그래프 무방향성
- 공 넣기 해석
- 그래프 유형
- 너비우선탐색 장단점
- github기본 #github #브랜치 #CLI #CLI입문
- 백준 풀이
- 오픈 어드레싱
- Today
- Total
목록2021/12/06 (2)
Data Scientist(DS)
Dynamic Programming 개념 주어진 문제의 일부를 풀고 그 결과를 재활용하는 방법이다. 하나의 문제를 중복되는 서브 문제로 나누어 푸는 방법. 분할 정복(Divide and Conquer) < 동적 프로그래밍 (Dynamic Programming) 속하는 개념 DP는 중복되는 서브 문제가 있지만(그래서 메모이제이션도 활용 가능) 분할 정복은 분할된 서브문제가 독립적이다. 방법론 메모이제이션 (하향식) 메인 문제를 분할하면서 해결 하는 방법 코드 구현 피보나치 수열을 구하는 방법을 기준으로 비교해보았다. 피보나치 수열: [1,1,2,3,5,8,,,,] 이런식으로 앞의 두개의 항을 더한 수열을 말한다. 첫번쨰와 두번째 항의 경우 1이 들어가는 것이 원칙이다. 메모이제이션은 메인을 분할하고 해결하..
BFS (Breadth First Search) : 너비 우선 탐색 개념 최대한 넓게 탐색하는 것 큐의 개념이 사용된다. 위 이미지를 참조하자면, s - 1 - 2 - 3 - 4 - 5 - 6 - 7 순서로 탐색한다. 활용 최단거리를 구하는 문제 ex) 미로찾기 등 장/단점 장점 무한히 깊은 경로여도 최단 경로를 반드시 찾을 수 있고 최단 경로 찾기에 적합하다. 노드 수가 적고 깊이가 얕을 때 효과적으로 찾을 수 있다. 단점 큐를 이용하기 때문에 노드 수가 많아지면 메모리를 많이 소비한다. 노드 수가 많아지면 탐색할 노드가 많아져 비효율적이다. 코드 구현 # 첫번쨰 방법 def bfs_queue(start_node, bfs_graph): bfs_list = list() queue = list() queu..