Contoh artikel ini memberi tahu algoritma pencarian dua titik Java. Bagikan untuk semua orang untuk referensi Anda. Spesifiknya adalah sebagai berikut:
1. Prasyarat: Premis pencarian dua titik adalah bahwa array yang perlu ditemukan harus disortir.
2. Prinsip -prinsip: Bagilah angka menjadi tiga bagian, secara berurutan, sebelum nilai median (median yang disebut SO adalah nilai dari posisi tengah array). Kemudian pada gilirannya, proses rekursif akan terus menguraikan babak pertama atau babak kedua menjadi tiga bagian. Itu mungkin tidak dijelaskan dengan jelas. Dari deskripsi, dapat dilihat bahwa algoritma ini cocok untuk rekursi, dan mereka yang berulang dapat diimplementasikan dengan siklus. Oleh karena itu, implementasi kami dibagi menjadi dua jenis: rekursi dan siklus.
Menerapkan kode:
Public BinarySearch {public static void main (string [] art) {int searcharrrrrr [] = new int [1000000]; println (Binsearch (SearchArrrrrr, 0, Searcharr.Length-99)); End -start)/2 + mulai; if (sear == arr [mid]) {return mid;} if (start> = end) {return -1; (Arr, 0, mid -1, sear);} else if (sear> arr [mid]) {return binsearch (arr, mid+1, end, sear);} return -1;} // siklus dua poin temukan Public Static Binsearch (int arr [], int key) {int mid = arrr.length/2 mulai)/2+mulai; if (key == arr [mid]) {return mid;} else if (key <= arr [mid]) {end = mid -1;} lain jika (key> = arr [mid ]) {start = mid+1;}} return -1;}Perbandingan Efisiensi:
Efisiensi algoritma pencarian dupleks siklus lebih tinggi dari algoritma pencarian dual -point rekursif
Diharapkan bahwa artikel ini bermanfaat untuk desain program Java semua orang.