C++

#1. 문제https://www.acmicpc.net/problem/2213  #2. 풀이 1. 트리https://webddevys.tistory.com/287 [자료구조]#5_트리[자료구조]#5_트리 트리 자료구조에 대해 알아보겠습니다. Overview 개념 이진트리 순회 이진 탐색 트리 균형 이진트리 AVL 트리 레드-블랙 트리 Map, Set 힙 #0. 개념 1. 트리? [정의] : 트리는 1:n 관계의webddevys.tistory.com트리는 그래프의 한 종류로, 1:N 관계의 계층 구조를 갖는 비 선형 자료구조입니다. 트리는 노드와 노드 간 연결 관계를 표현하는 간선으로 이루어져 있습니다. 트리 자료구조의 노드 개수가 N개라면, 간선의 개수는 N-1개로, 순환 구조를 갖지 않습니다. 2. DP..
#1. 문제https://www.acmicpc.net/problem/1949  #2. 풀이 1. 트리https://webddevys.tistory.com/287 [자료구조]#5_트리[자료구조]#5_트리 트리 자료구조에 대해 알아보겠습니다. Overview 개념 이진트리 순회 이진 탐색 트리 균형 이진트리 AVL 트리 레드-블랙 트리 Map, Set 힙 #0. 개념 1. 트리? [정의] : 트리는 1:n 관계의webddevys.tistory.com트리 자료구조는 그래프의 한 종류로, 1:N 관계의 계층구조를 갖는 비 선형 자료구조입니다. 만약, 트리 노드의 개수가 N이라면, 간선의 개수는 N-1이며, 비순환 구조입니다.  2. DPhttps://webddevys.tistory.com/311 [알고리즘]#5..
#1. 문제https://www.acmicpc.net/problem/10159   #2. 풀이 1. 플로이드-워셜https://webddevys.tistory.com/298 [알고리즘]#2_길 찾기 알고리즘#1. 개념 1. 길 찾기 알고리즘[정의] : 길 찾기 알고리즘은 그래프 자료구조에서 출발점에서 도착점 사이의 경로를 탐색하는 알고리즘입..webddevys.tistory.com플로이드-워셜 알고리즘은 '음수 가중치'를 포함하는 가중치 그래프의 "전체-쌍 최단 경로"를 구하는 알고리즘입니다. 특히, 경유 정점(간접적으로 연결된 서로 다른 정점) 개념이 강조되는 문제에서 플로이드-워셜 알고리즘이 유용합니다. 일반적으로, 플로이드-워셜 알고리즘은 총 3개의 for문을 통해 시작 정점과 도착 정점의 최단 경..
#1. 문제https://www.acmicpc.net/problem/15654  #2. 풀이 1. 백트래킹 [알고리즘]#6_백 트래킹[알고리즘]#6_백 트래킹 백 트래킹 알고리즘에 대해 알아보겠습니다. Overview 개념 예제 #0. 개념 1. 백 트래킹 백 트래킹 알고리즘은 문제 해결을 위해 여러 후보 해결책들을 점진적으로 탐색하며,webddevys.tistory.com백트래킹 알고리즘은 문제 해결을 위해 여러 후보책들을 점진적으로 탐색하는 알고리즘입니다. 백트래킹 알고리즘은 현재 경로가 해결책으로 이어질 수 없다고 판단되면 이전 단계로 돌아가 다른 후보 경로에 대한 탐색을 진행합니다. 일반적으로, 백트래킹 알고리즘은 재귀 호출을 활용한 DFS를 통해 구현합니다. 2. 순열 백트래킹 유형, 순서가 중..
#1. 문제https://www.acmicpc.net/problem/1182  #2. 풀이 1. 백트래킹 [알고리즘]#6_백 트래킹[알고리즘]#6_백 트래킹 백 트래킹 알고리즘에 대해 알아보겠습니다. Overview 개념 예제 #0. 개념 1. 백 트래킹 백 트래킹 알고리즘은 문제 해결을 위해 여러 후보 해결책들을 점진적으로 탐색하며,webddevys.tistory.com백트래킹 알고리즘은 문제 해결을 위해 여러 후보를 점진적으로 탐색해 나가는 방법입니다. 백트래킹 알고리즘은 현재 후보 경로가 해결책으로 이어질 수 없다고 판단되면, 이전 레벨로 돌아가 다른 후보 해결책들을 탐색합니다. 백트래킹 알고리즘은 일반적으로 재귀 호출을 활용한 DFS를 통해 구현합니다. 2. '조합' 유형의 백트래킹, 다만, '반..
#1. 문제https://www.acmicpc.net/problem/3176  #2. 풀이 1. LCA [알고리즘]#7_LCA(Least Common Ancestor)#1. 개념 1. LCA(Least Common Ancestor) LCA 알고리즘은 트리 자료구조에서 두 노드의 가장 가까운 공통 조상 노드를 찾는 알고리즘입니다. 이때, 가장 가까운 노드란, 주어진 두 노드의 경로 상에서 가webddevys.tistory.comLCA 알고리즘은 트리 자료구조에서 두 노드의 가장 가까운 공통 조상을 찾는 알고리즘입니다. LCA 알고리즘은 Binary Lifting 기법을 활용해 최적화를 수행하며, 일반적으로 두 노드의 공통 조상을 찾거나, 두 노드 사이의 거리 혹은 최단/최대 거리를 찾는데 활용됩니다. 2...
#1. 문제https://www.acmicpc.net/problem/1761  #2. 풀이 1. LCA 알고리즘 [알고리즘]#7_LCA(Least Common Ancestor)#1. 개념 1. LCA(Least Common Ancestor) LCA 알고리즘은 트리 자료구조에서 두 노드의 가장 가까운 공통 조상 노드를 찾는 알고리즘입니다. 이때, 가장 가까운 노드란, 주어진 두 노드의 경로 상에서 가webddevys.tistory.comLCA 알고리즘은 트리 자료구조에서 두 노드의 가장 가까운 공통 조상 노드를 찾는 알고리즘입니다. 이때, 가장 가까운 노드란, 주어진 두 노드의 경로 상에서 가장 깊은 곳에 위치한 공통 조상 노드를 의미합니다. LCA 알고리즘은 Binary Lifting 기법을 통해 최적화..
#1. 문제https://www.acmicpc.net/problem/1240  #2. 풀이 1. BFS [자료구조]#6_그래프#0. 개념 1. 그래프? [정의] : 그래프는 노드와 간선들의 집합으로 이루어진 비 선형 자료구조입니다. 그래프의 노드들은 간선을 통해 연결되어 일종의 네트워크를 형성합니다. 그래프는 노드와webddevys.tistory.comBFS는 그래프의 모든 정점을 탐색하는 방법 중 하나입니다. BFS는 현재 레벨의 가장 인접한 정점들을 우선적으로 탐색합니다. 일반적으로, BFS는 큐 자료구조를 활용합니다. 2. BFS = 탐색 or 최단 경로(가중치가 모두 동일한 환경에서만!)먼저, 트리 자료구조는 그래프의 한 종류입니다. 따라서, DFS 혹은 BFS를 트리 자료구조에서도 역시 활용 가..
#1. 문제https://www.acmicpc.net/problem/10282  #2. 풀이 1. 다익스트라 [알고리즘]#2_길 찾기 알고리즘#1. 개념 1. 길 찾기 알고리즘[정의] : 길 찾기 알고리즘은 그래프 자료구조에서 출발점에서 도착점 사이의 경로를 탐색하는 알고리즘입..webddevys.tistory.com다익스트라 알고리즘은 양의 가중치를 갖는 그래프에서 '단일 출발 최단 경로'를 구하는 길 찾기 알고리즘입니다. 일반적으로, 다익스트라 알고리즘은 하나의 출발 정점에 대하여 다른 모든 정점을 도착 정점으로 하는 최단 경로를 찾는 알고리즘으로, 우선순위 큐와 최단 경로 목록을 활용합니다. 주의할 점은 간선의 방향성 여부에 따라서 중복 업데이트 방지를 위해 각 정점의 방문 여부를 기록할 것인지 고..
· 알고리즘
1. 개념 1. 퀵 셀렉트퀵 셀렉트는 주어진 배열에서 k째로 작은 원소를 찾는데 활용되는 알고리즘입니다. 퀵 셀렉트 알고리즘은 퀵 정렬과 비슷한 분할-정복 방식을 활용하지만, 주어진 배열을 모두 정렬하는 대신 특정 원소를 찾는 작업에 초점을 맞춥니다. 퀵 셀렉트 알고리즘은 평균적으로 O(n)의 시간 복잡도를 가지며, 최악의 경우 O(n²)의 시간 복잡도를 갖습니다. 최악의 시간 복잡도가 O(n²)인 이유는 퀵 정렬과 같습니다. 2. 동작 방식주어진 배열에서 피벗을 선택합니다.피벗 원소를 기준으로 배열을 두 개의 부분 배열로 나누고, 피벗 원소보다 작은 원소는 왼쪽 부분 배열로 이동시키고, 반대로 피벗 원소보다 큰 원소는 오른쪽 부분 배열로 이동시킵니다.k(찾고자 하는 k번째 작은 원소의 위치)가 피벗의 ..
Hardii2
'C++' 태그의 글 목록 (2 Page)