首頁 > web前端 > js教程 > js二分查找遞歸和while寫法程式碼分享

js二分查找遞歸和while寫法程式碼分享

小云云
發布: 2018-03-08 16:19:40
原創
1562 人瀏覽過

本文主要跟大家分享js二分查找遞迴和while寫法程式碼,希望能幫助大家。

1.遞迴
主要是控制三個變數 start end  mid  ,開始 結束  中間,反覆就ok了。

const data = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]function Recursive(s,data){

    let len = data.length
    let start = 0
    let end = len-1
    let mid
    return find(start,end,s)}function find(start,end,s){

       mid =Math.ceil((end+start)/2) 

        if (s==data[mid]) {            return s
        }         else if(s>data[mid] && start <= end) {

            end = mid-1
            return find(start,end,s)
        }        else if(s<data[mid] && start <= end){

         start  = mid+1

          return  find(start,end,s)

        }        else{            return null
        }

}
let v = f(15,data)
console.log("vvvv",v)
登入後複製
  1. while循環

const data = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]function while_find(s){
    let len = data.length
    let start = 0
    let end = len-1
    let mid

    while(start <= end){

        mid =Math.ceil((end+start)/2)

        if (s<data[mid]) {

            start = mid+1
        }        else if(s>data[mid]){            end = mid-1 
        }        else{            return s
        }


    }  return null}
let v= while_find(8)
console.log("vvvv",v)
登入後複製

主要藉鑒了這篇文章點擊打開裡面還有一些二分演算法的變形, 有興趣的同學可以去看看寫的很棒。

相關推薦:

php二分查找演算法範例分享

#php 遞迴與非遞迴實作的二分查找實例程式碼

js基本演算法:冒泡排序,二分查找

以上是js二分查找遞歸和while寫法程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板