Advanced Search

المحرر موضوع: اريد المساعدة ضروري  (زيارة 994 مرات)

0 الأعضاء و 1 ضيف يشاهدون هذا الموضوع.

مارس 29, 2006, 08:22:18 مساءاً
زيارة 994 مرات

ftoom89

  • عضو مبتدى

  • *

  • 54
    مشاركة

    • مشاهدة الملف الشخصي
اريد المساعدة ضروري
« في: مارس 29, 2006, 08:22:18 مساءاً »
السلام عليكم:
في تطبيق الفقاعات بلغة ++c كيف يمكن أن نحسب عدد الخطوات اللازمة في ال worst case '<img'>? '<img'>

السؤال الذي أريده:
(1 2 3 4 5  6 7 8 9 )

أربع خطوات لازمة لحلها في تصنيف الفقاعات ......!!!!!!!!
ما هو القانون ؟؟؟؟؟؟؟؟؟؟

بتمنى ما تبخلوا علي ولا بمعلومة حتى ولو كانت صغيرة



وشكرا  ':laugh:'  ':200:'  ':200:'  ':200:'  ':200:'  ':200:'  ':200:'  ':200:'

مارس 29, 2006, 08:42:59 مساءاً
رد #1

click

  • عضو مشارك

  • ***

  • 258
    مشاركة

    • مشاهدة الملف الشخصي
اريد المساعدة ضروري
« رد #1 في: مارس 29, 2006, 08:42:59 مساءاً »
هلا اختي........
شرح وافي باللغة العربية

-------------
لحساب worst case للاعداد من 1-9 حسب الترتيب العكسي نلاحظ ان العدد 9 يحتاج لثمان خطوات والعدد 8 يحتاج لسبعة خطوات والعدد 7 يحتاج ل ستة خطوات وهكذا يعني.....
n-1)+(n-2) + . . . . . . . .+2+1 = n*(n-2)/2=O(n^2)
---------------




مارس 29, 2006, 10:08:38 مساءاً
رد #2

ftoom89

  • عضو مبتدى

  • *

  • 54
    مشاركة

    • مشاهدة الملف الشخصي
اريد المساعدة ضروري
« رد #2 في: مارس 29, 2006, 10:08:38 مساءاً »
الله يجزيك الخير وشكرا كتير كتيييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييير يا اخي click:)

مارس 29, 2006, 10:10:36 مساءاً
رد #3

ftoom89

  • عضو مبتدى

  • *

  • 54
    مشاركة

    • مشاهدة الملف الشخصي
اريد المساعدة ضروري
« رد #3 في: مارس 29, 2006, 10:10:36 مساءاً »
الله يجزيك الخير وشكرا كتير كتيييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييييير يا اخي click:) بس ممكن توضح أكتر

مارس 29, 2006, 11:41:58 مساءاً
رد #4

click

  • عضو مشارك

  • ***

  • 258
    مشاركة

    • مشاهدة الملف الشخصي
اريد المساعدة ضروري
« رد #4 في: مارس 29, 2006, 11:41:58 مساءاً »
الله يهديك يا فطوم لازم تنادين اخوك ':laugh:'  .....
على العموم لتوضيح المسألة اكثر هناك نقطة مهمة في تطبيق اي خوارزمية برمجية تسمى ب worst case والمراد بها اسوء حالة ممكن لتطبيق الخوارزمية او بمعنى اخر اطول وقت يستغرق لتنفيذ الخوارزمية وهذه المسألة مهمة لانه كلما كان worst case لخوارزمية معينة قليل هذا يعني انها خوارزمية ممتازة وسريعة....

المسألة الثانية حساب worst case لخوارزمية Bubble sort التي تعد ابطأ خوارزميات الترتيب المعروفة......


السؤال الان كيف نحسب worst case للخوارزميةBubble sort ؟
هذه هي الخوارزمية.

نموذج كود

// array of integers to hold values
private int[] a = new int[100];

// number of elements in array
private int x;

// Bubble Sort Algorithm
public void sortArray()
{
  int i;
  int j;
  int temp;

  for( i = (x - 1); i >= 0; i-- )
  {
    for( j = 1; j <= i; j++ )
    {
      if( a[j-1] > a[j] )
      {
        temp = a[j-1];
        a[j-1] = a[j];
        a[j] = temp;
      }
    }
  }
}


كما تلاحظ يوجد في الكود جملتان لل for loop والتي بسببهما يمكن الحكم على سرعة البرنامج فكلما كان loop صغير اصبح البرنامج سريع والعكس...
ستلاحظ ان loop الثاني يتناقص بمقدار واحد كل في كل دورة منها نستنتج المتسلسة الحسابية التالية
n-1)+(n-2) + . . . . . . . .+2+1 = n*(n-2)/2)

مارس 30, 2006, 08:04:24 مساءاً
رد #5

ftoom89

  • عضو مبتدى

  • *

  • 54
    مشاركة

    • مشاهدة الملف الشخصي
اريد المساعدة ضروري
« رد #5 في: مارس 30, 2006, 08:04:24 مساءاً »
غلبتك معي أخي click الله يجزيك الخيرررررررررر'<img'>