#1. 문제 #2. 풀이 1. 최소 신장 트리(Minimum Spanning Tree) [자료구조]#6_그래프 #0. 개념 1. 그래프? [정의] : 그래프는 노드와 간선들의 집합으로 이루어진 비 선형 자료구조입니다. 그래프의 노드들은 간선을 통해 연결되어 일종의 네트워크를 형성합니다. 그래프는 노드와 webddevys.tistory.com 최소 신장 트리는 가중치 그래프 내 간선 목록의 가중치 합이 최소가 되는 신장 트리를 의미합니다. 따라서, 최소 신장 트리는 최소한의 간선을 이용해 부분 그래프(트리)를 형성하는 동시에 가중치의 합이 최소가 되는 신장 트리입니다. 대표적인 MST 알고리즘은 세 가지입니다. - 크루스칼, 프림, 솔린 2. 크루스칼 or 프림 or 솔린 1. 크루스칼 : 크루스칼은 간선..
문제 풀이
#1. 문제 #2. 풀이 1. 최소 신장 트리(Minimum Spanning Tree) [자료구조]#6_그래프 #0. 개념 1. 그래프? [정의] : 그래프는 노드와 간선들의 집합으로 이루어진 비 선형 자료구조입니다. 그래프의 노드들은 간선을 통해 연결되어 일종의 네트워크를 형성합니다. 그래프는 노드와 webddevys.tistory.com Details [정의] : 최소 신장 트리는 가중치 그래프 내 간선들이 갖는 가중치의 합이 최소가 되는 신장 트리. [특징] : 최소 신장 트리 알고리즘으로 크루스칼, 프림, 그리고 솔린 알고리즘이 있습니다. 2. 크루스칼 활용 or 프림 활용 or 솔린 활용 [크루스칼 알고리즘] : 크루스칼 알고리즘은 간선 목록의 오름차순 정렬, 그리고 Union-Find만 기억하..
#1. 문제 2. 풀이 1. Union-Find 알고리즘 [자료구조]#6_그래프 #0. 개념 1. 그래프? [정의] : 그래프는 노드와 간선들의 집합으로 이루어진 비 선형 자료구조입니다. 그래프의 노드들은 간선을 통해 연결되어 일종의 네트워크를 형성합니다. 그래프는 노드와 webddevys.tistory.com Details [정의] : Union-Find 연산은 서로소 집합(Disjoint Set) 표현에 사용되는 알고리즘입니다. [특징] : Find 연산은 원소가 속한 집합의 대표 원소를 찾고, Union 연산은 두 집합을 하나로 합칩니다. 2. 두 원소가 같은 집합이면 NO, 다른 집합이면 YES 먼저, Find 연산을 통해 두 원소의 대표 노드를 찾습니다. 두 원소의 대표 노드는 각 집합을 대표하..
#1. 문제 #2. 풀이 1. 이분 탐색 [알고리즘]#1_이분 탐색(Binary Search) [알고리즘]#1_이분 탐색(Binary Search) 이분 탐색/이진 탐색 알고리즘에 대해 알아보겠습니다. #0. 개념 1. 이분 탐색? [정의] : 이분 탐색(Binary Search)은 정렬된 배열에서 특정한 값을 찾는 데에 사용되 webddevys.tistory.com [정의] : 이분 탐색은 정렬된 데이터 목록에서 특정 값을 찾는 데 사용되는 탐색 알고리즘입니다. [특징] : 데이터 목록이 정렬된 상태일 때, 활용 가능한 알고리즘입니다. [동작 방식] 배열의 시작 지점을 가리키는 포인터, 배열의 마지막 지점을 가리키는 포인터, 두 개의 포인터 초기화 두 개의 포인터가 지정하는 부분 배열의 중간 위치를 구..
#1. 문제 #2. 풀이 1. 그래프 [자료구조]#6_그래프 #0. 개념 1. 그래프? [정의] : 그래프는 노드와 간선들의 집합으로 이루어진 비 선형 자료구조입니다. 그래프의 노드들은 간선을 통해 연결되어 일종의 네트워크를 형성합니다. 그래프는 노드와 webddevys.tistory.com 2. DFS [정의] : 깊이 우선 탐색은 그래프의 모든 정점을 탐색하는 방법 중 하나입니다. [특징] : 깊이 우선 탐색은 한 노드에서 시작해 그래프의 깊은 부분을 우선적으로 탐색하는 방법입니다. [동작 방식] : DFS는 일반적으로 재귀적으로 호출하는 방법과 스택을 활용하는 방법이 있습니다. 재귀적 호출 스택 3. BFS [정의] : BFS(너비 우선 탐색)은 그래프의 모든 노드를 탐색하는 방법 중 하나입니다. ..
#1. 문제 #2. 풀이 1. 그래프 [자료구조]#6_그래프 #0. 개념 1. 그래프? [정의] : 그래프는 노드와 간선들의 집합으로 이루어진 비 선형 자료구조입니다. 그래프의 노드들은 간선을 통해 연결되어 일종의 네트워크를 형성합니다. 그래프는 노드와 webddevys.tistory.com 2. DFS [정의] : 깊이 우선 탐색은 그래프의 모든 정점을 탐색하는 방법 중 하나입니다. [특징] : 깊이 우선 탐색은 한 노드에서 시작해 그래프의 깊은 부분을 우선적으로 탐색하는 방법입니다. [동작 방식] : DFS는 일반적으로 재귀적으로 호출하는 방법과 스택을 활용하는 방법이 있습니다. 재귀적 호출 스택 3. BFS [정의] : BFS(너비 우선 탐색)은 그래프의 모든 노드를 탐색하는 방법 중 하나입니다. ..
#1. 문제 #2. 풀이 1. BFS(너비 우선 탐색) [자료구조]#6_그래프 #0. 개념 1. 그래프? [정의] : 그래프는 노드와 간선들의 집합으로 이루어진 비 선형 자료구조입니다. 그래프의 노드들은 간선을 통해 연결되어 일종의 네트워크를 형성합니다. 그래프는 노드와 webddevys.tistory.com [정의] : BFS(너비 우선 탐색)은 그래프의 모든 노드를 탐색하는 방법 중 하나입니다. [특징] : BFS는 현재 상태에서 가장 인접한 정점들을 우선적으로 탐색하는 방법입니다. [동작 방식] : BFS는 큐를 활용하여 구현 가능합니다. 큐 2. 현재 정점의 방문 순서 기록하기 입력받은 간선 정보를 2차원 벡터에 저장하고, 각 항목에 저장된 vector 컨테이너를 오름차순 정렬합니다. BFS를 수..
#1. 문제 #2. 풀이 1. DFS(깊이 우선 탐색) [자료구조]#6_그래프 #0. 개념 1. 그래프? [정의] : 그래프는 노드와 간선들의 집합으로 이루어진 비 선형 자료구조입니다. 그래프의 노드들은 간선을 통해 연결되어 일종의 네트워크를 형성합니다. 그래프는 노드와 webddevys.tistory.com [정의] : 깊이 우선 탐색은 그래프의 모든 정점을 탐색하는 방법 중 하나입니다. [특징] : 깊이 우선 탐색은 한 노드에서 시작해 그래프의 깊은 부분을 우선적으로 탐색하는 방법입니다. [동작 방식] : DFS는 일반적으로 재귀적으로 호출하는 방법과 스택을 활용하는 방법이 있습니다. 재귀적 호출 스택 2. 정점을 방문할 때마다 순서를 기록하자 먼저, 주어진 간선 정보를 저장하고, 인접 정점들을 오름..
#1. 문제 #2. 풀이 1. 이분 탐색 [알고리즘]#1_이분 탐색(Binary Search) [알고리즘]#1_이분 탐색(Binary Search) 이분 탐색/이진 탐색 알고리즘에 대해 알아보겠습니다. #0. 개념 1. 이분 탐색? [정의] : 이분 탐색(Binary Search)은 정렬된 배열에서 특정한 값을 찾는 데에 사용되 webddevys.tistory.com [정의] : 이분 탐색은 정렬된 데이터 목록에서 특정 값을 찾는 데 사용되는 탐색 알고리즘입니다. [특징] : 데이터 목록이 정렬된 상태일 때, 활용 가능한 알고리즘입니다. [동작 방식] 배열의 시작 지점을 가리키는 포인터, 배열의 마지막 지점을 가리키는 포인터, 두 개의 포인터 초기화 두 개의 포인터가 지정하는 부분 배열의 중간 위치를 구..
#1. 문제 #2. 풀이 1. DFS [자료구조]#6_그래프 #0. 개념 1. 그래프? [정의] : 그래프는 노드와 간선들의 집합으로 이루어진 비 선형 자료구조입니다. 그래프의 노드들은 간선을 통해 연결되어 일종의 네트워크를 형성합니다. 그래프는 노드와 webddevys.tistory.com [정의] : DFS(깊이 우선 탐색)은 그래프 내 모든 정점을 탐색하는 방법 중 하나입니다. [특징] : DFS는 현재 정점을 기준으로 깊은 탐색을 우선적으로 진행하고, 다음 인접 정점에 대한 깊이 탐색을 진행. [구현] 재귀 호출 스택 2. 두 개의 DFS - 양수에 대한 재귀 DFS, 음수에 대한 재귀 DFS numbers 목록의 첫 번째 정점을 시작으로 양수 값에 대한 DFS와 음수 값에 대한 DFS를 호출합니..