JavaScript menggunakan algoritma carian binari untuk mencari data dalam petua array_javascript

WBOY
Lepaskan: 2016-05-16 16:05:22
asal
1158 orang telah melayarinya

Contoh dalam artikel ini menerangkan cara JavaScript menggunakan algoritma carian binari untuk mencari data dalam tatasusunan. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:

Carian binari, juga dikenali sebagai carian separuh, mempunyai kelebihan perbandingan yang lebih sedikit, kelajuan carian yang pantas dan prestasi purata yang baik ialah jadual yang akan dicari adalah jadual yang tersusun, dan sisipan serta pemadaman; adalah sukar. Oleh itu, kaedah carian binari sesuai untuk senarai tertib yang tidak kerap berubah tetapi kerap dicari. Pertama, dengan mengandaikan bahawa elemen dalam jadual disusun dalam tertib menaik, bandingkan kata kunci yang direkodkan di kedudukan tengah jadual dengan kata kunci carian Jika kedua-duanya sama, carian berjaya jika tidak, gunakan rekod kedudukan tengah untuk bahagikan jadual kepada dua sub-jadual, yang pertama dan terakhir Jika Jika kata kunci yang direkodkan di kedudukan tengah lebih besar daripada kata kunci carian, maka subjadual sebelumnya akan dicari lebih jauh, jika tidak subjadual seterusnya akan dicari lebih jauh. Ulangi proses di atas sehingga rekod yang memenuhi syarat ditemui, menjadikan carian berjaya, atau sehingga subjadual tidak wujud, dalam hal ini carian gagal.

var Arr = [3,5,6,7,9,12,15];
function binary(find,arr,low,high){
if(low <= high){
if(arr[low] == find)
return low;
if(arr[high] == find)
return high;
var mid = Math.ceil((high + low)/2);
if(arr[mid] == find){
return mid;
}else if(arr[mid] > find){
return binary(find,arr,low,mid-1);
}else{
return binary(find,arr,mid+1,high);
}
}
return -1;
}
binary(15,Arr,0,Arr.length-1);
Salin selepas log masuk

Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!