一、对二分算法理解
二分算法,又称折半算法,是应用分治策略的典型例子。二分查找主要对有序序列进行对所指定数字的查找,通过不断缩小搜查范围,在比较中间的数后对左右两个数组进行相同操作,以得到最终的带查找数字。时间复杂度logn,对数组较大时能显著提高程序效率。
二、算法代码
#include <iostream>using namespace std;int main(){ int n,x; cin >> n; if(1<=n<=100){ int a[n]; for(int i=0;i<n;i++){ cin >> a[i]; } cin >> x; int left = 0; int right = n-1; int num = 0; while(left<=right){ num++; int mid = (left+right)/2; if(x==a[mid]){ cout << mid << endl; cout << num << endl; return 0; } else if(x < a[mid]){ right = mid - 1; } else if(x > a[mid]){ left = mid+1; } } cout << "-1"<<endl; cout << num << endl; } return 0;}三、结对编程情况通过与队友的合作,在敲代码的过程中减少了很多不必要的错误,同时也提高了思维能力,拓展另一个思路。
原文地址:https://www.cnblogs.com/RicardoY/p/9822411.html
时间: 2024-11-06 16:16:07