الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يكون شكل الBST بعد الحذف ؟

مغلق
بدأه مجلـد جديـد في 4 يونيو 2007 · 4 رد · 635 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي هذه الشجرة من نوع Binary Search Tree و أريد حذف العنصر رقم 25 باستخدام الكود التالي :

الشجرة :

bstree.gif

الكود :

void BinarySearchTree::makeDeletion01( TreeNode*& nodePtr )
{
	TreeNode* tempPtr; //TreeNode* tempPtr = new TreeNode;

	if ( nodePtr -> left == NULL )// the node has a right child 
		{
		tempPtr = nodePtr;
		nodePtr = nodePtr -> right;
		delete tempPtr;
		}
	else 
		if ( nodePtr -> right == NULL ) // the node has a left child
			{
			tempPtr = nodePtr;
			nodePtr = nodePtr -> left;
			delete tempPtr;
			}
		else // the node has two childs
			{
			TreeNode* tempPtr = nodePtr -> right;
			//tempPtr = tempPtr -> right;

			while ( tempPtr -> left != NULL )
				tempPtr = tempPtr -> left;

			tempPtr -> left = nodePtr -> left;
			tempPtr = nodePtr;

			nodePtr = nodePtr -> right;
			delete tempPtr;
			}
}

فكيف يكون شكل الشجرة بعد الحذف ؟

#2

مافيه احد يعرف لل Binary Search Tree :( ؟

#3

ماعرف للسي++ لكن بالشجره : ترقى الثلاثين بدل الخمسه والعشرين

#4

وابن ال 30 الي هو 33 وين يكون فيه ؟ يكون مربوط مع ال 35 ؟

هذا الموضوع مغلق.

مواضيع مشابهة