شكرا كثير على الكورس و الله يعطيك العافيه❤️، بس حكالنا الدكتور انو إختيار العنصر الأول بالأريي يعتبر مثل اختيار أصغر عنصر بالأريي، و هو خيار كثير سيء لأنو بجعل العملية كثير بطيئة على الرغم من انه شائع و هذا شئ سيئ، و أحد الخيارات المناسبة لختيار pivot هو median of three و يعتبر كمان شائع و أسرع من إختيار العنصر الأول كpivot و هو عبارة عن اخذ العنصر الأول و الأخير و العنصر يلي بمنتصف الArray و إختيار الmedian بينهم ،و على الرغم من انه لثنين بياخذوا quadratic time لكن يبقى خيار الmedian of three أفضل و أسرع من the first element يلي يعتبر بطيء جدا، اما best case for Quicksort ب تتأخذ O(n log n) و بهي الحالة بكون الpivot هو الmedian بالأريي و هذا الشي صعب حسابه و نحن بكل الأحوال بأي عملية Sorting بنأخذ worst case، مشان هيك يعتبر إختيار median of three أفضل خيار.
ربنا يبارك في حضرتك علي التوضيح الجميل دة . بس حضرتك في ملحوظة اني لو جيت تطبق علي partition 1 في ال code و خليت اخر قيمة في المصفوفة هي اصغر قيمة هتلاقي ان الكومبيلر بيتجاهلها لان الكود خاصة ال do-while الثانية كودها اتنفز علي عكس القيم الموجودة في المصفوفة ف الخلاصة اني لازم تغير ال do-while الثانية الي while بنفس الشرط
يعطيك العافيه وجزاك الله كل خير ..بس عندي سؤال اذا ممكن من حضرتك تجاوبني عليه أنا بحضر فيديوهاتك وما شاء الله عن شرحك مبدع جدا ..بدي اسال عندي بزي سؤال باستخدام class كيف اوجد المسافه بين نقطتين تتكون من ثلاثه محاور x,y,Z ومن ضمن السؤال طالب اطبع النقطه مع اسمها مثلا. P1(1,2,3 ) كيف اعمل هاي الخطوه ؟اني ادمج محاور النقطه مع اسمها
اولا الله يجزيك الخير ويسعد قلبك ثاني شي بس ودي اشير ع ملاحظه مرت علي في كتابه الكود عند ال جي في partition2 do - - j (while (arr[ j ] > p المفروض الزياده تكون بعد مش قبل (while (arry[ j ] > p - - j
في مشكلة بال partition 2 لانو بعمل skip عن اخر رقم بال Array بسبب do {j--} while a[j] > pivot وممكن يكون رقم اقل من pivot جرب حط اصغر رقم في array بآخرها وشوف ناتج QuickSort رح يطلع غلط
هوا ازاي لما عملت calling للquick sort function الparameter التالت عملته n مش n-1 ... مش المفروض دا index وبنقص من حجم الاarray واحد عشان نجيب اخر index??
لان جملة do تقوم بالتنفيذ ثم تتاكد من شرط ال while عشان تعمل انقاص مرة اخرى من قيمة ال j) وبالتالى العنصر الاخير سيتم التغافل عنه فى عملية الترتيب ولتفادى الموضوع ده اما اخلى n-1 ..... n او انى اكتب الشرط بتاع ال j .... كدة while (arr[j]>p) {;--j}
شكرا على هذا المجهود الي جاي تقدمة الشرح كافي ووافي ربي يوفقك ويعطيك الف عافيه بس عندي سؤال اذا كنت اريد عرض التغييرات التي تحصل في القيم كيف راح اكتب الكود
في مشكلة بال partition 2 لانو بعمل skip عن اخر رقم arr(right) وممكن يكون رقم اقل من pivot جرب حط اصغر رقم في array بآخرها وشوف ناتج QuickSort رح يطلع غلط
أخذت صفر في سؤال الكويك سورت بسببك! 🥲 كان اختبار فاينل.. لما كلمت الدكتور قال لي ما يصير تختار نقطة البداية نفسها ال pivot ولا يصير تسوي سواب لل pivot من البداية لازم يظل مكانه بعدين لما مدري ايش تسوي سواب وعطاني صفر على كامل السؤال بسبب هذا الشيء مع العلم إني في النهاية ال Array صارت sorted array لكن قال لي اللوجيك غلط اللي مشيت عليه ما أقدر أحسبه لك 🤦🏻 حرام والله السؤال كان عليه ١٠ درجات 😓 السؤال ماكان كودينق .. كان جايب لي Array وطالب مني أطبق جزء من خطوات البارتشن يعني نفس الدقيقة 5:40 في المقطع سويت نفسك بالضبط يعني هو أتوقع كان يقصد الطريقة الثانية اللي بالمقطع .. طيب هل هذا معناه أن الطريقة الأولى خطأ؟! [ تحديث ] الدكتور بعد ما راجعت معاه ورقتي وطبعًا ما اقتنع بكلامي لما قلت له إن الطريقة صحيحة وشوف وصلت في النهاية ل Array مرتبة، عطاني نص درجة السؤال ولما رجعت البيت الحمدلله لقيت إنه عطاني الدرجة الكاملة غير رأيه شكله 😂 أشكر صاحب القناة استفدت منه الكثير الصراحة في البرمجة 🌹
@@mmsbah191 أبشرك يا عزيزي الدكتور عطاني درجة كاملة عليه بعدين لما خلصت مراجعة رجعت البيت وشفتها تغيرت من صفر إلى فل مارك .. وياليت توضح لي إيش قصدك في تقصيري؟! مو أنا طبقت الفكرة اللي شرحها بالمقطع لكن الغلط من الدكتور هو اللي ما كان عنده فكرة عن الطريقة الثانية .. بالعكس أنا أشكر صاحب المقطع استفدت منه كثير في الجامعة 🌹
20:19 the last swap betwean arr[l],arr[j], && thank you for this amzing explain
شكرررررا جزيلا لم افهم طريقة quick sort الا من شرحك ❤❤❤❤❤❤❤❤❤
يسعدك يارب، كل التوفيق
والله انك كفو ثم كفو ثم كفو الله يجزاك خير ويرزقك الجنه من غير حساب ولا سابق عذاب ❤️❤️❤️
يسعدك يا رب، اجمعين ان شاء الله
شكرا كثير على الكورس و الله يعطيك العافيه❤️، بس حكالنا الدكتور انو إختيار العنصر الأول بالأريي يعتبر مثل اختيار أصغر عنصر بالأريي، و هو خيار كثير سيء لأنو بجعل العملية كثير بطيئة على الرغم من انه شائع و هذا شئ سيئ، و أحد الخيارات المناسبة لختيار pivot هو median of three و يعتبر كمان شائع و أسرع من إختيار العنصر الأول كpivot و هو عبارة عن اخذ العنصر الأول و الأخير و العنصر يلي بمنتصف الArray و إختيار الmedian بينهم ،و على الرغم من انه لثنين بياخذوا quadratic time لكن يبقى خيار الmedian of three أفضل و أسرع من the first element يلي يعتبر بطيء جدا، اما best case for Quicksort ب تتأخذ O(n log n) و بهي الحالة بكون الpivot هو الmedian بالأريي و هذا الشي صعب حسابه و نحن بكل الأحوال بأي عملية Sorting بنأخذ worst case، مشان هيك يعتبر إختيار median of three أفضل خيار.
الكود الصحيح لبارتيشن 2 public static int p2 (int arr[],int l,int h){
System.out.println(h);
int p = arr[l];
int i = l;
int j = h;
while(i < j){
while(i < arr.length -1 && arr[i] 0 && arr[j] >= p){
j--;
}
if(i < j){
swap(arr,i,j);
}
}
swap(arr,l,j);
return j;
}
جزاك الله خيرا شكرا على المقاطع الجميله
الله يغفرلك و يدخلك الجنه بدون عذاب ولا حساب
زادك الله علما... جزيت خيرا على الشرح الأكثر من رائع
يسعدك يارب، اجمعين ان شاء الله
اللهم صل وسلم وبارك على سيدنا محمد❤
الله يعطيك العافية على هذا الشرح الممتاز.. بس كنت أتمنى لو شرحت دالة mergeSort أكثر وخصوصا كيفية التتبع recursion.
يعافي عمرك يا رب ، في درس على القناة بشرح ال recursion بتمنى تشوفو ، بالتوفيق الك
جزاك الله خيرا
تسلم إيديك على الشرح
شرح رائع شكراً جزيلاً!
بتمنى نشوف فيديو عن ال RadixSort.
العفو .. اكيد اذا كان في طلب ليش لا ..
كل التوفيق الك .
جزاك الله كل خير ي بشهمهندس والله شرح رائع .هل ممكن ترفعلنا الماتريال ال بتشرح منها علي جوجل درايف وتبعتلنا الرابط .
ننتظر منك المزيد
لك احلى استاذ بربي
الله يجزاك خير
شكرا يا عالمي
العفو , بالتوفيق الك
بحبك يا رائع،،
بعد 6 اشهر رجعت ثاني اسمع للكورس الأكثر من جميل هذا .... بصراحة شرح ولا أروع 💖💖👌
كمان بعد شهر من الرد على التعليق راجع من جديد❤
في اول partition piv-1 piv+1 لكن في partition2 (piv) piv+1. هل هاذا عادي في ثانية متزيدش واحد لل piv
يعطيك لعافية استاذ في سؤال هلا اذا بدي بلش بالpivot من الاخير لازم اعدل على الif واكتبها مثلا (arr[j]
ماهو اسم البرنامج الذي تعمل به لأنشاء فيديوهات .....شكرا مسبقا
الله يسعدك ويوفقك ويزيدك من العلم مررره شكرا مررره ❤️❤️❤️❤️❤️❤️
يعطيك العافية يارب
شكرا لك
جدا رائع..
كل التوفيق
انا ل ما فهمته طب ما هي الاجابة واضحة انه سيكون من الاصغر لل اكبر او كيف ممكن ينسأل على العملية سؤال بالامتحان؟
ربنا يبارك في حضرتك علي التوضيح الجميل دة .
بس حضرتك في ملحوظة اني لو جيت تطبق علي partition 1 في ال code و خليت اخر قيمة في المصفوفة هي اصغر قيمة هتلاقي ان الكومبيلر بيتجاهلها لان الكود خاصة ال do-while الثانية كودها اتنفز علي عكس القيم الموجودة في المصفوفة ف الخلاصة اني لازم تغير ال do-while الثانية الي while بنفس الشرط
يعطيك العافيه وجزاك الله كل خير ..بس عندي سؤال اذا ممكن من حضرتك تجاوبني عليه أنا بحضر فيديوهاتك وما شاء الله عن شرحك مبدع جدا ..بدي اسال عندي بزي سؤال باستخدام class كيف اوجد المسافه بين نقطتين تتكون من ثلاثه محاور x,y,Z ومن ضمن السؤال طالب اطبع النقطه مع اسمها مثلا. P1(1,2,3 ) كيف اعمل هاي الخطوه ؟اني ادمج محاور النقطه مع اسمها
اولا الله يجزيك الخير ويسعد قلبك ثاني شي بس ودي اشير ع ملاحظه مرت علي في كتابه الكود عند ال جي في
partition2
do
- - j
(while (arr[ j ] > p
المفروض الزياده تكون بعد مش قبل
(while (arry[ j ] > p
- - j
بالظبط كدا لأن لو اخر عنصر كان اصغر من الpivot كان هيتجاهله ويسيبه في اخر ال array
لا هو شغال صح لانه بيبعت عدد n للفانكشن مش بيبعت n-1
تشكرات
why using while loop when you are using a sequence of integer as a list you should use for loop because for is faster then while loop :3
في مشكلة بال partition 2 لانو بعمل skip عن اخر رقم بال Array بسبب do {j--} while a[j] > pivot وممكن يكون رقم اقل من pivot
جرب حط اصغر رقم في array بآخرها وشوف ناتج QuickSort رح يطلع غلط
نفذ الـ Case الي بتحكي عنها بالـ IDE وخبرني شو بصير معك
Adel Nasim نفس الكود الي منزلو على github واعملو quicksort1 رح يعطيك ترتيب خطأ بسبب do while لانو عمل skip للصفر وبالصدفة طلع اقل من pivot
عاشت ايدك ❤
هوا ازاي لما عملت calling للquick sort function الparameter التالت عملته n مش n-1 ... مش المفروض دا index وبنقص من حجم الاarray واحد عشان نجيب اخر index??
ال partition الثاني بختلف يشكل بسيط عن الأول، ممكن نعدل الشرط الي داخلو ونبعتها n-1
لان جملة do تقوم بالتنفيذ ثم تتاكد من شرط ال while عشان تعمل انقاص مرة اخرى من قيمة ال j) وبالتالى العنصر الاخير سيتم التغافل عنه فى عملية الترتيب ولتفادى الموضوع ده
اما اخلى n-1 ..... n
او انى اكتب الشرط بتاع ال j .... كدة
while (arr[j]>p)
{;--j}
شكرا على هذا المجهود الي جاي تقدمة
الشرح كافي ووافي ربي يوفقك ويعطيك الف عافيه
بس عندي سؤال اذا كنت اريد عرض التغييرات التي تحصل في القيم كيف راح اكتب الكود
Thank you
شكرا على هذا المجهود 🥰🥰
23/9/2022 fri
21:56 pm
طيب شو هي الكومبلكستي الخاصة بها بالاسوء والافضل
اهلا صديقي شوفهم بالثلاث حالات على الدقيقة
21:55
في مشكلة بال partition 2 لانو بعمل skip عن اخر رقم arr(right) وممكن يكون رقم اقل من pivot
جرب حط اصغر رقم في array بآخرها وشوف ناتج QuickSort رح يطلع غلط
نفذت الكود؟؟
Adel Nasim نعم نفذتو .. انا قصدي بال partition 2 الي شرحتو ثاني واحد بالفيديو
وحش ربي يسعدك ❤️
هل يوجد شرح ل shell sort
حاليا للأسف
الكود للطريقة الثانية في الشرح خاطئ
كيف
🎉
ممكن redix sort
Func partation2 فيها غلطه
في شي مافهمته
أمتي نسأل هل i أقل من j
وامتي نسأل هلي القيمه الي في i أقل من القيمه الي في j بس هذي الجزئيه الي لخبطتني
لما نسأل عن القيمة نكتب arr[i] ونكمل مقارنه
ولما نسال عن الموقع نكتب i لوحدها
@@aldibaldib5187 🤍شكرا
9:07
أخذت صفر في سؤال الكويك سورت بسببك! 🥲
كان اختبار فاينل..
لما كلمت الدكتور قال لي ما يصير تختار نقطة البداية نفسها ال pivot ولا يصير تسوي سواب لل pivot من البداية لازم يظل مكانه بعدين لما مدري ايش تسوي سواب
وعطاني صفر على كامل السؤال بسبب هذا الشيء
مع العلم إني في النهاية ال Array صارت sorted array لكن قال لي اللوجيك غلط اللي مشيت عليه ما أقدر أحسبه لك 🤦🏻
حرام والله السؤال كان عليه ١٠ درجات 😓
السؤال ماكان كودينق .. كان جايب لي Array وطالب مني أطبق جزء من خطوات البارتشن يعني نفس الدقيقة 5:40 في المقطع سويت نفسك بالضبط
يعني هو أتوقع كان يقصد الطريقة الثانية اللي بالمقطع .. طيب هل هذا معناه أن الطريقة الأولى خطأ؟!
[ تحديث ]
الدكتور بعد ما راجعت معاه ورقتي وطبعًا ما اقتنع بكلامي لما قلت له إن الطريقة صحيحة وشوف وصلت في النهاية ل Array مرتبة، عطاني نص درجة السؤال ولما رجعت البيت الحمدلله لقيت إنه عطاني الدرجة الكاملة غير رأيه شكله 😂
أشكر صاحب القناة استفدت منه الكثير الصراحة في البرمجة 🌹
مو غلط بس الجامعة بتحب البصم😂
هذا اللي يحفظ وميفهمش، غلط تلوم غيرك على اخطائك وتقصيرك.
@@mmsbah191 أبشرك يا عزيزي الدكتور عطاني درجة كاملة عليه بعدين لما خلصت مراجعة رجعت البيت وشفتها تغيرت من صفر إلى فل مارك ..
وياليت توضح لي إيش قصدك في تقصيري؟!
مو أنا طبقت الفكرة اللي شرحها بالمقطع لكن الغلط من الدكتور هو اللي ما كان عنده فكرة عن الطريقة الثانية .. بالعكس أنا أشكر صاحب المقطع استفدت منه كثير في الجامعة 🌹