Orodha ya maudhui:

Unatekelezeaje mti wa utaftaji wa binary katika Java?
Unatekelezeaje mti wa utaftaji wa binary katika Java?

Video: Unatekelezeaje mti wa utaftaji wa binary katika Java?

Video: Unatekelezeaje mti wa utaftaji wa binary katika Java?
Video: БТТ СКР2 - TMC2208 2024, Novemba
Anonim

Utekelezaji wa Mti wa Utafutaji wa Binary (BST) katika Java

  1. Mti mdogo wa kushoto wa nodi una vifundo pekee vilivyo na funguo chini ya ufunguo wa nodi.
  2. Mti mdogo wa kulia wa nodi una vifundo pekee vilivyo na funguo kubwa kuliko kitufe cha nodi.
  3. Mti mdogo wa kushoto na kulia kila mmoja lazima pia uwe a binary search mti .
  4. Lazima kusiwe na nodi nakala.

Swali pia ni, utaftaji wa binary unatekelezwaje katika Java?

Wacha tuone mfano wa utaftaji wa binary katika java ambapo tutatafuta kipengee kutoka kwa safu kwa kutumia kujirudia

  1. darasa la BinarySearchExample1{
  2. public static int binarySearch(int arr, int first, int last, int key){
  3. ikiwa (mwisho>=kwanza){
  4. int katikati = kwanza + (mwisho - kwanza)/2;
  5. ikiwa (arr[mid] == ufunguo){
  6. kurudi katikati;
  7. }

Pili, tunatumia wapi mti wa utaftaji wa binary? Binary Search mti - Imetumika katika nyingi tafuta programu ambapo data inaingia/kutoka kila mara, kama vile ramani na kuweka vipengee katika maktaba za lugha nyingi. Nambari Sehemu ya Nafasi - Imetumika katika karibu kila mchezo wa video wa 3D ili kubaini ni vitu gani vinahitaji kutolewa.

Kwa hivyo tu, miti ya binary huundwaje?

Uundaji wa Mti wa Binary kwa Kutumia Mrudisho

  1. Soma data katika x.
  2. Tenga kumbukumbu kwa nodi mpya na uhifadhi anwani katika pointer p.
  3. Hifadhi data x kwenye nodi p.
  4. Unda kwa kujirudia mti mdogo wa kushoto wa p na uifanye kuwa mtoto wa kushoto wa p.
  5. Unda kwa kujirudia mti mdogo sahihi wa p na uifanye kuwa mtoto sahihi wa uk.

Utata wa utafutaji wa binary ni nini?

Utafutaji wa binary huingia kwa wakati mbaya zaidi wa logarithmic, ikifanya ulinganisho wa O(logi n), ambapo n ni idadi ya vipengee katika safu, nukuu ya O ni O kubwa, na kumbukumbu ni logariti. Utafutaji wa binary inachukua nafasi ya mara kwa mara (O(1)), ikimaanisha kuwa nafasi iliyochukuliwa na algorithm ni sawa kwa idadi yoyote ya vitu kwenye safu.

Ilipendekeza: