Hva er verste tilfelle og gjennomsnittlig sakskompleksitet for binært søketre?
Hva er verste tilfelle og gjennomsnittlig sakskompleksitet for binært søketre?

Video: Hva er verste tilfelle og gjennomsnittlig sakskompleksitet for binært søketre?

Video: Hva er verste tilfelle og gjennomsnittlig sakskompleksitet for binært søketre?
Video: 1.11 Best Worst and Average Case Analysis 2024, November
Anonim

Binært søketre

Algoritme Gjennomsnitt I verste fall
Rom På) På)
Søk O(log n) På)
Sett inn O(log n) På)
Slett O(log n) På)

Dessuten, hva er den store O worst case-tidskompleksiteten til et binært søketre?

Den rekursive strukturen til en BST gir en rekursiv algoritme. Søker i en BST har O (h) verst - sak kjøretid kompleksitet , hvor h er høyden på tre . Siden s binært søketre med n noder har et minimum av O (log n) nivåer, det tar minst O (log n) sammenligninger for å finne en bestemt node.

For det andre, hva er tidskompleksiteten til binært søk med iterasjon? Ytelse av Binær søkealgoritme : Derfor, tidskompleksiteten til binær søkealgoritme er O(log2n) som er veldig effektivt. Hjelpeplass brukt av den er O(1) for iterativ implementering og O(log2n) for rekursiv implementering på grunn av call stack.

Spørsmålet er også, hva ville være den verste tidskompleksiteten ved å søke i et element i et binært søketre?

Tidskompleksitet : Den verste fall tidskompleksitet av Søk og innsettingsoperasjoner er O(h) hvor h er høyden av Binært søketre . I verste fall , vi kan ha til reise fra roten til den dypeste bladnoden. Høyden på en skjev treet kan bli n og den tidskompleksitet av Søk og sette inn operasjon kan bli O(n).

Er Big O det verste tilfellet?

Så, i binært søk, den beste sak er O (1), gjennomsnittlig og verste fall er O (logg på). Kort sagt, det er ingen form for forhold av typen " stor O brukes til verste fall , Theta for gjennomsnittet sak ". Alle typer notasjon kan brukes (og noen ganger brukes) når man snakker om best, gjennomsnitt eller verste fall av en algoritme.

Anbefalt: