对二分算法的理解及结对编程情况

Posted ricardoy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对二分算法的理解及结对编程情况相关的知识,希望对你有一定的参考价值。

一、对二分算法理解

二分算法,又称折半算法,是应用分治策略的典型例子。二分查找主要对有序序列进行对所指定数字的查找,通过不断缩小搜查范围,在比较中间的数后对左右两个数组进行相同操作,以得到最终的带查找数字。时间复杂度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;
}
三、结对编程情况
通过与队友的合作,在敲代码的过程中减少了很多不必要的错误,同时也提高了思维能力,拓展另一个思路。





































以上是关于对二分算法的理解及结对编程情况的主要内容,如果未能解决你的问题,请参考以下文章

对二分法思想的理解 及 结对编程情况汇报

对二分法思想的体会及结对编程情况汇报

对二分思想的理解及结对编程

对分治法思想的体会及结对编程情况汇报

对二分法的理解和结对编程情况

对二分法的学习体会以及关于结对编程的体验分享