اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

وعليك السلام ورحمة الله وبركاته.

نعم بالفعل  خوارزمية البحث الثنائي  ( Binary Search ) هي من أشهر الخوارزميات المستخدمة في شرح مفهوم ال (Algorithms) و أيضا قياس الوقت الخاص بالخوارزمية والمقارنة بينها وبين البحث العادي .

وأيضا هي مشهورة لأنها سهلة التنفيذ وسهلة الفهم ويمكن تنفيذها بأكثر من طريقة و إستخدام أى لغة برمجة لتنفيذها وأيضا لأنها فعالة وسريعه في البحث حيث تأخذ O(log n) عوضا عن البحث العادي الذي يأخذ O(n*n) .

ولكن ال ( Binary Search ) ليس الأفضل دائما لذلك لا يمكننا أنها هي الأفضل من بين خوارزميات البحث . حيث هي الأفضل في حالة القوائم المرتبة الكبيرة . ولكن إذا لم تكن القوائم مرتبة فهنا يكمن القصور حيث سيتوجب أولا ترتيب القائمة ومن ثم البحث فيها .

ويمكنك قراءة الدرس التالي لمعرفة مزايا  ال ( Binary Search ) :

 

  • 0
نشر
بتاريخ 9 دقائق مضت قال محمد عاطف17:

وعليك السلام ورحمة الله وبركاته.

نعم بالفعل  خوارزمية البحث الثنائي  ( Binary Search ) هي من أشهر الخوارزميات المستخدمة في شرح مفهوم ال (Algorithms) و أيضا قياس الوقت الخاص بالخوارزمية والمقارنة بينها وبين البحث العادي .

وأيضا هي مشهورة لأنها سهلة التنفيذ وسهلة الفهم ويمكن تنفيذها بأكثر من طريقة و إستخدام أى لغة برمجة لتنفيذها وأيضا لأنها فعالة وسريعه في البحث حيث تأخذ O(log n) عوضا عن البحث العادي الذي يأخذ O(n*n) .

ولكن ال ( Binary Search ) ليس الأفضل دائما لذلك لا يمكننا أنها هي الأفضل من بين خوارزميات البحث . حيث هي الأفضل في حالة القوائم المرتبة الكبيرة . ولكن إذا لم تكن القوائم مرتبة فهنا يكمن القصور حيث سيتوجب أولا ترتيب القائمة ومن ثم البحث فيها .

ويمكنك قراءة الدرس التالي لمعرفة مزايا  ال ( Binary Search ) :

 

تمام جدا الف شكراا لحضرتك

  • 0
نشر

وعليكم السلام,

تخيل أن لدينا مصفوفة تحتوي على عدد هائل من العناصر مرتبة إذا أردنا أن نبحث عن عنصر معين في هذه المصفوفة أسوأً إحتمال worst time case هو أن نمر على جميع العناصر مما يؤدي إلى وقت طويل ونعبر عليه  رياضيا

o(n^2)

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

O(logn)

فعندما نبحث في مصفوفة مرتبة تكون لنا الأفضلية كما أن تنفيذ الخوارزمية ليس صعبا.

وغالبا كل خوارزمية لها مميزاتها وعيوبها وأوقات محددة لإستخدامها فعليها نختار.

اقرأ هذا المقال لمعرفة كيف التنفيذ وتفاصيل أكثر:

اضغط هنا

  • 0
نشر
بتاريخ 6 ساعة قال عماد شيخ العشرة:

وعليكم السلام,

تخيل أن لدينا مصفوفة تحتوي على عدد هائل من العناصر مرتبة إذا أردنا أن نبحث عن عنصر معين في هذه المصفوفة أسوأً إحتمال worst time case هو أن نمر على جميع العناصر مما يؤدي إلى وقت طويل ونعبر عليه  رياضيا

o(n^2)

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

O(logn)

فعندما نبحث في مصفوفة مرتبة تكون لنا الأفضلية كما أن تنفيذ الخوارزمية ليس صعبا.

وغالبا كل خوارزمية لها مميزاتها وعيوبها وأوقات محددة لإستخدامها فعليها نختار.

اقرأ هذا المقال لمعرفة كيف التنفيذ وتفاصيل أكثر:

اضغط هنا

شكراا جدا لحضرتك

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...