본문 바로가기

알고리즘

DFS (Depth-First Search) BFS (Breadth-First Search) 개념 이 포스트는 SwiftAlgorithmClub DFS, BFS 내용을 정리한 글입니다. DSF (Depth-First Search) DFS 코드에서 확인할 수 있습니다. 깊이 우선 검색 (DFS)은 트리 또는 그래프 데이터 구조를 탐색하거나 검색하기위한 알고리즘입니다. 소스 노드에서 시작하여 가장 깊은 단계까지 추적합니다. 깊이 우선 검색은 유 방향 그래프와 무향 그래프 모두에 사용할 수 있습니다. 위에 탐색하는 과정을 그림으로 표현하면 아래와 같습니다. A -> B -> D -> B 로 다시 돌아가면서 이미 방문한 적이 있다면 다른 간선 E 로 탐색을 합니다. DFS 코드에서 확인할 수 있습니다. let graph = Graph() let node0 = graph.addNode("0") let node.. 더보기
[Swift] Leetcode 684. Redundant Connection 684. Redundant Connection In this problem, a tree is an undirected graph that is connected and has no cycles. The given input is a graph that started as a tree with N nodes (with distinct values 1, 2, ..., N), with one additional edge added. The added edge has two different vertices chosen from 1 to N, and was not an edge that already existed. The resulting graph is given as a 2D-array of edges... 더보기
[Swift] Leetcode 209. Minimum Size Subarray Sum 209. Minimum Size Subarray Sum Given an array of n positive integers and a positive integer s, find the minimal length of a contiguous subarray of which the sum ≥ s. If there isn't one, return 0 instead. Example: Input: s = 7, nums = [2,3,1,2,4,3] Output: 2 Explanation: the subarray [4,3] has the minimal length under the problem constraint. Coding! Using Binary search func minSubArrayLen(_ s: In.. 더보기