본문 바로가기

CS11

c++ <-> JAVA 자료구조. https://katfun.tistory.com/128 [Java] Java에서 사용하는 여러 자료구조 정리 제가 주로 코딩 테스트를 C++로 응시하다 보니 C++의 문법에 상당히 익숙해져 있는 상태입니다. Spring Boot 등의 프레임워크를 이용하는 경우 Java를 쓰게 되는데, 동일한 자료구조를 사용해도 문법 katfun.tistory.com 나와 비슷한 분이 계셨따 2024. 1. 31.
해시 unordered_set int main() { ios::sync_with_stdio(0); cin.tie(0); unordered_set s; s.insert(-50); s.insert(200); s.insert(20); cout 2024. 1. 31.
다익스트라 vs 플로이드 와샬 다익스트라 1. 하나의 정점에서 출발하여 다른 모든 정점으로의 최단거리 2. 시작 노드가 정해져 있는 상태에서 특정 노드까지의 거리를 구하는 경우 3. 음의 가중치 사용 불가 4. 시간복잡도 : 순차탐색 O(N^2), 우선순위큐 O(ElogV) 플로이드 와샬 1. 모든 정점에서 다른 모든 정점까지의 최단거리 2. 시작노드가 정해져 있지 않은 많은 경우를 고려해야하는 경우 3. 음의 가중치 사용 가능 4. 시간복잡도 : O(V^3) 5. n이 500이하인 경우가 대부분 6. 2차원 테이블에 값들 저장 2023. 4. 28.
매개변수탐색 랜선자르기 코드 A가 줄어들수록 B가 늘어나는 그런느낌 int n, m; int arr[10005]; bool func(long long x) { //길이가 x일때 m개 이상인지 long long cur = 0; for (int i = 0; i = m; } int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for (int i = 0; i > arr[i]; } long long st = 1; long long en = 0x7fffffff; while (st < en) { long long mid = (st + en + 1) / 2;.. 2023. 4. 10.
이분탐색 정렬되어 있는 배열에서 특정 데이터를 찾기 위해 탐색 범위를 절반으로 줄여가면서 찾는 탐색 방법 int arr[100005]; int n,m; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 0; i > arr[i]; } sort(arr, arr + n); cin >> m; for (int i = 0; i > a; cout 2023. 4. 9.
다익스트라 c++ 하나의 시작점으로부터 다른 정점들까지의 최단거리를 구하는 알고리즘 O(ElgE) 1753 순서 1. 거리 무한으로 해놓고 2. 정점들 연결해주고 3. 초기값 넣어주고 4. 거리값이 최소값인지 확인하고 5. 최단거리테이블 값과 현재 정점을 거쳐가는 값을 비교 int v, edges, start; vector adj[20005]; //거리, 정점 int d[20005]; int main(void) { ios::sync_with_stdio(0); cin.tie(0); int a, b, c; cin >> v >> edges >> start; fill(d, d + v + 1, 12345678); for (int i = 0; i > a >> b >> c; adj[a].push_.. 2023. 4. 3.