I've been watching everything related to Heaps, Heap Sort and Heapify and i would say this is the best video on the internet that describes it. Thanks a lot man .. Keep the amazing work
I have been learning these kinda topics from Indians since I didn't find any Arabic channel that presents such an important content. But honestly, the way you explained this course in your channel is unbelievably easy, smooth and amazing. Please keep up and God bless you. Thank you
يعطيك العافية شرحك ممتاز .. لكن في البداية كان واضح كتير وفهمتنا منيح بس عند وظيفة heapify ما كان واضح كتير يا ريت لو في مجال تعيدها خصوصا الفقرتين الاخيرتين بالكود الله يجزيك الخير
if you start index from 0 Parent(i)=(i+1/2) -1 Parent(1)=2/2-1 =0 True without +1 Parent(1)=0-1=-1 False Only If you takes the floor you have to add +1 otherwise, if you takes the ceiling it's okay to not add 1 and it will be as the video Parent(i)=i/2-1
عشان يعرف من وين يبدأ بعملية ال هيبي فاي اذا بتلاحظ خلال الشرح بالدقيقة 9:58 سوا عملية تقسيم لعدد النود على 2 وطلع الجواب 6/2=3 بعدها طرح من 3 طرح واحد يعني صار 2 اذن عملية الحلقة فور را ح تبدأ من رقم2 وصولا الى الصفر اذن راح تلف 3 مرات راح تمر من 50 ثم 80 ثم 20
@@lamiaaliabdallah عشان يعرف من وين يبدأ بعملية ال هيبي فاي اذا بتلاحظ خلال الشرح بالدقيقة 9:58 سوا عملية تقسيم لعدد النود على 2 وطلع الجواب 6/2=3 بعدها طرح من 3 طرح واحد يعني صار 2 اذن عملية الحلقة فور را ح تبدأ من رقم2 وصولا الى الصفر اذن راح تلف 3 مرات راح تمر من 50 ثم 80 ثم 20 يعني بالمختصر كود ال هيبي فاي بدو اياه يتكرر 3 مرات اول مرة للخمسين وبعدها للثمانين واخر اشي للعشرين
hamzeh jamal يعطيك العافية صديقي بس عندي نقطة مش واضحة بدالة الهيبي فاي إنّو استدعينا الفنكشن كمان مرة عشان اذا في عناصر لتحت ال 90 او تحت ال 30 طيب حسب المثال اللي انت بتشرح فيه المتغير ماكس بصير يساوي أربعة يعني بكون واقف عند الرقم تسعين 90 طيب على فرض إنّو في تحت التلاتين عناصر كيف بدّي اخليه ينتقل الماكس عند ال 30 حتى لو استدعينا الفنكشن ما راح ينتقل لليسار لأنو هو عنصر اقل من 90 يعني بعد الترتيب هيك بصير إنّو التسعين فوق الثمانين وفوق الثلاثين الثمانين بكون رأيت تشايلد للتسعين والثلاثين ليفت تشايلد للتسعين اذا بدنا نستدعي الدالة كمان مرة ما راح يصير اي تغيير 1 second ago
اها فهمتها لحالي وراح أرد على حالي هههه استدعاء الدالة هيبي فاي راح نستفيد منو لما المتغير n بالدالة بيلد هيب ينقص خطوة عالاقل لأنو بصير في اكثر من Level تحت ال Root المستدعى
استاذ عندما قنمنا ب max =r و max=l ,ثم if f!max كيف يتم التعرف على max و القيام ب swap بين I و r من منهما max و نحن لدينا اثنين من الmax ... ربما يظهر لك السؤال سخيف ولكن انا مبتدىة و انا أحاول فهم هذه الامور تدريجيا
متغير الـ L والـ R عبارة عن قيم بتحمل Index معين لما احكيلو arr[max] بكون متخزن داخل الـ max index معين ماخدو من الـ R او الـ L اذا كانت الـ L = 0 وانا حكيت max=L وبعدها arr[max] زي كأني بالزبط حكيت arr[0] ما بعرف اذا وضحت او لا , بس هاد الي فهمتو من السؤال
لا استاذ مو هاذا لي قصدتوا يعني لما قارنا max لي كان عندنا حاليا و ووجدنا ان l أكبر منه يصبح بمثابة max الجديد و لكن نحن فعلنا نفس الشيء مع r اذن هكذا تحصلنا على اثنين max ....اذن في swap.. اي واحد من max سنستعمله للتبديل هل هو l او r تي بمعنى ماهو الابن الذي سيصبح الاب في الشجرة الجديدة هل هو الذي يقع في اليمين او الذي يقع في اليسار ...ا لانني لا ارى اي instructions بعد المقارنة تحدد ذلك ارجوا انني اوضحت الامر اكثر و شكرا استاذ
الشرح جميل بس تقريبا وحضرتك بتعمل ال sorting بتاخد اخر رقم وتبدله بالroot حضرتك عملتها علاطول من غير ما تعرفنا بتعمل ايه يعنى مثلا بتقول ببدل 90 ب 10 من غير ما تعرفنا انك بتاخد اخر رقم وتبدله بال root فمكنتش عارفة بتعمل ايه بالظبط وتهت وبعد ما فهمتها من مصدر تانى فهمتها هنا
I've been watching everything related to Heaps, Heap Sort and Heapify and i would say this is the best video on the internet that describes it. Thanks a lot man .. Keep the amazing work
Thanks for your wonderful support my friend
, good luck :)
I have been learning these kinda topics from Indians since I didn't find any Arabic channel that presents such an important content. But honestly, the way you explained this course in your channel is unbelievably easy, smooth and amazing. Please keep up and God bless you.
Thank you
يسلم ايدك اخي عادل ... بس نصيحة مني كمتابع ... ارجوووك لا تسرع في شرحك ... بالرغم من اني نقص سرعة الفيديو الا انه كان غير جيد طريقة الشرح
انا مسرعه ف 2
بالتوفيق يارب شرح اكثر من رائع وجاوبت عن كل التساؤلات التي تدور في البال ✨✨✨✨✨
الحمدلله .. كل التوفيق الك
احسن محتوى عربي يشرح
احب اكتبلك شغله اخي انا من المرحلة الاولى ادرس ع فديوهاتك والان ثالثه والحمدلله كلما ادرس عليهن انجح
تحية الك من العراق❤️
كيف الجامعة صعبة؟
يعطيك العافية أستاذ عادل ممكن تعمل فيديو كيف نثبت صحة(Correctness) كود خوارزمية معينة عن طريق Invariants وشكرا
اللهم صل على محمد وعلى محمد
يعطيك العافية
شرح أسطوري!!!!
شكرا يعطيك العافيه ، ممكن تشرح buildHeap Algorithm
و min heap بالتفصيل نفس ما شرحت الماكس
عاش استمر ❤️
يسعدك .. بالتوفيق الك
يعطيك العافية شرحك ممتاز .. لكن في البداية كان واضح كتير وفهمتنا منيح بس عند وظيفة heapify ما كان واضح كتير يا ريت لو في مجال تعيدها خصوصا الفقرتين الاخيرتين بالكود الله يجزيك الخير
يعافي عمرك يا رب .. هون بفترض انك فهمت الـ
heapify
لهيك كنت سريع حاول عيدو وان شاء الله بتفهمو احسن واذا ما فهمت بنتساعد ان شاء الله .. بالتوفيق الك
الله يزوجك يا زلمه وإذا متزوج الله يسعدكو عنجد شرح الرهيب للأمانة وسلسلة ولا أروع
شرحك ممتاز ولكن في امور تتجاهل شرحها واتمنى ان تقوم بشرح الكود ايضا
طبقت مشاريع صار الشرح جدا سهل
شرح ممتاز
جميل جداا
شكرا استاذ
رهييب الشرح
so cool
مبدع ما شاء الله
if you start index from 0 Parent(i)=(i+1/2) -1 Parent(1)=2/2-1 =0 True without +1 Parent(1)=0-1=-1 False Only If you takes the floor you have to add +1
otherwise, if you takes the ceiling it's okay to not add 1 and it will be as the video Parent(i)=i/2-1
اللهم صل ع سيدنا محمد وعلي اله الاكرام الاطهار اجمعين
صلي الله عليه وسلم
اسطووورة
thank you for your efforts
6:06
انا لما بجرب قانون معرفة parent لما بنبدأ من index صفر ما يظبط معى اعتقد الصح يا بشهمندس
parent = (i-1) /2
ممكن شرح لعميلة insertion داخل heap
الله يعطيك الف عافية ..
بس شو الفكرة من n/2-1 هي موجودة بحلقة الـfor بتابع build heap
+1
عشان يعرف من وين يبدأ بعملية ال هيبي فاي
اذا بتلاحظ خلال الشرح بالدقيقة 9:58
سوا عملية تقسيم لعدد النود على 2
وطلع الجواب 6/2=3
بعدها طرح من 3
طرح واحد يعني صار 2
اذن عملية الحلقة فور را ح تبدأ من رقم2 وصولا الى الصفر
اذن راح تلف 3 مرات
راح تمر من
50
ثم
80
ثم
20
@@lamiaaliabdallah
عشان يعرف من وين يبدأ بعملية ال هيبي فاي
اذا بتلاحظ خلال الشرح بالدقيقة 9:58
سوا عملية تقسيم لعدد النود على 2
وطلع الجواب 6/2=3
بعدها طرح من 3
طرح واحد يعني صار 2
اذن عملية الحلقة فور را ح تبدأ من رقم2 وصولا الى الصفر
اذن راح تلف 3 مرات
راح تمر من
50
ثم
80
ثم
20
يعني بالمختصر كود ال هيبي فاي بدو اياه يتكرر 3 مرات
اول مرة للخمسين وبعدها للثمانين واخر اشي للعشرين
هل يوجد لها مخطط تدفقي ??
للضرورة
السلام عليكم بالheap كل ما زودنا عدد الأولاد بتسرع عملية البحث ولا بتبطءها او B_tree عدد الkey بالnode
بالدقيقة 16 انت طبقت الـ min Heap بدال الماكس هيب
ممكن تشرح آخر جزئية فى الheapfy. ال swap
9:52 / 22:35
n في هيبي فاي ماذا تقصد؟؟؟
شرحك حلو بس لْـۆ يكون بطئ شوي حتى الشخص يلحق يستوعب كلامك
hamzeh jamal
يعطيك العافية صديقي
بس عندي نقطة مش واضحة بدالة الهيبي فاي
إنّو استدعينا الفنكشن كمان مرة عشان اذا في عناصر لتحت ال 90
او تحت ال 30
طيب
حسب المثال اللي انت بتشرح فيه
المتغير ماكس بصير يساوي أربعة يعني بكون واقف عند الرقم تسعين
90
طيب على فرض إنّو في تحت التلاتين عناصر كيف بدّي اخليه ينتقل الماكس عند ال 30
حتى لو استدعينا الفنكشن ما راح ينتقل لليسار
لأنو هو عنصر اقل من 90
يعني بعد الترتيب هيك بصير
إنّو التسعين فوق الثمانين وفوق الثلاثين
الثمانين بكون رأيت تشايلد للتسعين
والثلاثين ليفت تشايلد للتسعين
اذا بدنا نستدعي الدالة كمان مرة ما راح يصير اي تغيير
1 second ago
اها فهمتها لحالي وراح أرد على حالي هههه
استدعاء الدالة هيبي فاي
راح نستفيد منو لما المتغير
n
بالدالة بيلد هيب ينقص خطوة عالاقل
لأنو بصير
في اكثر من
Level
تحت ال
Root المستدعى
استاذ عندما قنمنا ب max =r
و max=l ,ثم if f!max كيف يتم التعرف على max و القيام ب swap بين I و r من منهما max و نحن لدينا اثنين من الmax ... ربما يظهر لك السؤال سخيف ولكن انا مبتدىة و انا أحاول فهم هذه الامور تدريجيا
متغير الـ
L
والـ
R
عبارة عن قيم بتحمل
Index
معين
لما احكيلو
arr[max]
بكون متخزن داخل الـ
max
index
معين ماخدو من الـ
R
او الـ
L
اذا كانت الـ
L = 0
وانا حكيت
max=L
وبعدها
arr[max]
زي كأني بالزبط حكيت
arr[0]
ما بعرف اذا وضحت او لا , بس هاد الي فهمتو من السؤال
لا استاذ مو هاذا لي قصدتوا يعني لما قارنا max لي كان عندنا حاليا و ووجدنا ان l أكبر منه يصبح بمثابة max الجديد و لكن نحن فعلنا نفس الشيء مع r اذن هكذا تحصلنا على اثنين max ....اذن في swap.. اي واحد من max سنستعمله للتبديل هل هو l او r تي بمعنى ماهو الابن الذي سيصبح الاب في الشجرة الجديدة هل هو الذي يقع في اليمين او الذي يقع في اليسار ...ا لانني لا ارى اي instructions بعد المقارنة تحدد ذلك ارجوا انني اوضحت الامر اكثر و شكرا استاذ
اقسم ب الله انلحس مخي هههههههه , شكرا جزيلا اخ عادل
الشرح جميل بس تقريبا وحضرتك بتعمل ال sorting بتاخد اخر رقم وتبدله بالroot حضرتك عملتها علاطول من غير ما تعرفنا بتعمل ايه يعنى مثلا بتقول ببدل 90 ب 10 من غير ما تعرفنا انك بتاخد اخر رقم وتبدله بال root فمكنتش عارفة بتعمل ايه بالظبط وتهت وبعد ما فهمتها من مصدر تانى فهمتها هنا
اشكرك على الملاحظة ..
لكن كنت بفترض انو الجميع فهم الطريقة عشان هيك بلشت دغري بالي بعدها لاني عدتها اكثر من مرة ..
بالتوفيق الك
الشرح ممتاز بس سريع حيل
😍😍
أستاذ في Build Heap لماذا يبدا من s / 2 - 1
وين رابط الكود بالبايثون
Nice concept explanation but unclear functions implementation
how to make the video??
كتتتتتتتتتتتتتتتتتير سريع بالشرح
ما عم لحقلك كلام
يا اخي شي بضيع .,,,,
من اي ناحية *_&
@@AdelNasim
تمام كتير ,بالاول ما فهمت ال
heapify
عدتها كزا مرة فهمتا , الله يعطيك العافية, ليل نهار عم ادعيلك
يسعدك .. هو هيك اي شي ما بتفهمو بالمرة الي بعدها رح ينفهم .. كلنا زي هيك ..
بالتوفيق الك ..
كيف صرت بعد 5 سنين؟
الله يزوجك يا زلمه وإذا متزوج الله يسعدكو عنجد شرح الرهيب للأمانة وسلسلة ولا أروع