#028

Поділитися
Вставка
  • Опубліковано 2 лют 2025

КОМЕНТАРІ • 73

  • @relaxing7503
    @relaxing7503 2 роки тому +2

    20:19 the last swap betwean arr[l],arr[j], && thank you for this amzing explain

  • @najeebalturki5331
    @najeebalturki5331 4 роки тому +3

    شكرررررا جزيلا لم افهم طريقة quick sort الا من شرحك ❤❤❤❤❤❤❤❤❤

    • @AdelNasim
      @AdelNasim  4 роки тому +1

      يسعدك يارب، كل التوفيق

  • @VoxaFPS
    @VoxaFPS 3 роки тому +2

    الكود الصحيح لبارتيشن 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;
    }

  • @m-alaazabateh5995
    @m-alaazabateh5995 2 роки тому +3

    شكرا كثير على الكورس و الله يعطيك العافيه❤️، بس حكالنا الدكتور انو إختيار العنصر الأول بالأريي يعتبر مثل اختيار أصغر عنصر بالأريي، و هو خيار كثير سيء لأنو بجعل العملية كثير بطيئة على الرغم من انه شائع و هذا شئ سيئ، و أحد الخيارات المناسبة لختيار 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 أفضل خيار.

  • @samarmjed9632
    @samarmjed9632 5 років тому +3

    والله انك كفو ثم كفو ثم كفو الله يجزاك خير ويرزقك الجنه من غير حساب ولا سابق عذاب ❤️❤️❤️

    • @AdelNasim
      @AdelNasim  5 років тому +1

      يسعدك يا رب، اجمعين ان شاء الله

  • @fatemakhalfan6980
    @fatemakhalfan6980 4 роки тому +2

    زادك الله علما... جزيت خيرا على الشرح الأكثر من رائع

    • @AdelNasim
      @AdelNasim  4 роки тому +1

      يسعدك يارب، اجمعين ان شاء الله

  • @AhmedMohamed-sn1vb
    @AhmedMohamed-sn1vb 3 роки тому

    جزاك الله خيرا شكرا على المقاطع الجميله
    الله يغفرلك و يدخلك الجنه بدون عذاب ولا حساب

  • @fatemakhalfan6980
    @fatemakhalfan6980 4 роки тому +1

    ننتظر منك المزيد

  • @othmanalyusifey356
    @othmanalyusifey356 4 роки тому +3

    بحبك يا رائع،،

    • @othmanalyusifey356
      @othmanalyusifey356 4 роки тому +1

      بعد 6 اشهر رجعت ثاني اسمع للكورس الأكثر من جميل هذا .... بصراحة شرح ولا أروع 💖💖👌

    • @othmanalyusifey356
      @othmanalyusifey356 4 роки тому +1

      كمان بعد شهر من الرد على التعليق راجع من جديد❤

  • @eng.khalid9763
    @eng.khalid9763 5 років тому +6

    الله يعطيك العافية على هذا الشرح الممتاز.. بس كنت أتمنى لو شرحت دالة mergeSort أكثر وخصوصا كيفية التتبع recursion.

    • @AdelNasim
      @AdelNasim  5 років тому +3

      يعافي عمرك يا رب ، في درس على القناة بشرح ال recursion بتمنى تشوفو ، بالتوفيق الك

  • @WhyNot-h3f
    @WhyNot-h3f 2 місяці тому

    اللهم صل وسلم وبارك على سيدنا محمد❤

  • @samer-hd3zz
    @samer-hd3zz Рік тому

    تسلم إيديك على الشرح

  • @shahdmohammed9514
    @shahdmohammed9514 3 місяці тому

    جزاك الله خيرا

  • @otakuoamvs62
    @otakuoamvs62 2 роки тому

    لك احلى استاذ بربي

  • @MSK-gv2hw
    @MSK-gv2hw 5 років тому +3

    شرح رائع شكراً جزيلاً!
    بتمنى نشوف فيديو عن ال RadixSort.

    • @AdelNasim
      @AdelNasim  5 років тому +8

      العفو .. اكيد اذا كان في طلب ليش لا ..
      كل التوفيق الك .

  • @anashamad6346
    @anashamad6346 5 років тому +1

    شكرا يا عالمي

    • @AdelNasim
      @AdelNasim  5 років тому

      العفو , بالتوفيق الك

  • @Animelover-oo7cz
    @Animelover-oo7cz 2 роки тому

    الله يجزاك خير

  • @samarmjed9632
    @samarmjed9632 5 років тому +1

    الله يسعدك ويوفقك ويزيدك من العلم مررره شكرا مررره ❤️❤️❤️❤️❤️❤️

  • @mo-ry5je
    @mo-ry5je 4 роки тому

    يعطيك العافية يارب

  • @hassanrefaat572
    @hassanrefaat572 3 роки тому +2

    جزاك الله كل خير ي بشهمهندس والله شرح رائع .هل ممكن ترفعلنا الماتريال ال بتشرح منها علي جوجل درايف وتبعتلنا الرابط .

  • @abdelalibakour3937
    @abdelalibakour3937 3 роки тому +1

    ماهو اسم البرنامج الذي تعمل به لأنشاء فيديوهات .....شكرا مسبقا

  • @goodlife-hb8cn
    @goodlife-hb8cn 4 роки тому +1

    جدا رائع..

  • @djalalmaster1018
    @djalalmaster1018 2 роки тому

    شكرا لك

  • @ameendababat9886
    @ameendababat9886 2 роки тому

    شكرا على هذا المجهود 🥰🥰
    23/9/2022 fri
    21:56 pm

  • @samahahmed9611
    @samahahmed9611 2 роки тому

    تشكرات

  • @redakullia5655
    @redakullia5655 3 роки тому

    يعطيك لعافية استاذ في سؤال هلا اذا بدي بلش بالpivot من الاخير لازم اعدل على الif واكتبها مثلا (arr[j]

  • @bdrn.
    @bdrn. 4 роки тому

    وحش ربي يسعدك ❤️

  • @mahmoodaltaay1876
    @mahmoodaltaay1876 2 роки тому

    عاشت ايدك ❤

  • @manaralshareef1905
    @manaralshareef1905 3 роки тому

    Thank you

  • @ibtihajassi3871
    @ibtihajassi3871 3 роки тому

    يعطيك العافيه وجزاك الله كل خير ..بس عندي سؤال اذا ممكن من حضرتك تجاوبني عليه أنا بحضر فيديوهاتك وما شاء الله عن شرحك مبدع جدا ..بدي اسال عندي بزي سؤال باستخدام class كيف اوجد المسافه بين نقطتين تتكون من ثلاثه محاور x,y,Z ومن ضمن السؤال طالب اطبع النقطه مع اسمها مثلا. P1(1,2,3 ) كيف اعمل هاي الخطوه ؟اني ادمج محاور النقطه مع اسمها

  • @cocobibi5759
    @cocobibi5759 2 місяці тому

    في اول partition piv-1 piv+1 لكن في partition2 (piv) piv+1. هل هاذا عادي في ثانية متزيدش واحد لل piv

  • @yolo-i7651
    @yolo-i7651 4 роки тому +1

    اولا الله يجزيك الخير ويسعد قلبك ثاني شي بس ودي اشير ع ملاحظه مرت علي في كتابه الكود عند ال جي في
    partition2
    do
    - - j
    (while (arr[ j ] > p
    المفروض الزياده تكون بعد مش قبل
    (while (arry[ j ] > p
    - - j

    • @hossamsenger4461
      @hossamsenger4461 3 роки тому

      بالظبط كدا لأن لو اخر عنصر كان اصغر من الpivot كان هيتجاهله ويسيبه في اخر ال array

    • @mohamed-eg4wz
      @mohamed-eg4wz 3 роки тому

      لا هو شغال صح لانه بيبعت عدد n للفانكشن مش بيبعت n-1

  • @hassanabbass8713
    @hassanabbass8713 Рік тому

    انا ل ما فهمته طب ما هي الاجابة واضحة انه سيكون من الاصغر لل اكبر او كيف ممكن ينسأل على العملية سؤال بالامتحان؟

  • @abdallahnagy1
    @abdallahnagy1 4 роки тому +1

    هوا ازاي لما عملت calling للquick sort function الparameter التالت عملته n مش n-1 ... مش المفروض دا index وبنقص من حجم الاarray واحد عشان نجيب اخر index??

    • @AdelNasim
      @AdelNasim  4 роки тому

      ال partition الثاني بختلف يشكل بسيط عن الأول، ممكن نعدل الشرط الي داخلو ونبعتها n-1

    • @tarekkotb
      @tarekkotb 3 роки тому +1

      لان جملة do تقوم بالتنفيذ ثم تتاكد من شرط ال while عشان تعمل انقاص مرة اخرى من قيمة ال j) وبالتالى العنصر الاخير سيتم التغافل عنه فى عملية الترتيب ولتفادى الموضوع ده
      اما اخلى n-1 ..... n
      او انى اكتب الشرط بتاع ال j .... كدة
      while (arr[j]>p)
      {;--j}

  • @Feras50
    @Feras50 2 роки тому +2

    أخذت صفر في سؤال الكويك سورت بسببك! 🥲
    كان اختبار فاينل..
    لما كلمت الدكتور قال لي ما يصير تختار نقطة البداية نفسها ال pivot ولا يصير تسوي سواب لل pivot من البداية لازم يظل مكانه بعدين لما مدري ايش تسوي سواب
    وعطاني صفر على كامل السؤال بسبب هذا الشيء
    مع العلم إني في النهاية ال Array صارت sorted array لكن قال لي اللوجيك غلط اللي مشيت عليه ما أقدر أحسبه لك 🤦🏻
    حرام والله السؤال كان عليه ١٠ درجات 😓
    السؤال ماكان كودينق .. كان جايب لي Array وطالب مني أطبق جزء من خطوات البارتشن يعني نفس الدقيقة 5:40 في المقطع سويت نفسك بالضبط
    يعني هو أتوقع كان يقصد الطريقة الثانية اللي بالمقطع .. طيب هل هذا معناه أن الطريقة الأولى خطأ؟!
    [ تحديث ]
    الدكتور بعد ما راجعت معاه ورقتي وطبعًا ما اقتنع بكلامي لما قلت له إن الطريقة صحيحة وشوف وصلت في النهاية ل Array مرتبة، عطاني نص درجة السؤال ولما رجعت البيت الحمدلله لقيت إنه عطاني الدرجة الكاملة غير رأيه شكله 😂
    أشكر صاحب القناة استفدت منه الكثير الصراحة في البرمجة 🌹

    • @ibendx
      @ibendx 2 роки тому +3

      مو غلط بس الجامعة بتحب البصم😂

    • @mmsbah191
      @mmsbah191 2 роки тому

      هذا اللي يحفظ وميفهمش، غلط تلوم غيرك على اخطائك وتقصيرك.

    • @Feras50
      @Feras50 2 роки тому +2

      @@mmsbah191 أبشرك يا عزيزي الدكتور عطاني درجة كاملة عليه بعدين لما خلصت مراجعة رجعت البيت وشفتها تغيرت من صفر إلى فل مارك ..
      وياليت توضح لي إيش قصدك في تقصيري؟!
      مو أنا طبقت الفكرة اللي شرحها بالمقطع لكن الغلط من الدكتور هو اللي ما كان عنده فكرة عن الطريقة الثانية .. بالعكس أنا أشكر صاحب المقطع استفدت منه كثير في الجامعة 🌹

  • @aliconst7851
    @aliconst7851 3 роки тому +1

    ربنا يبارك في حضرتك علي التوضيح الجميل دة .
    بس حضرتك في ملحوظة اني لو جيت تطبق علي partition 1 في ال code و خليت اخر قيمة في المصفوفة هي اصغر قيمة هتلاقي ان الكومبيلر بيتجاهلها لان الكود خاصة ال do-while الثانية كودها اتنفز علي عكس القيم الموجودة في المصفوفة ف الخلاصة اني لازم تغير ال do-while الثانية الي while بنفس الشرط

  • @mohammedkhalil4848
    @mohammedkhalil4848 4 роки тому +1

    في مشكلة بال partition 2 لانو بعمل skip عن اخر رقم بال Array بسبب do {j--} while a[j] > pivot وممكن يكون رقم اقل من pivot
    جرب حط اصغر رقم في array بآخرها وشوف ناتج QuickSort رح يطلع غلط

    • @AdelNasim
      @AdelNasim  4 роки тому

      نفذ الـ Case الي بتحكي عنها بالـ IDE وخبرني شو بصير معك

    • @mohammedkhalil4848
      @mohammedkhalil4848 4 роки тому

      Adel Nasim نفس الكود الي منزلو على github واعملو quicksort1 رح يعطيك ترتيب خطأ بسبب do while لانو عمل skip للصفر وبالصدفة طلع اقل من pivot

  • @dodjer6884
    @dodjer6884 4 роки тому +1

    طيب شو هي الكومبلكستي الخاصة بها بالاسوء والافضل

    • @AdelNasim
      @AdelNasim  4 роки тому +1

      اهلا صديقي شوفهم بالثلاث حالات على الدقيقة
      21:55

  • @adilbougma2706
    @adilbougma2706 3 роки тому

    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

  • @لطيفاحمدحسنطاهر
    @لطيفاحمدحسنطاهر 4 роки тому +1

    شكرا على هذا المجهود الي جاي تقدمة
    الشرح كافي ووافي ربي يوفقك ويعطيك الف عافيه
    بس عندي سؤال اذا كنت اريد عرض التغييرات التي تحصل في القيم كيف راح اكتب الكود

  • @mohamedHassan-motionDesigner
    @mohamedHassan-motionDesigner 4 роки тому +1

    هل يوجد شرح ل shell sort

  • @SwAt1563
    @SwAt1563 4 роки тому +1

    الكود للطريقة الثانية في الشرح خاطئ

  • @mohammedkhalil4848
    @mohammedkhalil4848 4 роки тому +1

    في مشكلة بال partition 2 لانو بعمل skip عن اخر رقم arr(right) وممكن يكون رقم اقل من pivot
    جرب حط اصغر رقم في array بآخرها وشوف ناتج QuickSort رح يطلع غلط

    • @AdelNasim
      @AdelNasim  4 роки тому

      نفذت الكود؟؟

    • @mohammedkhalil4848
      @mohammedkhalil4848 4 роки тому

      Adel Nasim نعم نفذتو .. انا قصدي بال partition 2 الي شرحتو ثاني واحد بالفيديو

  • @Ehhe-vy1lb
    @Ehhe-vy1lb 2 роки тому

    🎉

  • @GgTop-eu9lk
    @GgTop-eu9lk 11 місяців тому

    9:07

  • @emanabdelfattah1487
    @emanabdelfattah1487 3 роки тому

    ممكن redix sort

  • @najya_a
    @najya_a Рік тому

    في شي مافهمته
    أمتي نسأل هل i أقل من j
    وامتي نسأل هلي القيمه الي في i أقل من القيمه الي في j بس هذي الجزئيه الي لخبطتني

    • @aldibaldib5187
      @aldibaldib5187 Рік тому +1

      لما نسأل عن القيمة نكتب arr[i] ونكمل مقارنه
      ولما نسال عن الموقع نكتب i لوحدها

    • @najya_a
      @najya_a Рік тому

      @@aldibaldib5187 🤍شكرا

  • @3idioots
    @3idioots Рік тому

    Func partation2 فيها غلطه