Talaan ng mga Nilalaman:

Paano mo ipapatupad ang isang binary search tree sa Java?
Paano mo ipapatupad ang isang binary search tree sa Java?

Video: Paano mo ipapatupad ang isang binary search tree sa Java?

Video: Paano mo ipapatupad ang isang binary search tree sa Java?
Video: CS50 2014 - Week 6 2024, Abril
Anonim

Pagpapatupad ng Binary Search Tree (BST) sa Java

  1. Ang kaliwang subtree ng isang node ay naglalaman lamang ng mga node na may mga key na mas mababa sa key ng node.
  2. Ang kanang subtree ng isang node ay naglalaman lamang ng mga node na may mga key na mas malaki kaysa sa key ng node.
  3. Ang kaliwa at kanang subtree bawat isa ay dapat ding a binary search tree .
  4. Dapat ay walang mga duplicate na node.

Ang tanong din ay, paano ipinatupad ang binary search sa Java?

Tingnan natin ang isang halimbawa ng binary na paghahanap sa java kung saan maghahanap tayo ng isang elemento mula sa isang array gamit ang recursion

  1. klase BinarySearchExample1{
  2. pampublikong static int binarySearch(int arr, int una, int huli, int key){
  3. kung (huli>=una){
  4. int mid = una + (huling - una)/2;
  5. if (arr[mid] == key){
  6. bumalik sa kalagitnaan;
  7. }

Pangalawa, saan tayo gumagamit ng binary search tree? Binary Search Tree - Ginamit Sa maraming paghahanap mga application kung saan ang data ay patuloy na pumapasok/umaalis, gaya ng mapa at mga bagay na itinakda sa mga aklatan ng maraming wika. Binary Space Partition - Ginamit sa halos bawat 3D video game upang matukoy kung anong mga bagay ang kailangang i-render.

Kaya lang, paano nabuo ang mga binary tree?

Paglikha ng Binary Tree Gamit ang Recursion

  1. Magbasa ng data sa x.
  2. Maglaan ng memorya para sa isang bagong node at iimbak ang address sa pointer p.
  3. Itabi ang data x sa node p.
  4. Recursively gawin ang kaliwang subtree ng p at gawin itong kaliwang anak ng p.
  5. Recursively gumawa ng tamang subtree ng p at gawin itong tamang anak ng p.

Ano ang pagiging kumplikado ng binary na paghahanap?

Binary na paghahanap tumatakbo sa pinakamasamang oras ng logarithmic, na gumagawa ng mga paghahambing ng O(log n), kung saan ang n ay ang bilang ng mga elemento sa array, ang O ay Big O notation, at ang log ay ang logarithm. Binary na paghahanap tumatagal ng permanenteng (O(1)) na espasyo, ibig sabihin, ang puwang na kinuha ng algorithm ay pareho para sa anumang bilang ng mga elemento sa array.

Inirerekumendang: