Large Rainbow Pointer
728x90
💜 코딩테스트/자료구조 & 알고리즘2023. 12. 8. 14:59[알고리즘 공부] BFS / DFS #3

BFS(너비 우선 탐색) BFS(Breadth-first search)는 같은 깊이에 있는 정점부터 탐색하는 알고리즘이다. BFS(너비 우선 탐색) - Queue 를 사용하여 구현 - 시작 지점에서 가까운 정점부터 탐색 - 시간 복잡도 O(정점의 수 + 간선의 수) Queue 를 사용한 BFS step 1 | Queue [ 1 ] Queue에 1을 enqueue step 2 | Queue [ 2 ] [ 3 ] [ 4 ] 1을 dequeue 하고, 자식 정점 2, 3, 4를 enqueue step 3 | Queue [ 3 ] [ 4 ] [ 5 ] [ 6 ] 2를 dequeue 하고, 자식 정점 5, 6를 enqueue step 4 | Queue [ 4 ] [ 5 ] [ 6 ] 3을 dequeue 하고, 자..

💜 코딩테스트/자료구조 & 알고리즘2023. 12. 5. 17:19[알고리즘 공부] 자바스크립트 이진 탐색(binary search) #1

☘️ 이진 탐색 이진 탐색 정의 이진 탐색은 정렬된 요소들을 절반씩 줄여가며 찾는 알고리즘이다. 이진 탐색 정렬이 되어 있어야 함 배열, 이진 트리 사용하여 구현 시간 복잡도 O(log n) 로 빠름 이진 탐색 구현 - 배열 원하는 숫자를 찾기 방법은 다음과 같다. 정렬된 배열에서 맨 앞을 left, 맨 뒤를 right, 가운데를 mid 로 설정 찾는 숫자를 mid 값과 비교 mid 값이 더 크면 right = mid - 1 mid 값이 더 작으면 left = mid + 1 새롭게 설정된 left 또는 right 값으로 mid 값 다시 설정 이를 반복하여 mid 값과 찾는 숫자가 같으면 종료 배열을 사용하여 이진 탐색을 구현하면 선형 시간 O(n) 이 소요된다. 그래서 이를 해결하기 위해 이진 탐색 트리..

728x90
image
loading