탐색 (2) 썸네일형 리스트형 이진탐색트리 Binary Search Tree 탐색, 삽입, 삭제, 순회 search, insert, delete, traverse 구현하기 이진탐색트리 Binary Search Tree 이진탐색트리의 개념 각 노드의 왼쪽 서브트리에는 현재 노드보다 작은 값을 가진 노드만 있다. 각 노드의 오른쪽 서브트리에는 현재 노드보다 큰 값을 가진 노드만 있다. 중복 노드가 없다. inorder traverse를 한다 (왼쪽 - 루트 - 오른쪽) → 오름차순 정렬 가능 class Node: def __init__(self,value): self.value = value self.left = None self.right = None class BinarySearchTree: def __init__(self): self.root = None def setRoot(self,value): self.root = Node(value) 탐색 Search class .. BFS (Breath First Search) 너비우선탐색, DFS (Depth First Search) 깊이우선탐색 이번 글에서는 코딩테스트 출제 빈도가 아주 높은 알고리즘은 BFS 너비우선탐색과 DFS 깊이우선탐색 에 대해 소개하겠습니다. 이번 정리 역시 프로그래머스에서 코딩테스트 연습을 하다가 BFS/DFS 영역의 문제를 풀기전 개념을 다시 한 번 정확히 정리해보고자 정리한 글입니다. BFS와 DFS는 그래프 자료구조를 탐색할 때 사용되는 기법입니다. 두 기법 모두 그래프에 속한 모든 노드를 방문하는 것을 목적으로 하는데, 탐색 우선 순위를 어떤 것으로 두는 지에 따라 두 기법의 차이가 있습니다. 너비 우선 탐색 BFS (Breath First Search) BFS의 개념 BFS는 이름에서 알 수 있듯이, 너비 Breath를 우선으로 탐색하는 기법입니다. 그래프 탐색의 시작점 (루트 또는 특정 노드) 과 같은 거리.. 이전 1 다음