2019-09-11

Sep 11 In-Class Exercise Thread .

Post your solutions to the Sep 11 In-class Exercise to this Thread.

Best,

Chris

Post your solutions to the Sep 11 In-class Exercise to this Thread. Best, Chris

-- Sep 11 In-Class Exercise Thread

<?php

function binarySearch(t, P, low, high, current) { a = P[t]; while(low <= high) { m = (low + high)/2; if(a[m] == current) return a[m+1]; if(a[m] &lt; current) low = m + 1; else high = m - 1; } return a[$low]; }

t = "frog"; P = [ &quot;aadvark&quot; =&gt; [1, 5, 9], &quot;frog&quot; =&gt; [1, 2, 3, 5, 25, 26, 27, 38, 50], &quot;salamander&quot; =&gt; [1 ,3, 14, 67] ];

echo binarySearch(t, P, 1, 4, 14);

(Edited: 2019-09-11)
<?php function binarySearch($t, $P, $low, $high, $current) { $a = $P[$t]; while($low <= $high) { $m = ($low + $high)/2; if($a[$m] == $current) return $a[$m+1]; if($a[$m] < $current) $low = $m + 1; else $high = $m - 1; } return $a[$low]; } $t = "frog"; $P = [ "aadvark" => [1, 5, 9], "frog" => [1, 2, 3, 5, 25, 26, 27, 38, 50], "salamander" => [1 ,3, 14, 67] ]; echo binarySearch($t, $P, 1, 4, 14);

-- Sep 11 In-Class Exercise Thread

&lt;?php function binarySearch(t, P, low, high, current) { while(high - low > 1) { mid = (int)(high+low) / 2; if(P[t][mid] < current) return binarySearch(t,P,mid,high,current); else return binarySearch(t,P,low,mid,current); } if(high - low == 1) { if(P[t][low] <= current &amp;&amp; P[t][high] > current) return P[t][$high]; } }

t = "frog"; P = [ &quot;aadvark&quot; =&gt; [1, 5, 9], &quot;frog&quot; =&gt; [1, 2, 3, 5, 25, 26, 27, 38, 50], &quot;salamander&quot; =&gt; [1 ,3, 14, 67] ]; echo binarySearch(t, P, 1, 4, 14);

<?php function binarySearch($t, $P, $low, $high, $current) { while($high - $low > 1) { $mid = (int)($high+$low) / 2; if($P[$t][$mid] < $current) return binarySearch($t,$P,$mid,$high,$current); else return binarySearch($t,$P,$low,$mid,$current); } if($high - $low == 1) { if($P[$t][$low] <= $current && $P[$t][$high] > $current) return $P[$t][$high]; } } $t = "frog"; $P = [ "aadvark" => [1, 5, 9], "frog" => [1, 2, 3, 5, 25, 26, 27, 38, 50], "salamander" => [1 ,3, 14, 67] ]; echo binarySearch($t, $P, 1, 4, 14);

-- Sep 11 In-Class Exercise Thread

&lt;?php function binarysearch(t,P,low,high,current){ arr = P[t];

if (high < low) return false; while(low<=high){ mid = floor((high + low)/2); if (arr[mid] == current)
low=mid+1;

elseif (arr[mid] &gt; $current) {

    	$high=$mid-1;
	} 
	else { 

    	$low=$mid+1;
	} 
}
return $arr[$low];

}

t = "frog"; P = [ &quot;aadvark&quot; =&gt; [1, 5, 9], &quot;frog&quot; =&gt; [1, 2, 3, 5, 25, 26, 27, 38, 50], &quot;salamander&quot; =&gt; [1 ,3, 14, 67] ]; echo binarySearch(t, P, 1, 4, 14);

<?php function binarysearch($t,$P,$low,$high,$current){ $arr = $P[$t]; if ($high < $low) return false; while($low<=$high){ $mid = floor(($high + $low)/2); if ($arr[$mid] == $current) $low=$mid+1; elseif ($arr[$mid] > $current) { $high=$mid-1; } else { $low=$mid+1; } } return $arr[$low]; } $t = "frog"; $P = [ "aadvark" => [1, 5, 9], "frog" => [1, 2, 3, 5, 25, 26, 27, 38, 50], "salamander" => [1 ,3, 14, 67] ]; echo binarySearch($t, $P, 1, 4, 14);

-- Sep 11 In-Class Exercise Thread

&lt;?php function binarySearch(t, P, low, high, current){ mid = low + (high-low)/2; if(low&lt;=high){ if(P[t][low] &gt; current){ return P[t][low]; } else if(P[t][mid] <= current){ binarySearch(t,P,mid + 1, high, current); } } return P[t][high]; }

t = "frog"; P=[&quot;aadvark&quot; =&gt; [1, 5, 9], &quot;frog&quot; =&gt; [1,2,3,5,25,26,2,38,50], &quot;salamander&quot; =&gt; [1,3,14,6] ];

echo binarySearch(t, P, 1, 4, 14); ?&gt;

(Edited: 2019-09-11)
<?php function binarySearch($t, $P, $low, $high, $current){ $mid = $low + ($high-$low)/2; if($low<=$high){ if($P[$t][$low] > $current){ return $P[$t][$low]; } else if($P[$t][$mid] <= $current){ binarySearch($t,$P,$mid + 1, $high, $current); } } return $P[$t][$high]; } $t = "frog"; $P=["aadvark" => [1, 5, 9], "frog" => [1,2,3,5,25,26,2,38,50], "salamander" => [1,3,14,6] ]; echo binarySearch($t, $P, 1, 4, 14); ?>

-- Sep 11 In-Class Exercise Thread

function binarySearch(t, P, low, high, current){ if(P[t][low] &gt; current){ return P[t][low]; } while(low <= high){ mid = (low + high)/2; if(P[t][mid] == current){ return P[t][mid + 1]; }elseif(current < P[t][mid]){ high = mid - 1; }else{ low = mid + 1; } } return P[t][floor($high)]; }

t = "frog"; P = [ &quot;aadvark&quot; =&gt; [1, 5, 9], &quot;frog&quot; =&gt; [1, 2, 3, 5, 25, 26, 27, 38, 50], &quot;salamander&quot; =&gt; [1 ,3, 14, 67] ]; echo binarySearch(t, P, 1, 4, 14);

(Edited: 2019-09-11)
function binarySearch($t, $P, $low, $high, $current){ if($P[$t][$low] > $current){ return $P[$t][$low]; } while($low <= $high){ $mid = ($low + $high)/2; if($P[$t][$mid] == $current){ return $P[$t][$mid + 1]; }elseif($current < $P[$t][$mid]){ $high = $mid - 1; }else{ $low = $mid + 1; } } return $P[$t][floor($high)]; } $t = "frog"; $P = [ "aadvark" => [1, 5, 9], "frog" => [1, 2, 3, 5, 25, 26, 27, 38, 50], "salamander" => [1 ,3, 14, 67] ]; echo binarySearch($t, $P, 1, 4, 14);

-- Sep 11 In-Class Exercise Thread

&lt;?php function binarySearch(t, P, low, high, current){ if(high&gt;=low){ mid=low + floor((high-low)/2); if(P[t][mid]==current && mid&lt;count(P[t])){ return P[t][mid]; } else if (high-low==1){ return (P[t][high]);

}
else if ($P[$t][$mid]>$current){
    return binarysearch($t,$P,$low,$mid-1,$current);
}
else if ($P[$t][$mid]<$current){
    return binarysearch($t,$P,$mid+1,$high,$current);
}
}

}

t = "salamander"; P = [ &quot;aadvark&quot; =&gt; [1, 5, 9], &quot;frog&quot; =&gt; [1, 2, 3, 5, 25, 26, 27, 38, 50], &quot;salamander&quot; =&gt; [1 ,4, 14, 67] ]; echo binarySearch(t, P, 1,2,9); ?&gt;

(Edited: 2019-09-11)
<?php function binarySearch($t, $P, $low, $high, $current){ if($high>=$low){ $mid=$low + floor(($high-$low)/2); if($P[$t][$mid]==$current && $mid<count($P[$t])){ return $P[$t][$mid]; } else if ($high-$low==1){ return ($P[$t][$high]); } else if ($P[$t][$mid]>$current){ return binarysearch($t,$P,$low,$mid-1,$current); } else if ($P[$t][$mid]<$current){ return binarysearch($t,$P,$mid+1,$high,$current); } } } $t = "salamander"; $P = [ "aadvark" => [1, 5, 9], "frog" => [1, 2, 3, 5, 25, 26, 27, 38, 50], "salamander" => [1 ,4, 14, 67] ]; echo binarySearch($t, $P, 1,2,9); ?>

-- Sep 11 In-Class Exercise Thread

&lt;?php

function binarySearch(t, P, low, high, current) { if (count(P) === 0) return false;

a = P[t]; low = $low - 1;

while (low <= high) { mid = floor((low + $high) / 2);

if($a[$mid] == $current)
{
  return true;
}

if($current < $a[$mid])
{
  $high = $mid -1;
}
else
{
  $low = $mid + 1;
}

} return a[low];

}

t = "frog"; P = [&quot;aadvark&quot; =&gt; [1, 5, 9], &quot;frog&quot; =&gt; [1, 2, 3, 5, 25, 26, 27, 38, 50], &quot;salamander&quot; =&gt; [1, 3, 14, 67]];

echo binarySearch(t, P, 1, 4, 14); echo &quot; &quot;;

?&gt;

<?php function binarySearch($t, $P, $low, $high, $current) { if (count($P) === 0) return false; $a = $P[$t]; $low = $low - 1; while ($low <= $high) { $mid = floor(($low + $high) / 2); if($a[$mid] == $current) { return true; } if($current < $a[$mid]) { $high = $mid -1; } else { $low = $mid + 1; } } return $a[$low]; } $t = "frog"; $P = ["aadvark" => [1, 5, 9], "frog" => [1, 2, 3, 5, 25, 26, 27, 38, 50], "salamander" => [1, 3, 14, 67]]; echo binarySearch($t, $P, 1, 4, 14); echo " "; ?>

-- Sep 11 In-Class Exercise Thread

function binarySearch(t, P, low, high, current) { array = P[t]; return binarySearchHelper(array, low, high, current); } function binarySearchHelper(arr, low, high, current) {

  if($current>$arr[$high])
  {
  return -1;
  }
  if($high<$low)
  {
    return -1;
  }
  if($current < $arr[$low])
  {
     return $arr[$low];
  }
  if($low == $high)
  {
     return $arr[high];
  }
  else
  {
    $mid = (($high - $low + 1) / 2);

    if ($arr[$mid] < $current)
        return binarySearchHelper($arr, $mid + 1, $high,  $current);
    else
        return binarySearchHelper($arr, $low, $mid, $current);
  }

} echo(binarySearch(t, P, low, high, $current))

function binarySearch($t, $P, $low, $high, $current) { $array = $P[$t]; return binarySearchHelper($array, $low, $high, $current); } function binarySearchHelper($arr, $low, $high, $current) { if($current>$arr[$high]) { return -1; } if($high<$low) { return -1; } if($current < $arr[$low]) { return $arr[$low]; } if($low == $high) { return $arr[high]; } else { $mid = (($high - $low + 1) / 2); if ($arr[$mid] < $current) return binarySearchHelper($arr, $mid + 1, $high, $current); else return binarySearchHelper($arr, $low, $mid, $current); } } echo(binarySearch($t, $P, $low, $high, $current))

-- Sep 11 In-Class Exercise Thread

function binarySearch(t, P, low, high, current) { if(P[t][low] &gt; current){ return P[t][low]; }else if(P[t][high] <= current){ return -1; }

while ($low < $high) { 
    $mid = floor(($low + $high) / 2); 
    if($P[$t][$mid] == $current) { 
              return $P[$t][$mid+1];
    }elseif ($P[$t][$mid] > $current) { 
      if($P[$t][$mid-1] <= $current){
      	$high = $mid;
      }else {
        $high = $mid - 1; 
	   }
    }else { 
        $low = $mid + 1 ;
    }   
} 
return $P[$t][$high];

}

function binarySearch($t, $P, $low, $high, $current) { if($P[$t][$low] > $current){ return $P[$t][$low]; }else if($P[$t][$high] <= $current){ return -1; } while ($low < $high) { $mid = floor(($low + $high) / 2); if($P[$t][$mid] == $current) { return $P[$t][$mid+1]; }elseif ($P[$t][$mid] > $current) { if($P[$t][$mid-1] <= $current){ $high = $mid; }else { $high = $mid - 1; } }else { $low = $mid + 1 ; } } return $P[$t][$high]; }
[ Next ]
X