데이터 구조 와 알고리즘 이분법 찾기 [Python 과 C] 의 실현
Python:
def ErFen(List ,Number ,Len):
left = 0
high = Len - 1
while left <= high:
mid = (left + high)//2
if Number > List[mid]:
left = mid + 1
elif Number < List[mid]:
high = mid - 1
elif Number == List[mid]:
return mid
return -1
a = [1,2,3,4,5,6,7,8,9,10]
number = int(input(' :'))
Len = len(a)
print(ErFen(a,number,Len))
C:
#include
/*binsearch : find x in v[0] <= v[1] <= ... <= v[n-1] */
int binsearch(int x, int v[], int n){
int low, high, mid;
low = 0;
high = n - 1;
while ( low <= high ) {
mid = (low + high) / 2;
if(x < v[mid]){
high = mid - 1;
}
else if(x > v[mid]){
low = mid + 1;
}
else{ /*found match*/
return mid;
}
}
return -1;
}
int main(){
int array[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int location;
int number = 9;
location = binsearch(number, array, 11);
printf("%d
", location);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.