参考答案和解析
参考答案:
  [算法描述]
  int BinSrch(rectype r[ ],int k,low,high)
  //在长为n的有序表中查找关键字k,若查找成功,返回k所在位置,查找失败返回0。
  {if(low≤high) //low和high分别是有序表的下界和上界
  {mid=(low+high)/2;
  if(r[mid].key==k)return (mid);
  else if(r[mid].key>k)return (BinSrch(r,k,mid+1,high));
  else return (BinSrch(r,k,low,mid-1));
  }
  else return (0);//查找失败。
  }//算法结束
更多“试写出折半查找的递归算法。 ”相关问题
  • 第1题:

    52、折半查找算法要求一组数据必须是有序的。


    B

  • 第2题:

    使用递归算法实现折半查找算法int binarySearch(int a[], int low, int high, int key), key在数组a中时,返回位置索引,否则,返回-1; 编写main函数并测试它


    B

  • 第3题:

    二分查找算法,折半查找算法


    public static int binarySearch(int[] value, int key, int begin, int end) { if (begin<=end) { int mid = (begin+end)/2; if (value[mid]==key) return mid; if (key < value[mid]) return binarySearch(value, key, begin, mid-1); return binarySearch(value, key, mid+1, end); } return -1; }

  • 第4题:

    3、二分查找算法,折半查找算法


    public static int binarySearch(int[] value, int key, int begin, int end) { if (begin<=end) { int mid = (begin+end)/2; if (value[mid]==key) return mid; if (key < value[mid]) return binarySearch(value, key, begin, mid-1); return binarySearch(value, key, mid+1, end); } return -1; }

  • 第5题:

    ()采用折半查找法进行查找时,算法至少执行一次。


    错误