بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله تعالى وبركاته ...
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله تعالى وبركاته ...
اقتباسIf A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut
Albert Einstein
الموضوع فى غايه السهولة
نفرض انك كتبت برنامج كبير, من ضمن هذا البرنامج كنت تستخدم tree حتى تخزن فيها integer values
يعنى عشان نبسط الموضوع نفرض ان العقدة node فى هذه الشجرة تمثل بهذا ال structure
struct node
{
int node_data;
struct node* left,right;
};بالتاكيد هذا التمثيل للعقده واضح لاى شخص يمكن يكون اتعامل مع ال trees
والان نفرض انك تريد ان مجموع كل القيم المخزنة فى هذه الشجرة, عليك ان تتجول فى كل الشجرة و تجمع القيم
هذه الداله يمكن ان تقوم بالمطلوب
int sum(struct node* root)
{
if(root == 0) return 0;
return root->node_data + sum(root->left)+ sum(root->right);
}هذه الدالة بسيطة ولكنها يجب ان تقوم بالمطلوب,
و الله اعلم
جزاكما الله خيرا
اقتباسIf A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut
Albert Einstein
هذا الموضوع كبير جدا يستعمل في عدة مجالات في الحاسوب يستعمل اولا
في
تراكيب البيانات
الذكاء الصناعي
وليس بالشيء الهين لأنه يستعمل في خوارزميت الحذف والإضافة [/binary Tree traverses by Recursive في تراكيب البيانات وليست المسألة فقط traves او recursive انما ايضا left وايضا right
نموت وتحيا ...................فلسطين .