Information Technology "IT" - level 4
500 subscribers
688 photos
40 videos
834 files
170 links
رابط قناة المراجع والملخصات والنماذج والمحاضرات
@Al_Adeeb_Group
Download Telegram
تعديل هاااااااام‼️‼️‼️
الإختبار بايكون بكرة الساعة 10 للقسمين.


خلينا الكنترول يتواصل مع الاستاذه ويأخذ منها الإختبار ويختبرونا بكرة حسب الموعد
لان الاختبار لو تأجل للسبت باتتلخبط المذاكرة على الكل وممكن يحدث فورمات.
غداً :
اختبار معمارية عملي الساعه
10.
سلام. امتحان المحملين 12-9 والمستجدين 19-9 لذا يوم 26 سوف يكون في الاسبوع الثاني. يرجى مراجعة الجدول واذا فيه اي تعديلات يتم ارسال الجدول من جديد
اختبار اليوم معمارية حاسوب عملي
للإستفادة
Forwarded from ❥͢ ❈↡< C++ > برمجة (❥ツ)
إ₰...👨🏻‍💻CODE👩🏻‍💻...₰❥

#Binary_Tree
خــوارزمــيات الاشـجار الثنــائية:-
1⃣ كــود #اضــافـة العقد والأبناء.
2⃣كــود #طــباعــة العناصر مرتبة.
3⃣كــود #البــحـث عن عنصر بالأشجار الثنائية.
4⃣كــود #ايــجـاد اكبر واصغر عنصر بالشجرة.
5⃣كــود #تــرتيب الشجرة بطرقها الثلاث
preorder , inorder , postorder
6⃣كــود #حــذف عقدة من الشجرة سواء كانت تحمل ...
one child ,no child , two child

#include <iostream>
using namespace std;

struct node
{
int data;
node *left;
node *right;
};

node *NewNode(int data)
{
node *Node = new node;
Node->data = data;
Node->left = NULL;
Node->right = NULL;

return Node;
}

node *insertNode(node *&root, int val)
{
if (root == NULL)
{
node *newNode = NewNode(val);
root = newNode;
}

else if (val <= root->data)
root->left = insertNode(root->left, val);
else
root->right = insertNode(root->right, val);

return root;
}

void print(node *root)
{
if (root != NULL)
{
print(root->left);
cout << root->data << " ";
print(root->right);
}
}

node *search(node *root, int data)
{
if (root == NULL)
{
return NULL;
}
else if (root->data == data)
{
return root;
}

else if (data < root->data)
{
return search(root->left, data);
}
else if (data > root->data)
{
return search(root->right, data);
}
}

void postorder(node *root)
{
if (root)
{
postorder(root->left);
postorder(root->right);
cout << root->data << " ";
}
}

void Inorder(node *root)
{
if (root)
{
Inorder(root->left);
cout << root->data << " ";
Inorder(root->right);
}
}

void preorder(node *root)
{
if (root)
{
cout << root->data << " ";
preorder(root->left);
preorder(root->right);
}
}

node *findMin(node *root)
{
node *temp = root;
while (temp->left != NULL)
temp = temp->left;
return temp;
}

node *findMax(node *root)
{
node *temp = root;
while (temp->right != NULL)
temp = temp->right;
cout << temp->data;
return temp;
}

node *deleteNode(node *root, int data)
{
if (root == NULL)
return root;

else if (data < root->data)
root->left = deleteNode(root->left, data);

else if (data > root->data)
root->right = deleteNode(root->right, data);

else
{
//case 1 ....> No child
if (root->left == NULL && root->right == NULL)
{
delete root;
root = NULL;
}

//case 2 .....> One child
else if (root->left == NULL)
{
node *temp = root;
root = root->right;
delete temp;
}
else if (root->right == NULL)
{
node *temp = root;
root = root->left;
delete temp;
}

//case 3 .......> Two child
else
{
node *temp = findMin(root->right);
root->data = temp->data;
root->right = deleteNode(root->right, temp->data);
}
}
return root;
}

int main()
{
node *root = NULL;
node *item;
insertNode(root, 5);
insertNode(root, 1);
insertNode(root, 8);
insertNode(root, 7);
insertNode(root, 2);
insertNode(root, 9);
insertNode(root, 50);
insertNode(root, 4);

cout << "Binary sorted Tree :-" << endl;
print(root);
cout << endl;

cout << endl
<< "postorder " << endl;
postorder(root);
cout << endl
<< "*-*-*-*-*-*-*-*-*-*-*-*";

cout << endl
<< "Inorder " << endl;
Inorder(root);
cout << endl
<< "*-*-*-*-*-*-*-*-*-*-*-*";

cout << endl
<< "preorder " << endl;
preorder(root);
cout << endl
<< "*-*-*-*-*-*-*-*-*-*-*-*" << endl;

cout << endl
<< "max element : ";
findMax(root);
cout << endl
<< "*-*-*-*-*-*-*-*-*-*-*-*" << endl;

int SearchValue;
cout << "enter the value :";
cin >> SearchValue;

item = search(root, SearchValue);
if (item == NULL)
cout << "Not found ..\n";
else
cout << "found..\n";

cout << "*-*-*-*-*-*-*-*-*-*-*-*" << endl;

cout << "delete element 9:-" << endl;
root = deleteNode(root, 9);
print(root);
cout << endl;

cout << "delete element 2 :-" << endl;
root = deleteNode(root, 2);
print(root);
cout << endl;

cout << "delete element 8 :-" << endl;
root = deleteNode(root, 8);
print(root);
cout << endl;

return 0;
}
•┈┈┈•❈••✦✾✦••❈•┈┈┈•
❥➺┊ @barrmaja
•┈┈┈•❈••✦✾✦••❈•┈┈┈•