Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Carian binari dalam pakej isihan

Carian binari dalam pakej isihan

WBOY
WBOYke hadapan
2024-02-09 12:24:09897semak imbas

sort 包中的二分查找

editor php Strawberry akan memperkenalkan kepada anda algoritma carian binari dalam pakej isihan dalam artikel ini. Carian binari ialah algoritma carian cekap yang sesuai untuk mencari elemen tertentu dalam tatasusunan tersusun. Dengan terus membahagikan tatasusunan kepada dua bahagian dan membandingkannya dengan elemen sasaran, kita boleh dengan cepat menentukan kedudukan elemen sasaran. Kerumitan masa algoritma ini ialah O(log n), yang lebih cekap daripada carian linear. Dalam artikel ini, kami akan menerangkan secara terperinci prinsip pelaksanaan dan langkah-langkah algoritma carian binari untuk membantu semua orang memahami dan menggunakan algoritma ini dengan lebih baik.

Kandungan soalan

Saya bekerja di Go sort包中查看这个函数“func SearchInts(a []int, x int) int dan ingin tahu sama ada terdapat cara langsung untuk mengenal pasti sama ada unsur hadir dalam kepingan?

Dalam Java Arrays.binarySearch(..), hanya nilai negatif dikembalikan. Saya ingin tahu tentang api golang func SearchInts(a []int, x int) 是否报告 x 不存在?不知道为什么 func SearchInts(a []int, x int) 不返回两个值 (index,isPresent)?

Penyelesaian

Anda boleh semak:

i := sort.SearchInts(slice, value)
if i<len(slice) && slice[i]==value {
   // It exists
}

Atas ialah kandungan terperinci Carian binari dalam pakej isihan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam