https://www.acmicpc.net/problem/1325 A 쪽으로 그래프의 간선을 연결하고 1부터 N까지 모든 노드에 대해 갈 수 있는 노드의 개수를 카운팅한다. 이 값이 max일 경우에만 시작노드를 정답배열에 넣어 마지막에 출력하면 된다. 소스코드 : import sys from collections import deque def bfs(start): queue = deque() queue.append(start) check = [0]*(N+1) check[start] = 1 while queue: X = queue.popleft() for Y in trust[X]: if check[Y] == 0: check[Y] = 1 queue.append(Y) return sum(check) if __..
이진 탐색 트리 BST(Binary Search Tree) 이진 탐색 트리란? -> 이진 탐색 + 연결 리스트 이진 탐색 탐색에 소요되는 시간 복잡도는 O(logN) 하지만 삽입, 삭제가 불가능. 연결 리스트 삽입, 삭제의 시간 복잡도는 O(1) 하지만 탐색하는 시간 복잡도는 O(N) 이 두 가지를 합하여 장점을 모두 얻기 위해 고안된 것이 이진 탐색 트리 즉, 효율적인 탐색 능력을 가지고 자료의 삽입, 삭제도 가능하게 만드는 것이다. 특징 이진 트리의 일종으로 이진 탐색 트리에는 데이터를 저장하는 규칙이 있다. 이진 탐색 트리의 노드에 저장된 키는 유일하다. 루트 노드의 키가 왼쪽 서브 트리를 구성하는 어떠한 노드의 키보다 크다. 루트 노드의 키가 오른쪽 서브 트리를 구성하는 어떠한 노드의 키보다 작다..