四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

php二分查找二種實(shí)現(xiàn)示例

php二分查找示例

二分查找常用寫法有遞歸和非遞歸,在尋找中值的時(shí)候,可以用插值法代替求中值法。
當(dāng)有序數(shù)組中的數(shù)據(jù)均勻遞增時(shí),采用插值方法可以將算法復(fù)雜度從中值法的lgN減小到lglgN

復(fù)制代碼 代碼如下:
/**
 * 二分查找遞歸解法
 * @param type $subject
 * @param type $start
 * @param type $end
 * @param type $key
 * @return boolean
 */
function binarySearch_r($subject, $start, $end, $key)
{

 if ( $start >= $end ) return FALSE;
 $mid = getMidKey($subject, $start, $end, $key);
 if ( $subject[$mid] == $key ) return $mid;
 if ( $key > $subject[$mid] ) {
  return binarySearch($subject, $mid, $end, $key);
 }
 if ( $key <= $subject[$mid] ) {
  return binarySearch($subject, $start, $mid, $key);
 }
}

/**
 * 二分查找的非遞歸算法
 * @param type $subject
 * @param type $n
 * @param type $key
 */
function binarySearch_nr($subject, $n, $key)
{
 $low = 0;
 $high = $n;
 while ( $low <= $high ) {
  $mid = getMidKey($subject, $low, $high, $key);
  if ( $subject[$mid] == $key ) return $mid;
  if ( $subject[$mid] < $key ) {
   $low = $mid + 1;
  }
  if ( $subject[$mid] > $key ) {
   $high = $mid - 1;
  }
 }
}
function getMidKey($subject, $low, $high, $key)
{
 /**
  * 取中值算法1 取中值 不用 ($low+$high)/2的方式是因?yàn)?防止low和high較大時(shí)候,產(chǎn)生溢出....
  */
 //return round($low + ($high - $low) / 2);

 /**
  * 經(jīng)過改進(jìn)的插值算法求中值,當(dāng)數(shù)值分布均勻情況下,再降低算法復(fù)雜度到lglgN
  * 取中值算法2
  */
 return round( (($key - $subject[$low]) / ($subject[$high] - $subject[$low])*($high-$low) ) );
}

php技術(shù)php二分查找二種實(shí)現(xiàn)示例,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 汤姆·塞兹摩尔| 蕾切尔·布罗斯纳罕| 黑帮大佬和我的第365天| 《流感》高清在线观看| abo血型鉴定实验报告| 我,喜欢你演员表介绍| 电影五十度黑| 十面埋伏 电影| 女友电影| 吻胸捏胸揉视频大全| 丽芙·泰勒| 安渡| 749局演员表| 外出韩版| 红龙 电影| 同城招聘网找工作| 秀人网陆萱萱| 广场舞100首视频| 底线剧情介绍| busty buffy| 天地无伦| 林正英僵尸先生电影在线观看| 二年级53天天练语文上册答案| 聊斋花弄月普通话版免费| 血战到底电视剧| 李赫洙| 一直很安静简谱| 红灯区| 高清影视图库| 雪豹46集全| 吻船| 新三国高清在线观看| 雪中悍刀行第一季电视剧免费观看| 魅力先生王瀚| 邯郸恋家网| 佳片有约| 我仍在此 电影| 一年级数学一图四式的题| 电影男女| 消防知识问答100题| 日韩电影免费观看|