Algoritmlarning xossalari Algoritmning asosiy xossalari. Algoritmning 5-ta asosiy xossasi bor: Diskretlilik Cheklilik


-Mavzu: Ikkilik daraxtlar bilan ishlash


Download 1.05 Mb.
bet7/23
Sana06.04.2023
Hajmi1.05 Mb.
#1334689
1   2   3   4   5   6   7   8   9   10   ...   23
Bog'liq
1 mavzu Algoritmlarning xossalari Algoritmning asosiy xossalari

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);

Download 1.05 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   ...   23




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling