Kamis, Maret 21, 2019

Binary Search pada Java

Ada dua cara untuk melakukan binary search pada Java

satu, Arrays.binarysearch() berfungsi untuk kumpulan nilai array dan juga bisa berfungsi pada tipe data primitif.

Output
22 found at index = 3
40 Not found

dua, Collection.binarysearch() berfungsi untuk koleksi objek data seperti ArrayList dan LinkedList.

Output:
10 found at index = 3
15 Not found

Bagaimana jika nilai input tidak disortir?
Jika list input tidak disortir, maka hasil yang diberikkan tidak terdefinisi.

Bagaimana jika terdapat duplikat nilai pada array?
Jika terdapat nilai duplikat, maka tidak ada jaminan nilai mana yang akan ditemukan.

Bagaimana cara Collections.binarySearch bekerja pada LinkedList?
Method Collection.binarySearch akan berjalan selama bebera waktu untuk akses random list seperti ArrayList. Jika list spesifik tidak diimplementasikan pada interface Random akses atau pada skala lebih besar, maka method ini akan melakukan iterasi berbasis pencarian biner dengan melakukan perbandingan tautan terhadap elemen yang dicari.

Apa nilai signifikan dari nilai negatif yang dikembalikan oleh kedua fungsi?
Fungsi mengembalikan indeks dari kunci pencarian jika fungsi berisi nilai array, jika tidak maka tambahkan nilai -1. Nilai yang dimasukkan didefinisikan sebagai titik dimana kata kunci (key) yang dimasukkan ke dalam array. Nilai indeks dari elemen pertama lebih besar dari key, atau panjangnya jika semua element dalam array kurang dari spesifik key. Dengan ini dijamin bahwa valued akan lebih dari 0 jika dan hanya jika key ditemukan.

Bagaimana mengimplementasikan pencarian biner yang dibuat pada Java?

Output:
Element found at index 3





Tidak ada komentar:

Posting Komentar

Respon komentar 7 x 24 jam, so please be patient :D

Footer Adsense