Hvad er det store O ved binær søgning?
Hvad er det store O ved binær søgning?

Video: Hvad er det store O ved binær søgning?

Video: Hvad er det store O ved binær søgning?
Video: How Binary Search Makes Computers Much, Much Faster 2024, November
Anonim

Binær søgning er hurtigere end lineær Søg undtagen små arrays.

Binær søgning algoritme.

Visualisering af binær søgning algoritme hvor 7 er målværdien
Klasse Søg algoritme
Bedste ydelse O (1)
Gennemsnitlig præstation O (log n)
Værst tænkelige pladskompleksitet O (1)

Heraf, hvad er kompleksiteten af den binære søgning?

Binær søgning løber ind på det værste logaritmiske tidspunkt og laver O(log n) sammenligninger, hvor n er antallet af elementer i arrayet, O er Big O notationen, og log er logaritmen. Binær søgning tager konstant (O(1)) plads, hvilket betyder, at pladsen optaget af algoritmen er den samme for et hvilket som helst antal elementer i arrayet.

Derudover, er binær søgning den hurtigste? Ja og nej. Ja der er søgninger som i gennemsnit er hurtigere end en halvering Søg . Men jeg tror, at de stadig er O(lg N), bare med en lavere konstant. Du ønsker at minimere den tid, det tager at finde dit element.

På samme måde kan man spørge, hvordan skriver man en binær søgning?

Binær søgning : Søg et sorteret array ved gentagne gange at dividere Søg interval i halvdelen. Begynd med et interval, der dækker hele arrayet. Hvis værdien af Søg tasten er mindre end elementet i midten af intervallet, indsnævre intervallet til den nederste halvdel. Ellers indsnævre den til den øverste halvdel.

Hvad er tidskompleksiteten af binær søgning?

Så der må være en eller anden form for adfærd, som algoritmen viser for at få en kompleksitet af log n. Lad os se, hvordan det fungerer. Siden binær søgning har en bedste tilfælde effektivitet på O(1) og worst case (gennemsnitlig tilfælde) effektivitet på O(log n), vil vi se på et eksempel på worst case. Overvej et sorteret array af 16 elementer.

Anbefalede: