2-Mavzu: Ikkilik daraxtlar bilan ishlash
Ikkilik daraxtga qo'shilish
Ushbu maqolada biz bilib olamiz ikkilik daraxtga kiritish. Biz allaqachon tushunchasini ko'rganmiz BFS oldingi maqolada, shuning uchun bu erda biz ikkitomonlama daraxtga ma'lumotlarni kiritish uchun xuddi shu kontseptsiyadan foydalanamiz. Ushbu kontseptsiya daraxtni darajadagi tartibda bosib o'tmoqda va agar biz chap yoki o'ng yoki ikkala tugun NULL bo'lgan tugunga duch kelsak, ma'lumotlarni NULL tugun holatiga joylashtiring (birinchi navbat chapdan). Ko'proq tushunish uchun quyidagi misolga qarang.
Yuqoridagi ikkilik daraxtga (10) ma'lumotlar bilan tugun kiritmoqchimiz. BFS dan foydalanganda tugunni (5) chap bolada NULL topamiz. Shunday qilib, biz (10) ma'lumotlar bilan tugunni 5 yoshdagi chap bola sifatida qo'shamiz.
Ikkilik daraxtga kiritish uchun C ++ kodi
/*C++ Implementation of Insertion in Binary Tree*/
#include
using namespace std;
/*Structure of Node of BT which contain pointer to left child and right child and a data for node.*/
struct Node{
int data;
struct Node* left;// for left child;
struct Node* right;// for right child;
Node(int value)// create a node using new_Node;
{
data=value;
left=NULL;
right=NULL;
}
};
/*Function which print bfs of the given tree*/
void level_order(Node* root)
{
if(root==NULL)
{
return;
}
queue<Node*> q;
q.push(root);
while(!q.empty())
{
Node* temp=q.front();
cout<<temp->data<<" ";
q.pop();
if(temp->left!=NULL)
{
q.push(temp->left);
Do'stlaringiz bilan baham: |