[問題] Binary Search想法請益

看板C_and_CPP作者 (宅砲廢物大學生)時間14年前 (2010/03/14 12:42), 編輯推噓4(402)
留言6則, 4人參與, 最新討論串1/1
現在有一串sorted list 都是整數 然後我用array把他們存起來 現在有兩個數 然後我要利用binary search 把sorted list中所有介於兩個數之間找出來 我的想法是 假設list: 3 5 8 9 10 11 (共6個) 找 4 10之間 我先把left 設為0 right設為6 因此 4 < A[mid]=A[mid3]=9 <10 也就是每次的A[mid]都檢查是不是介於4 10之間 現在的問題是我要如何判斷下一次要往右找或往左找呢? 謝謝熱心的大大們的回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.85.74

03/14 12:48, , 1F
既然都排序好了,你需要的是 : (1)找比4大中最小的 (2)
03/14 12:48, 1F

03/14 12:48, , 2F
先把 bound 找出來
03/14 12:48, 2F

03/14 12:49, , 3F
找比10小中最大的, 只找一個再迴圈去跑就有了
03/14 12:49, 3F

03/14 16:00, , 4F
binary search 2次找邊界
03/14 16:00, 4F

03/17 22:01, , 5F
但是如果把範圍的其中一個拿去binary search
03/17 22:01, 5F

03/17 22:01, , 6F
Binary search應該找不到不存在陣列裡面的值吧@@?
03/17 22:01, 6F
文章代碼(AID): #1Bd6bE33 (C_and_CPP)