Шта је бинарно претраживање на Јави? Како то применити?



Бинарно претраживање у Јави је алгоритам претраживања који проналази положај циљне вредности унутар сортираног низа. У овом чланку ћу вам рећи како то применити уз помоћ примера.

Алгоритми претраживања и сортирања су популарни алгоритми на било којим програмским језицима. Они су основа за разумевање основа програмирања. Један од таквих популарних алгоритама претраживања је Бинарно претраживање у . У овом чланку ћу вам рећи све о његовој примени.

У овом чланку су обрађене следеће теме:





Хајде да почнемо!

Шта је бинарна претрага?

Бинарна претрага у је алгоритам претраживања који проналази положај циљне вредности унутар сортираног низ . Бинарна претрага упоређује циљну вредност са средњим елементом низа. Торади само на сортираном скупу елемената. Да бисте користили бинарну претрагу колекције, прво се мора сортирати.



Програм бинарног претраживања на Јави - Бинарно претраживање на Јави - ЕдурекаКада користи се за обављање операција на разврстаном скупу, број итерација се увек може смањити на основу вредности која се претражује. Можете видети на горњој снимци проналаска средњи елемент . Аналогија бинарног претраживања је коришћење информација по којима је низ сортиран и смањење временске сложености на О (лог н) .

Имплементација алгоритма бинарне претраге

Погледајмо доњи псеудо код да бисмо га боље разумели.

Процедура бинари_сеарцх А & ларр сортирани низ н & ларр величина низа к & ларр Вредност коју треба претражити Сет лов = 1 Сет хигх = н вхиле к нот фоунд иф хигх

Објашњење:



Корак 1: Прво упоредите к са средњим елементом.

Корак 2: Ако се к поклапа са средњим елементом, тада морате вратити средњи индекс.

Корак 3: Иначе, Ако је к веће од средњег елемента, тада к може лежати само у десном полуполову након средњег елемента. Отуда понављате десну половину.

Корак 4: Иначе, ако је (к мање) онда се понавља за леву половину.

Тако треба да тражите елемент у датом низу.

како написати упозорење у јавасцрипту

Погледајмо сада како рекурзивно применити бинарни алгоритам претраживања. Испод показује то исто.

Рекурзивна бинарна претрага

јавна класа БинариСеарцх {// Јава имплементација рекурзивног бинарног претраживања // Враћа индекс к ако је присутан у арр [л..х], иначе враћа -1 инт бинариСеарцх (инт а [], инт л, инт х, инт к) {иф (х> = л) {инт мид = л + (х - л) / 2 // Ако је елемент присутан у самој средини иф (а [мид] == к) ретурн мид // Иф елемент је мањи од средине, тада може бити присутан у левом поднизу само ако (а [мид]> к) ретурн бинариСеарцх (арр, л, мид - 1, к) // У супротном елемент може бити присутан само у десном субраиу ретурн бинариСеарцх (арр, мид + 1, х, к)} // Долазимо овде када елемент није присутан у низу ретурн -1} публиц статиц воид маин (Стринг аргс []) {БинариСеарцх об = нев БинариСеарцх () инт а [] = {20, 30, 40, 10, 50} инт н = а.ленгтх инт к = 40 инт рес = об.бинариСеарцх (а, 0, н - 1, к) иф (рес == -1) Систем.оут .принтлн ('Елемент није присутан') елсе Систем.оут.принтлн ('Елемент је пронађен у индексу' + рес)}}

По извршењу горњег програма, лоцираће елемент присутан у одређеном индексу

Елемент је пронађен у индексу 2

Дакле, ово нас доводи до краја бинарне претраге у Јава чланак. Надам се да вам је било информативно и да сте вам помогли у разумевању .

Погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Овде смо да вам помогнемо у сваком кораку на вашем путу, да бисте постали поред овог питања о јава интервјуу. Дошли смо до наставног плана и програма који је дизајниран за студенте и професионалце који желе да буду Јава програмери. Курс је дизајниран да вам пружи почетну предност у Јава програмирању и обучи вас како за основне тако и за напредне Јава концепте, заједно са разним Јава оквирима попут Хибернате & Спринг.

У случају да имате било каквих потешкоћа приликом примене Бинарне претраге у , молимо вас наведите га у одељку за коментаре испод и јавићемо вам се најраније.