이진 검색 C++ 단순 프로그램 알고리즘 자료 전체 개요

C++ 바이너리 검색 프로그램은 선형 배열에서 특정 값을 찾기 위해 검색 과정이 발생할 때마다 데이터를 두 부분으로 나누는 검색 알고리즘입니다. 이진 검색 C++ 검색 프로세스는 미리 정렬된 데이터 세트에서만 수행할 수 있습니다.
이진 검색은 중간 값(중앙값)을 찾고 검색된 값이 앞 또는 뒤에 오는지 여부를 확인하기 위해 비교를 수행한 다음 동일한 방식으로 나머지 절반을 검색합니다. 이진 검색은 다음에 대해 수행됩니다.
) 특히 매우 많은 양의 데이터에 대해 검색된 데이터와 테이블의 데이터 간에 수행해야 하는 비교 작업의 수를 최소화합니다.
b) 검색이 앞, 뒤, 중앙에서 이루어지기 때문에 연산부하도 적다.
다) 기본 원리는 데이터를 찾을 때까지 또는 검색 공간을 다시 분할할 수 없을 때까지(즉, 데이터를 찾지 못할 가능성이 있음을 의미) 검색 공간을 반복적으로 분할하는 프로세스입니다.
d) 그리고 이 간단한 C++ 언어 프로그램에서 이진 검색을 위한 주요 조건은 테이블의 데이터가 정렬되어야 한다는 것입니다.

이진 검색 알고리즘 C++

1. 먼저 초기 위치가 0이고 최종 위치 = N - 1이고, 공식으로 중간 데이터 위치를 검색합니다. . 그런 다음 중간 위치 공식, 즉 = (시작 위치 + 끝 위치) div 2.3을 사용하여 중간 데이터 위치를 찾습니다. 그런 다음 검색된 데이터를 중간 데이터와 비교합니다. 동일하면 데이터를 찾으면 처리 완료 b. 이보다 작으면 과정을 반복하지만 최종 위치는 중간 위치 -1.c와 동일한 것으로 간주됩니다. 크면 반복하지만 초기 위치는 +1.4의 중간 위치와 동일한 것으로 간주됩니다. 데이터를 찾거나 찾을 때까지 두 번째 단계부터 반복합니다.5. 이 이진 검색은 발견된 데이터가 초기 위치가 끝 위치보다 크면 종료됩니다. 초기 위치가 최종 위치보다 크면 데이터를 찾을 수 없음을 의미합니다.


이진 검색 방법으로 검색

#include
네임스페이스 std 사용
정수 메인() { int n, 숫자[12], 왼쪽, 오른쪽, 중앙, 온도, 키; 부울 발견 = 거짓;
cout<<'하디팔'< cout <<'========================================================================================================= cout<<'=========프로그램 이진 검색 C++==========='< cout<<'=========================================================================================================== <끝; cout<<'데이터 개수를 입력하세요: '; 신>>n;
for(int i=0; i { cout<<'번째 자리 - ['< cin>>숫자[i]; } for (int i=0; i { for(int j=0; j< n-i-1; j++) { if (숫자 [j] > 숫자 [j+1]) { 온도=숫자[j]; 숫자[j]=숫자[j+1]; 숫자[j+1]=온도; } } } cout<<'정렬된 데이터는: '; for(int i=0; i { cout<<숫자[i]<<' '; } cout<<'\n 찾고자 하는 번호를 입력하세요: '; 신>>키;
피부=0; kanan=n-1;
동안(왼쪽<=오른쪽) { 가운데=(왼쪽 + 오른쪽)/2; if(키 == 숫자[가운데]) { 발견 = 사실; 부서지다; } else if (키 < 숫자 [가운데]) { 오른쪽 = 중앙 -1; } 또 다른 { 왼쪽 = 중앙 +1; } } if (찾음 == true) cout<<'번호를 찾았습니다!'; 또 다른 cout<<'번호를 찾을 수 없습니다'; 반환 0; }
출력 - 단순 이진 검색 C++ 프로그램 예제
  이진 검색 C++ 단순 자료 및 프로그램 전체 개요