#javascript #binary-search #math.js
#javascript #двоичный файл-поиск #math.js
Вопрос:
Я пытался написать двоичный поиск в своем коде, но кажется, что каждый раз, когда я пытался его запустить. Отображается сообщение об ошибке (неперехваченная ошибка ссылки: математика не определена), хотя я четко написал import math.js файл. Я почти уверен, что где-то в моем коде что-то пошло не так. Может кто-нибудь, пожалуйста, объяснить мне, что было бы действительно полезно!
Кстати, вот код:
import math.js
var num = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
bilnum = num.length,
target = 13;
mid = math.floor((left right)/2);
function search(){
left = 0;
right = num.length - 1;
while(left <= right){
if(num[mid] == target){
return mid;
}
else if(target > mid){
right = num[mid] - 1;
}
else{
left = num[mid] 1;
}
if(target === null){
document.write("Number doesn't exist")
}
document.write("The target index is" num[target])
}
}
Комментарии:
1. Нажмите F12, чтобы вызвать консоль разработчика и посмотреть, есть ли дополнительные ошибки. Как бы то ни было, JavaScript включает Math.floor, и вам, вероятно, не нужна библиотека для этого. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference /…
2. Спасибо, я только что понял, что «M» в math.floor не пишется заглавными буквами: P
3.
import math.js
пожалуйста, прочтите введение о том, какimport
работает. Пожалуйста, прочтите начало работы.
Ответ №1:
две проблемы:
bilnum = num.length,
Для
bilnum = num.length;
и
mid = math.floor((left right)/2);
Для:
mid = Math.floor((left right)/2);
Ответ №2:
Попробуйте Math.js (с прописной буквы M)