일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BFS
- 브루트포스
- 스프링
- 트리
- 다이나믹프로그래밍
- 재귀
- dfs
- 역방향 반복자
- 분할정복
- CI/CD
- 그래프
- 분할 정복
- 그리드
- AWS
- 자료구조
- TCP
- 그리드 알고리즘
- 백준
- 다이나믹 프로그래밍
- GIT
- SQL
- 순열
- github action
- 자바
- 도커
- 알고리즘
- 컴퓨터 네트워크
- 이분탐색
- HTTP
- Spring
- Today
- Total
목록자료구조 (3)
코딩성장스토리
순열 함수 next_permutation 이 있고 이를 구현해보겠다. 일단 순열을 구할려면 1.a[i-1]=i이면서 a[j]>a[i-1]를 만족하는 가장 큰 j를 찾는다. 3.a[i-1]과 a[j]를 스왑 한다. 4.a[i]부터 순열을 뒤집는다. 예를 들어 7 2 3 6 5 4 1 이 있다. 여기서 1번 과정을 거치면 7 2 3 6 5 4 1 3이 가장 큰 i가 된다.그리고 2번 과정을 거치면 7 2 3 6 5 4 1 4가 가장 큰 j가 된다. 그리고 스왑하면 7 2 4 6 5 3 1 이 되고 여기서 4번 과정을 거치면 7 2 4 1 3 5 6 가 되면서 7 2 3 6 5 4 1 의 다음 순열이 된다. 코드를 보자 #include using namespace std; void swap(int &a,int..

트리 :사이클이 없는 그래프 정점의 개수 :v 간선의 개수: v-1 루트 있는 트리 1번이 루트다 → 부모가 없음 1은 2의 부모 ,2는 1의 자식 2는 4의 부모 ,4는 2의 자식 3의 자식 6,7 4,5,6,7 →단말 정점 깊이: 루트에서부터 거리 (ex)루트 1의 깊이를 0이라 하면 4의 깊이는 2) 이진 트리: 자식을 최대 2개만 가지고 있는 트리 '트리의 표현: 배열 a[i][0]:i의 왼쪽 노드 ,a[i][1]:i의 오른쪽 노드 로 구현 가능 트리의 순회(이진 트리) 1.프리오더 -전위 순회 -노드 방문 -왼족 자식 노드를 루트로 하는 서브트리 프리오더 -오른쪽 자식 노드를 루트로 하는 서브 트리 프리오더 2.인오더 -중위 순회 -왼족 자식 노드를 루트로 하는 서브트리 인오더 -노드 방문 -오..
그래프 용어정리 정점(node,vertex) 간선(edge) - 정점간의 관계 경로 .정점 a에서 b로가는 경로 사이클- 시작과 도착이 같은 곳(정점 a에서 다시 a로 돌아오는 경로 단순 경로/단순 사이클 1.경로/사이클에서 같은 정점을 두 번 이상 방문하지 않는 경로/사이클 2.특별한 말이 없으면 일반적으로 사용하는 경로와 사이클은 단순 경로/사이클을 말함 방향 있는 그래프 a → b 이면 b→a 는 없다. 방향 없는 그래프(양방향 그래프) a - b 두 정점사이의 방향이 없다. a → b , b→a 두개를 다 나타난다. 루프 간선의 양 끝 점이 같은 경우 a → a 가중치 간선에 가중치가 있는 경우 ex) a에서 b로 이동하는 거리, 이동하는데 필요한 시간 등등 ... 차수 정점과 연결되어 있는 간선..