İkili Axtarış və Xətti Axtarış
Xətti axtarış, həmçinin ardıcıl axtarış kimi tanınan ən sadə axtarış alqoritmidir. Siyahıdakı hər bir elementi yoxlayaraq siyahıda müəyyən edilmiş dəyəri axtarır. İkili axtarış həm də çeşidlənmiş siyahıda müəyyən edilmiş dəyəri tapmaq üçün istifadə edilən üsuldur. İkili axtarış metodu yoxlanılan elementlərin sayını (hər iterasiyada) yarıya endirərək verilmiş elementin siyahıda tapılmasına sərf olunan vaxtı azaldır.
Xətti Axtarış nədir?
Xətti axtarış ən sadə axtarış üsuludur və siyahıdakı hər bir element müəyyən elementi tapana qədər ardıcıl olaraq yoxlayır. Xətti axtarış metodunun girişi ardıcıllıqdır (məsələn, massiv, kolleksiya və ya sətir) və axtarılmalı olan element. Göstərilən element təqdim olunan ardıcıllıq daxilində olarsa, çıxış doğrudur və ya ardıcıllıqda deyilsə, yanlışdır. Bu üsul müəyyən edilmiş element tapılana qədər siyahıdakı hər bir elementi yoxladığından, ən pis halda tələb olunan elementi tapmazdan əvvəl siyahıdakı bütün elementləri keçəcək. Xətti axtarışın mürəkkəbliyi o(n)-dir. Buna görə də böyük siyahılarda elementləri axtararkən istifadə etmək çox yavaş hesab olunur. Lakin bu, çox sadədir və həyata keçirilməsi daha asandır.
İkili Axtarış nədir?
İkili axtarış həmçinin çeşidlənmiş siyahıda müəyyən edilmiş elementi tapmaq üçün istifadə edilən üsuldur. Bu üsul axtarılan elementi siyahının ortasındakı elementlərlə müqayisə etməklə başlayır. Müqayisə iki elementin bərabər olduğunu müəyyən edərsə, metod dayanır və elementin mövqeyini qaytarır. Axtarılan element orta elementdən böyükdürsə, çeşidlənmiş siyahının yalnız alt yarısından istifadə edərək metodu yenidən başlayır. Axtarılan element orta elementdən azdırsa, çeşidlənmiş siyahının yalnız yuxarı yarısından istifadə edərək metodu yenidən başlayır. Axtarılan element siyahıda deyilsə, metod bunu göstərən unikal dəyər qaytaracaq. Buna görə də, ikili axtarış metodu müqayisənin nəticəsindən asılı olaraq müqayisə edilən elementlərin sayını (hər iterasiyada) yarıya endirir. Beləliklə, ikili axtarış loqarifmik vaxtda işləyir və o(log n) orta iş performansı ilə nəticələnir.
İkili Axtarış və Xətti Axtarış arasında fərq nədir?
Həm xətti axtarış, həm də ikili axtarış axtarış metodları olsa da, onların bir neçə fərqi var. İkili axtarış çeşidlənmiş siyahılarda işlədiyi halda, layner axtarışı çeşidlənməmiş siyahılarda da işləyə bilər. Siyahının çeşidlənməsi ümumiyyətlə n log n orta iş mürəkkəbliyinə malikdir. xətti axtarış ikili axtarışa nisbətən sadə və sadədir. Lakin, xətti axtarış o(n) orta iş performansına görə böyük siyahılarla istifadə etmək üçün çox yavaşdır. Digər tərəfdən, ikili axtarış böyük siyahılarla istifadə edilə bilən daha səmərəli üsul hesab olunur. Lakin ikili axtarışın həyata keçirilməsi olduqca çətin ola bilər və araşdırma göstərdi ki, ikili axtarış üçün dəqiq kod iyirmi kitabdan yalnız beşində tapıla bilər.