Binary Tree at Binary Search Tree
Ano ang Binary Tree?
Binary Tree ay isang hierarchical na istraktura ng data na kung saan ang bawat node ay may zero, isa, o sa pinaka, dalawang bata. Ang bawat node ay naglalaman ng "left" pointer, isang "right" pointer, at isang elemento ng data. Ang "root" pointer ay kumakatawan sa pinakamataas na node sa puno. Ang bawat node sa istraktura ng data ay direktang konektado sa di-makatwirang bilang ng mga node sa magkabilang panig, na tinutukoy bilang mga bata. Ang isang null pointer ay kumakatawan sa binary tree. Walang partikular na pagkakasunod-sunod sa kung paano ang mga node ay organisahin sa binary tree. Ang mga node na walang mga node ng bata ay tinatawag na mga node ng dahon, o mga panlabas na node.
Sa simpleng mga termino, tinutukoy nito ang isang organisadong pag-andar ng labeling sa mga node, na kung saan ay nagtatalaga ng ilang mga random na halaga sa bawat node. Ang anumang bagay na may dalawang anak at isang node ng magulang ay isang binary tree. Ang mga binary tree ay ginagamit upang mag-imbak ng impormasyon na bumubuo ng hierarchy tulad ng file system sa iyong personal na computer. Hindi tulad ng mga Arrays, ang mga Puno ay walang pinakamataas na limitasyon sa bilang ng mga node dahil nakaugnay sila gamit ang mga payo, tulad ng Mga Linked List. Ang pangunahing pag-andar ng Binary Tree ay kinakatawan ang hierarchical data, pag-uuri ng mga listahan ng data, pagbibigay ng mahusay na insert / delete operation, atbp. Mga node ng puno ay kinakatawan gamit ang mga istruktura sa C.
Ano ang binary Search Tree?
Ang Binary Search Tree ay isang uri ng binary tree na istraktura ng data kung saan ang mga node ay inayos ayon sa pagkakasunud-sunod, kaya tinatawag ding "binary tree". Ito ay isang node-based na istraktura ng data na nagbibigay ng isang mahusay at mabilis na paraan ng pag-uuri, pagkuha, paghahanap ng data. Para sa bawat node, ang mga elemento sa kaliwang subtree ay dapat na mas mababa sa o katumbas ng susi sa node ng magulang (L
P). Hindi dapat magkaroon ng mga duplicate key. Sa simpleng mga termino, ito ay isang espesyal na uri ng istraktura ng binary tree data na mahusay na nag-iimbak at namamahala ng mga item sa memorya.
Pinapayagan nito ang mabilis na pag-access ng impormasyon, pagpasok at pag-aalis ng data, at maaari itong magamit upang maipatupad ang mga lookup table na nagbibigay-daan para sa paghahanap ng mga item sa pamamagitan ng kanilang natatanging mga key, tulad ng paghahanap para sa numero ng telepono ng isang tao ayon sa pangalan. Ang mga natatanging mga key ay pinagsunod-sunod sa isang organisadong paraan, upang ang paghahanap at iba pang mga dynamic na operasyon ay maaaring maisagawa gamit ang binary na paghahanap. Sinusuportahan nito ang tatlong pangunahing mga operasyon: paghahanap ng mga elemento, pagpasok ng mga elemento, at pagtanggal ng mga elemento. Binary Search Tree ay nagbibigay-daan para sa mabilis na pagkuha ng mga elemento na nakaimbak sa puno habang ang bawat node key ay lubusang inihambing sa root node, na nagtatapon ng kalahati ng puno.
Pagkakaiba sa Pagitan ng Binary Tree at Binary Search Tree
- Kahulugan ng Binary Tree at Binary Search Tree - Binary Tree ay isang hierarchical na istraktura ng data kung saan ang isang bata ay maaaring magkaroon ng zero, isa, o maximum na dalawang node ng bata; Ang bawat node ay naglalaman ng isang kaliwang pointer, isang tamang pointer at isang elemento ng data. Walang partikular na pagkakasunud-sunod kung paano dapat organisahin ang mga node sa puno. Ang binary Search Tree, sa kabilang banda, ay isang nakaayos na binary tree na kung saan ay may kamag-anak na pagkakasunud-sunod kung paano dapat organisahin ang mga node.
- Istraktura ng Binary Tree at Binary Search Tree- Ang pinakamataas na node sa puno ay kumakatawan sa root pointer sa isang binary tree, at ang kaliwa at ang mga tamang payo ay kumakatawan sa mas maliit na mga puno sa magkabilang panig. Ito ay isang dalubhasang form ng puno na kumakatawan sa data sa isang istraktura ng puno. Ang binary search tree, sa kabilang banda, ay isang uri ng binary tree kung saan ang lahat ng mga node sa kaliwang subtree ay mas mababa sa o katumbas ng halaga ng root node at ng tamang subtree ay mas malaki o katumbas ng halaga ng root node.
- Operasyon ng Binary Tree at Binary Search Tree- Ang binary tree ay maaaring maging anumang bagay na may dalawang anak at isang magulang. Ang mga karaniwang operasyon na maaaring isagawa sa isang binary tree ay pagpapasok, pagtanggal, at pagtawid. Ang mga binary search tree ay higit pa sa pinagsama-samang binary tree na nagbibigay-daan para sa mabilis at mahusay na lookup, pagpapasok, at pag-alis ng mga item. Hindi tulad ng mga puno ng binary, pinanatili ng mga puno ng binary na paghahanap ang kanilang mga susi na pinagsunod-sunod, kaya ang paghahanap ay karaniwang nagpapatupad ng binary na paghahanap para sa mga operasyon.
- Mga Uri ng Binary Tree at Binary Search Tree- Mayroong iba't ibang mga uri ng binary tree, ang karaniwang pagiging ang "Full Binary Tree", "Complete Binary Tree", "Perfect Binary Tree", at "Extended Binary Tree". Ang ilang mga karaniwang uri ng puno sa paghahanap ng binary ay ang mga puno ng T, mga puno ng AVL, mga puno ng Splay, mga puno ng Tango, mga puno ng Red-Black atbp.
Binary Tree kumpara sa Binary Search Tree: Paghahambing Tsart
Binary Tree | Binary Search Tree |
Binary Tree ay isang dalubhasang form ng puno na kumakatawan sa hierarchical data sa isang istraktura ng puno. | Binary Search Tree ay isang uri ng binary tree na nagpapanatili ng mga key sa isang pinagsunod-sunod na order para sa mabilis na paghahanap. |
Ang bawat node ay dapat magkaroon ng pinakamaraming dalawang node ng bata sa bawat node na nakakonekta mula sa eksaktong isa pang node sa pamamagitan ng isang nakadirekta na gilid. | Ang halaga ng mga node sa kaliwang subtree ay mas mababa sa o katumbas ng halaga ng root node, at ang mga node sa tamang subtree ay may mga halaga na mas malaki kaysa sa o katumbas ng halaga ng root node. |
Walang kamag-anak na pagkakasunud-sunod kung paano dapat organisahin ang mga node. | Ito ay sumusunod sa isang tiyak na pagkakasunod-sunod sa kung paano ang mga node ay dapat na nakaayos sa isang puno. |
Ito ay karaniwang isang hierarchical na istraktura ng data na isang koleksyon ng mga elemento na tinatawag na nodes. | Ito ay isang variant ng binary tree kung saan ang mga node ay nakaayos sa kamag-anak. |
Ito ay ginagamit para sa mabilis at mahusay na paghahanap ng data at impormasyon sa isang istraktura ng puno. | Ito ay higit sa lahat na ginagamit para sa pagpasok, pagtanggal, at paghahanap ng mga elemento. |
Buod ng Binary Tree at Binary Search Tree
Habang ang parehong gayahin ang isang hierarchical puno istraktura na kumakatawan sa isang koleksyon ng mga node sa bawat node na kumakatawan sa isang halaga, sila ay lubos na naiiba mula sa bawat isa sa mga tuntunin ng kung paano sila ay maaaring ipatupad at utilized. Ang isang Binary Tree ay sumusunod sa isang simpleng panuntunan na ang bawat node ng magulang ay may hindi hihigit sa dalawang node ng bata, samantalang ang Binary Search Tree ay isang variant lamang ng binary tree na sumusunod sa isang kamag-anak na pagkakasunud-sunod kung paano dapat organisahin ang mga node sa isang puno.