Javascript - Tìm kiếm nhị phân

Tìm kiếm nhị phân

Viết hàm tìm kiếm nhị phân.

Lưu ý: Tìm kiếm nhị phân tìm kiếm bằng cách chia mảng thành các mảng nhỏ hơn và nhỏ hơn cho đến khi tìm thấy giá trị mong muốn.

Ví dụ:

JavaScript:  Search JavaScript arrays with a binary search

Mã nguồn:

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Search JavaScript arrays with a binary search</title>
<script>
function array_binarySearch(narray, delement) {
   var mposition = Math.floor(narray.length / 2);

   if (narray[mposition] === delement){
      return mposition;
   }
   else if (narray.length === 1) 
   {
      return null;
   }
   else if (narray[mposition] < delement) {
      var arr = narray.slice(mposition + 1);
      var res = array_binarySearch(arr, delement);
      if (res === null)
      {
         return null;
      }
      else {
         return mposition + 1 + res;
      }
   }
   else {
      var arr1 = narray.slice(0, mposition);
      return array_binarySearch(arr1, delement);
   }
}

 var myArray = [1, 2, 3, 5, 6, 7, 10, 11, 14, 15, 17, 19, 20, 22, 23];
 document.writearray_binarySearch(myArray, 6));
</script>
</head>
<body>
  
</body>
</html>

Xem ví dụ

Lưu đồ thuật toán:

Flowchart: JavaScript function: Search JavaScript arrays with a binary search

 

 



Chatbot Tư vấn Lộ trình CNTT 🤖
Chào bạn! Tôi có thể tư vấn về các lộ trình học CNTT dựa trên roadmap.w3typing.com. Hãy chọn một từ khóa dưới đây hoặc gõ câu hỏi của bạn (ví dụ: "Frontend", "Backend", "Python", "DevOps").