جزاك الله كل خير يا دكتور وزادك من علمه - ياريت تكمل حضرتك الكورس احنا متشوقين جدا و الخوارزميات انا متابع لحضرتك و ماشاء الله طريقة حضرتك مبسطة ومفهومة زادك الله من علمه
بارك الله فيك ياريت تكمل السلسلة قليل من يستطيع شرحها بهذه السلاسة لقد تخرجت وكنت احفظها حفظ للاسف حمدلله انه اليوم الانسان بمكانه ان يتعلم من عدة مصادر وشكرا لك الداتا بيز كانت شروحاتك مفيدة جدا
جزاك الله كل خير يا استاذنا.. ياريت لو متنساناش و تتاخر فالكورس لأننا طلبة كليات و متعرفش كمية الاستفادة اللي بنستفيدها من الكورس و ربنا يجعله فميزان حسناتك يارب
ما شاء الله ولا قوة الا بالله, جزاك الله خيرا يا دكتور, شرح بسيط واكثر من رائع ارجو من الله ان توفق فى نشر باقى السلسلة شرح ال graph وشرح ال algorithms
دكتورنا الحبيب هل ستكمل لنا هذا الكورس في الأيام القادمة أو لا ؟؟ لأن ما شاء الله الشرح الوحيد الذي بسط لي الداتا ستركشر هو شرحك أسال الله أن يرزقك ويزيدك في علمك ❤
سلام عليكم يا استاذنا الفاضل واجهتني مشكلة في العتور على فيديو خاص بك 10- programming for beginners - introduction - البرمجة للمبتدئين ربما تم حدفه أرجو يتم حل مشكلة و شكرا على مجودك الدائم جزاك الله خيرا
شكرا جدا لشرحك الممتاز يا دكتور .... عندي تعليق بس أنا لو عندي ال Left او ال Right لسه فيه Nodes بعدهم يبقى الكود كدة Node* Delete(Node* r, int key) { if (r == NULL) // Empty Tree return NULL; if (key < r->data) // Item exists in left sub tree r->left = Delete(r->left, key); else if (key > r->data) // item exists in right sub tree r->right = Delete(r->right, key); else { if (r->left == NULL && r->right == NULL) // leaf node r = NULL; else if (r->left != NULL && r->right == NULL) // one child on the left { r->data = r->left->data; r->left = r->left->left; } else if (r->left == NULL && r->right != NULL) // one child on the right { r->data = r->right->data; r->right = r->right->right;
@@DesoukiEgypt تمام يا دكتور مفهوم بس ليش الفونشكن اشتغلت تمام .. انا فكرتي انو اساسا لو دخلت بالريكرجن وبالفعل لقت العنصر مثلا راح ترجعو لما توصل لشرط انو لقتو ! بتمنى تفهم استفساري
@@mahmoudsh97 انت لو حبيت فيما بعد تستخدم ال function دى علشان تبحث عن نود علشان تعمل عليها اي شغل كانك مثلا تعمل replace للقيمة اللي فيها. او تبدلها بنود اخرى. لازم تكون عارف المكان بتاعها وبالتالي تحتاج return
جزاك الله خيرا يا دكتور بس سوال بخصوص الsearch فنكشن هو مش بكل الاحوال في نهاية recursion حيشتغل الcase التاني r->data==key@@DesoukiEgypt وكده مش المفروض return وحده تكفي ؟ مشكور سلفا
Thank you teacher, may God reward you I have a simple remark that when we delete we want children, the data should not be copied only because we will not be able to reach the children again. I wrote a code with which I fixed it else if(r->Left != NULL && r->Right == NULL){ Node* prev = r->Left; r->Left = prev->Left; r->Right = prev->Right; r->Data = prev->Data; delete prev; prev = NULL; } else if(r->Left == NULL && r->Right != NULL){ Node* prev = r->Right; r->Left = prev->Left; r->Right = prev->Right; r->Data = prev->Data; delete prev; prev = NULL; }
Program code
#include
using namespace std;
class Node
{
public:
int data;
Node* left, * right;
Node(int value)
{
data = value;
left = right = NULL;
}
};
class BST
{
public:
Node* root;
BST()
{
root = NULL;
}
Node* Insert(Node* r, int item)
{
if (r == NULL)
{
Node* newnode = new Node(item);
r = newnode;
}
else if (item < r->data)
r->left = Insert(r->left, item);
else
r->right= Insert(r->right, item);
return r;
}
void Insert(int item)
{
root= Insert(root, item);
}
void Preorder(Node* r) // root ->left->right
{
if (r == NULL)
return;
cout data left);
Preorder(r->right);
}
void Inorder(Node* r) // left->root -> right
{
if (r == NULL)
return;
Inorder(r->left);
cout data right);
}
void Postorder(Node* r) // left--> right->root
{
if (r == NULL)
return;
Postorder(r->left);
Postorder(r->right);
cout data data == key)
return r;
else if (key < r->data)
return Search(r->left, key);
else
return Search(r->right, key);
}
bool Search(int key)
{
Node* result = Search(root, key);
if (result == NULL)
return false;
else
return true;
}
Node* Findmin(Node* r)
{
if (r == NULL)
return NULL;
else if (r->left == NULL)
return r;
else
return Findmin(r->left);
}
Node* Findmax(Node* r)
{
if (r == NULL)
return NULL;
else if (r->right == NULL)
return r;
else
return Findmax(r->right);
}
Node* Delete(Node* r, int key)
{
if (r == NULL) // Empty Tree
return NULL;
if (key < r->data) // Item exists in left sub tree
r->left = Delete(r->left, key);
else if (key > r->data) // item exists in right sub tree
r->right =Delete(r->right, key);
else
{
if (r->left == NULL && r->right == NULL) // leaf node
r = NULL;
else if (r->left != NULL && r->right == NULL) // one child on the left
{
r->data = r->left->data;
delete r->left;
r->left = NULL;
}
else if (r->left == NULL && r->right != NULL) // one child on the right
{
r->data = r->right->data;
delete r->right;
r->right = NULL;
}
else
{
Node* max = Findmax(r->left);
r->data = max->data;
r->left= Delete(r->left, max->data);
}
}
return r;
}
};
int main()
{
//45, 15, 79, 90, 10, 55, 12, 20, 50
BST btree;
btree.Insert(45);
btree.Insert(15);
btree.Insert(79);
btree.Insert(90);
btree.Insert(10);
btree.Insert(55);
btree.Insert(12);
btree.Insert(20);
btree.Insert(50);
cout
السلام عليكم. دكتور خوارزميات و تراكيب البيانات الشرح لها ؟ و اذا ولا عليك امر تزودني ب مواد الي تدرسها خصوصي ل مجموعه
ياريت تكمل النا السلسلة معتمدين على الله ثم عليك 🥺❤
مشكور يا هندسة ع الشرح left;
delete temp;
جزاك الله كل خير يا دكتور وزادك من علمه - ياريت تكمل حضرتك الكورس احنا متشوقين جدا و الخوارزميات انا متابع لحضرتك و ماشاء الله طريقة حضرتك مبسطة ومفهومة زادك الله من علمه
يا دكتور محمد .. ممكن تنزل ال graph
وجزيتم عنا خيرا . ووفققكم الله لما يحبه ويرضاه
اول تعليق على العظمة اللى بتحصل دى
ربنا يبارك فى حضرتك يا دكتور
بارك الله فيك ياريت تكمل السلسلة قليل من يستطيع شرحها بهذه السلاسة لقد تخرجت وكنت احفظها حفظ للاسف حمدلله انه اليوم الانسان بمكانه ان يتعلم من عدة مصادر وشكرا لك الداتا بيز كانت شروحاتك مفيدة جدا
جزاك الله ألف خير يا دكتور على الشرح البسيط والرائع ، أغلب مواد البرمجة بشاهدها عندك وبفهمها منك، أتمنى إنك تكمل السلسلة وتشرح ال hash table و hashmap
بارك الله فيك 😍
بتمنى من حضرتك تعمل فيديو عن big O notation و حساب ال time complexty.
مشروح الفيديو اللى حضرتك طالبه فى قناتى فى اللينك اللى فوق
شرفنى باشتراكك 🤍
ياريت والله ربنا يكرمك
ألف شكر لحضرتك وفى انتظار سلسلة ال Algorithms ان شاء الله 💚
شرح ممتاز ربنا يجعله في ميزان حسناتك يارب ويكون علم يتنفع بيه
شكرا جدا لحضرتك والله اتمني تكمل تنزل باقي الكورس بنفس السرعة دي ❤❤
شكرا يادكتور على المحتوى الجميل وفى انتظار Graph وhash table
ربنا يكرمك و يوفقك في كل حياتك ويجبر بخاطرك زي مجبرت خاطرنا ارجو تكملة السلسلة + شرح ممتاز
يا ريت تكمل ولك الاجر والثواب
بشمهندس محتاجبن اوي اوي اوي حضرتك تكمل السلسة و يا ريت لو فيه كمان بلاي ليست Algorithm 😔
جزاك الله كل خير يا استاذنا.. ياريت لو متنساناش و تتاخر فالكورس لأننا طلبة كليات و متعرفش كمية الاستفادة اللي بنستفيدها من الكورس و ربنا يجعله فميزان حسناتك يارب
ولله يا بشمهندس محمد مش عارفين كنا هنعمل ايه منغيرك ربنا يسعدك🤎
ياريت ي بشمهندس تكمل السلسله بجد عشان نلحق نخلصها قبل الفينال . عجبني جدا شرح حضرتك فيها وربنا يباركلك ويجازيك كل خير يارب
ما شاء الله ولا قوة الا بالله, جزاك الله خيرا يا دكتور, شرح بسيط واكثر من رائع
ارجو من الله ان توفق فى نشر باقى السلسلة
شرح ال graph
وشرح ال algorithms
بارك الله فيك ياأستاذ محمد وياريت بعد اذن حضرتك لو يكون في سلسلة لل Algorithm
ياريت يا دكتور تكمل السلسله كامله علشان محتاجنيها
اله يعطيك العافية يا رب و جزاك الله كل خير
هل راح تكمل السلسلة بعد 🥺ما افهم البرمجة الا من حضرتك ياريت لو تكمل النا لانا محتاجيها بالجامعة
يعطيك العافيه دكتور شكرا لمجهودك وشرحك
ياليت تكمل السلسه لان والله ساعدتني كثير
جزاك الله خيرا ...
شرح أكثر من رائع
جزاء الله كل خير علي المجهود الكبير والشرح الرائع شكرا جدا يا استاذ محمد
الله يرضى عليك يا رب
الشرح جميل اوى
ربنا يجعله في ميزان حسناتك
منتظرين بقيت الليست يا دكتور
جزاك الله خير دكتورنا هل انتهت السلسلة هل ممكن ان تشرح لنا بطريقتط الرائعة Hash Table ..Graph
جزاك الله خيرا يا بشمهندس
جزاك الله كل خير وزادك الله من من علمه من بداية الكورس وانا مندمجة جدا بالشرح هل رح يتم تكملته بتمنى كتير لانه رائع الشرح
ياريت تكمل باقي الكورس ❤
جزاك الله خيرا نرجو منك ان تستمر
اتمني من حضرتك تكمل السلسله دي
ربنا يزيدك من فضله
محتاجين حضرتك تشرح باقي data structure
وتشرح Algorithm
شكرا السلسلة الرائعة منتظرين الباقي
thank u very much bro for your efforts you really solve us
الله يبارك فيك والله يابشمهندس
شكرا جزيلا لحضرتك ❤
يادكتور محمد ياريت تكمل السلسلة وتنزل algorithms
الله يجزيك الخير
بس ياريت لو حضرتك لما تكتب الكود تشرحلنا بالرسم ايه الي بيحصل بسطر الكود من خلال الرسم
وربنا يجعله في ميزان حسناتك
جزاك الله خيرااا
جزاك الله خير❤❤❤❤
شكرا يادكتور جزاك الله خيرا
شكرا جزيلا استاد في انتظار كورس graph
تم ،الحمد لله 💚🍀
شكرًا جدًا لك دكتور💚 الله يجزيك كل خير
10_1_2023
التكمله جزاك الله خيرا
يادكتور ممكن تنزل فديو عن graph
كورس رائع منظرين تكملته
ياريت لو تكمل السلسلة يا دكتور
جزيت خير
شكرا ياباشا
جزاك الله خيرا ممكن تكمل السلسلة وتشرح الخوارزميات السنة دي
فين فيديوهات Doubly Linked List يبشمهندس
في انتظار باقي الكورس
شرح ممتاز بس كونا عايزينوا بالجافا
ممكن حضرتك تشرح Bag,Sets
دكتور محمد بعد أذن حضرتك هتنزل امتا كورس algorithms باستخدام ++C
دكتورنا الحبيب هل ستكمل لنا هذا الكورس في الأيام القادمة أو لا ؟؟
لأن ما شاء الله الشرح الوحيد الذي بسط لي الداتا ستركشر هو شرحك أسال الله أن يرزقك ويزيدك في علمك ❤
الله يوفقك
حضرتك هتكمل الكورس امتي يا هندسه
ارجو ان تكمل السلسله
عايزين شرح الGraph وhash table لو سمحت يا دكتور
هل هاذا اخر فيديو بالكورس ؟؟ جزاكم الله خير
ممكن يا دكتور تكمل السلسلة ، رجاء
حضرتك تستخدم دائما C++ هل هى افضل كثير من C# من وجهة نظرك حيث لم اكتب c++ من قبل ولم اطلع عليها لذا اريد من حضرتك التوضيح
وجزاك الله كل خير
هي افضل في شرح الأساسيات و تعليم الطلاب قواعد البرمجة.
استمر
سلام عليكم يا استاذنا الفاضل واجهتني مشكلة في العتور على فيديو خاص بك
10- programming for beginners - introduction - البرمجة للمبتدئين
ربما تم حدفه أرجو يتم حل مشكلة و شكرا على مجودك الدائم جزاك الله خيرا
طيب يا دكتور لو سمحت لو فى اى اتجاه يمين او شمال node ليها child واحد بس child ده له child كمان كدة الحالة دى مش بتظبط منى فى حالة delete
هتكمل امتا يا دكتور
مرحبا , ممكن تكمل وتشرح الغراف والفيكتور وشكرا
هل هذه اخير حلقة بالسلسلة؟؟؟
ممكن حضرتك تعمل الكورس بالجافا
الي اكملوا الكورس هل الكورس غطى كل انواع هيكلة البيانات ؟
لا
@Khaled Subri ابحث عن القنوات العربية مثل الزيرو و اتعلم ببساطة او عبدالرحمن جمال
في حاجات أساسية تانية زي graph و hash tables مش موجودين
ياريت لو في تكمله للسلسة،🥺
💙💙💙💙💙💙💙💙
شكرا جدا لشرحك الممتاز يا دكتور .... عندي تعليق بس أنا لو عندي ال Left او ال Right لسه فيه Nodes بعدهم يبقى الكود كدة
Node* Delete(Node* r, int key)
{
if (r == NULL) // Empty Tree
return NULL;
if (key < r->data) // Item exists in left sub tree
r->left = Delete(r->left, key);
else if (key > r->data) // item exists in right sub tree
r->right = Delete(r->right, key);
else
{
if (r->left == NULL && r->right == NULL) // leaf node
r = NULL;
else if (r->left != NULL && r->right == NULL) // one child on the left
{
r->data = r->left->data;
r->left = r->left->left;
}
else if (r->left == NULL && r->right != NULL) // one child on the right
{
r->data = r->right->data;
r->right = r->right->right;
}
else
{
Node* max = FindMax(r->left);
r->data = max->data;
r->left = Delete(r->left, max->data);
}
}
return r;
}
else if (r->left==NULL&&r->right!=NULL){
r->data=r->right->data;
r->right=r->right->right;
r->left=r->right->left;}
بهي الحاله هون مثلا بدك تجيب سيره الليفت والرايت تبعهن مو بس الليفت او بس الرايت كمان
الحين هذا اخر درس؟
السلام عليكم عندك قناة تلغرام
Pointers, classes, arrays, functions
Linked list
Stack
Queue
Binary tree
Binary search tree
لو سمحت هوا كدا خلص الكورس بتاع ال data structure
السلام عليكم .. بتمنى ترد على سؤالي يا دكتور :
انا بفونكشن البحث ما فهمت ليش حطينا return وجربت شيلها واشتغلت .. نسحت قصدي للتوضيح , ممكن توضيح !
Node* Search(Node* r, int key)
{
if (r == NULL)
return NULL;
else if (r->data == key)
return r;
else if (key < r->data)
Search(r->left, key);
else
Search(r->right, key);
}
الreturn علشان ترجعلنا النود اللي لقينا فيها الرقم اللي بندور عليه.
@@DesoukiEgypt تمام يا دكتور مفهوم بس ليش الفونشكن اشتغلت تمام .. انا فكرتي انو اساسا لو دخلت بالريكرجن وبالفعل لقت العنصر مثلا راح ترجعو لما توصل لشرط انو لقتو !
بتمنى تفهم استفساري
@@mahmoudsh97 انت لو حبيت فيما بعد تستخدم ال function دى علشان تبحث عن نود علشان تعمل عليها اي شغل كانك مثلا تعمل replace للقيمة اللي فيها. او تبدلها بنود اخرى. لازم تكون عارف المكان بتاعها وبالتالي تحتاج return
@@DesoukiEgypt متشكر حضرتك
جزاك الله خيرا يا دكتور بس سوال بخصوص الsearch فنكشن هو مش بكل الاحوال في نهاية recursion حيشتغل الcase التاني r->data==key@@DesoukiEgypt وكده مش المفروض return وحده تكفي ؟ مشكور سلفا
دكتور محتاج السلايد الي تشرح عليه منين احصله؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
Thank you teacher, may God reward you
I have a simple remark that when we delete we want children, the data should not be copied only because we will not be able to reach the children again. I wrote a code with which I fixed it
else if(r->Left != NULL && r->Right == NULL){
Node* prev = r->Left;
r->Left = prev->Left;
r->Right = prev->Right;
r->Data = prev->Data;
delete prev;
prev = NULL;
}
else if(r->Left == NULL && r->Right != NULL){
Node* prev = r->Right;
r->Left = prev->Left;
r->Right = prev->Right;
r->Data = prev->Data;
delete prev;
prev = NULL;
}
دكتور محمد
هل انتهت هذه السلسلة
هو فى سوال هو عند وجود طفل واحد على شمال او اليمين الشرط إللى احنا عاملينه ممكن يكون بيشاور على nood 43:27 تانية
مش ممكن نقول بدل else if ( left!=null &&r right==null(
else if (r->left->left==null&&r->right==null)
الكورس انتهى ؟؟؟
لو سمحت ياهندسة هيكون data structure ب java
الداتا ستركجر ثابته بعتقد لكن الساينتاكس بيختلف
الليه مافي شرح لل graph
يا دكتور كيف نعمل matrix
أنا مش فاهم سؤالك اوى لكن عامة باستخدام 2d array
اشترك فى قناتى لو أمكن
شكرا 🤍
تم بحمد الله 3/7/2024
ياريت لو شارح النا ال hashing ☹💔
يا دكتور دلوقتي في ال Delete لو زودت 48 و بعدين مسحت 55 بعدين مسحت 50 بتبوظ مني
للاسف الحاجة الجميلة عمرها مابتكمل
ياريت تشرح الهاشنق
جزاك الله كل خير🥰🥰
السلسلة كاملة وكافيه لتعلم الDS
هل السلسلة كافيه وكاملة لتعلم الDS !