Oleh:
Komang Sudana Yasa Pande
1929101010
Dalam penelitian yang dilakukan oleh Arora, dkk yang mengatakan bahwa
algoritma Ternary Search membutuhkan waktu CPU lebih sedikit daripada
algoritma pencarian yang ada sepeti, pencarian linear dan pencarian biner (Arora,
Martolia, & Arora, 2016). Hal yang sama juga disampaikan oleh Bajwa, dkk yang
membandingkan kompleksitas antara algoritma Binary Search dengan algoritma
Ternary Search. Peneliti menemukan bahwa algoritma Ternary Search ketika
dibandingkan dengan algoritma Binary Search memiliki kompleksitas waktu lebih
kecil menjadi O (log3n) (Bajwa, Agarwal, & Manchanda, 2015). Oleh karena itu
algoritma Ternary Search lebih efektif dan efisien dibandingkan dengan Binary
Search dan Linier Search.
Kamus
mid1, mid2 : integer
if (T[mid1] == key):
return mid1
endif
if (T[mid2] == key):
return mid2
endif
return -1
endfunction
If (5 >= 0)
Mid1 = 1 //1.33
Mid2 = 4 //3.67
If (8 == 23) //false
If (50 == 23) //false
<?php
function ternarySearch($l, $r, $key, $ar)
{
if ($r >= $l)
{
$mid1 = (int)($l + ($r - $l) / 3);
$mid2 = (int)($r - ($r - $l) / 3);
if ($ar[$mid1] == $key)
{
return $mid1;
}
if ($ar[$mid2] == $key)
{
return $mid2;
}
if ($key < $ar[$mid1])
{
return ternarySearch($l, $mid1 - 1, $key, $ar);
}
else if ($key > $ar[$mid2])
{
return ternarySearch($mid2 + 1, $r, $key, $ar);
}
else
{
return ternarySearch($mid1 + 1, $mid2 - 1, $key, $ar);
}
}
return -1;
}
E. Daftar Pustaka
Arora, N., Martolia, M., & Arora, E. (2016). A Novel Ternary Search Algorithm.
International Journal of Computer Applications, 144(11), 35–36.
https://doi.org/10.5120/ijca2016910387
Bajwa, M. S., Agarwal, A. P., & Manchanda, S. (2015). Ternary search algorithm:
Improvement of binary search. 2015 International Conference on Computing
for Sustainable Global Development, INDIACom 2015, (January), 1723–
1725.