이진탐색2 [알고리즘] 이진 탐색(Binary Search) 이진 탐색(Binary Search) 정렬된 배열에서 특정 값을 찾는 알고리즘입니다.(필수조건!) 특징 반복 또는 재귀적 구현: 이진 탐색은 반복문이나 재귀 함수를 사용하여 구현할 수 있습니다. 정렬된 배열에서 사용: 이진 탐색은 정렬된 배열에서만 사용할 수 있습니다. 배열의 중간 값을 기준으로 탐색 범위를 좁혀가며 값을 찾습니다. 시간 복잡도: 이진 탐색의 시간 복잡도는 O(log n)입니다. 배열을 반으로 분할하면서 탐색 범위를 절반으로 줄여나가기 때문에 탐색 시간이 로그 시간에 비례합니다. 알고리즘 동작 방식 탐색 범위의 시작 인덱스와 끝 인덱스를 설정합니다. 탐색 범위의 중간 인덱스를 찾습니다. 중간 값과 찾고자 하는 값을 비교합니다. 중간 값이 찾고자 하는 값과 일치하면 탐색 성공입니다. 중간 .. 2023. 7. 16. [알고리즘] 순회(전위 순회, 중위 순회, 후위 순회) 이진탐색트리의 추가 부분 입니다. [알고리즘] 이진탐색트리 이진탐색트리? 이진 방식의 탐색을 하기 위한 구조 입니다. 이진탐색트리에서 모든 노드는 아래의 규칙을 가지고 있습니다. 모든 노드의 key는 중복이 되지않습니다. 왼쪽방향의 자식 노드는 부 rhksgml78.tistory.com 1. 전위 순회 (Preorder Traversal) 함수내에서 재귀로 내려가기전 출력합니다. (두개의 서브트리 순회 전) 1. 현재 노드를 출력(처리). 2. 왼쪽 노드를 방문 3. 오른쪽 노드를 방문 void BST_PreOrder(Node* tree, vector& pre) // 전위순회 { if (tree == NULL) // 재귀함수는 항상 탈출조건이 위에있어야함 return; pre.push_back(tree-.. 2023. 4. 27. 이전 1 다음