Professional Documents
Culture Documents
خوارزميات 05 PDF
خوارزميات 05 PDF
المحاضرة الخامسة
اٌتشت١ت أ ٚاٌفشص Sorting
ٔحتبج ف ٟاٌح١بح اٌ١ِٛ١خ إٌ ٝتشت١ت أ ٚفشص اٌعذ٠ذ ِٓ اٌش١بء :فٛات١ش ،عٍت ...اٌخ ٚ ،إعبدح تشت١جٙب تجعب ً ١ٌ٢خ
ِعٕ١خ.
ٕ٘بن اٌعذ٠ذ ِٓ خٛاسصِ١بد اٌفشص ٚاٌتشت١ت ٚأشٙش٘ب اٌت ٟتعتّذ عٍِ ٝجذأ اٌتمسٚ ُ١اٌتٛح١ذ ح١ث ٕ٘بن اٌعذ٠ذ
ِٓ طشق اٌتمسِ ُ١ثً:
وّب ٕ٘بن خٛاسصِ١بد تختبس اٌحً األفضً ف ٟاٌتشت١ت ِثً اٌفشص اٌتىHeap Sort ّٟ٠ٛ
ٕ٘ٚبن خٛاصِ١بد فشص سٍٙخ ٌٚىٕٙب ثط١ئخ ٔسج١ب ً ِثً خٛاسصِ١خ اٌفشص اٌفمبع ( Bubble Sort ٟتمبسْ وً لّ١خ
ِع وً اٌم ) ُ١أ ٚاٌفشص ثبٌضُ ( Insertion Sortح١ث ٠ؤشش عٍ ٝعذد ِع٠ٚ ٓ١تُ اٌضُ لجٍٗ أ ٚثعذٖ).
ٌٕٚش ٜا ْ٢خٛاسصِ١خ اٌفشص ثبٌذِح اٌت ٟتستخذَ األسٍٛة اٌتعبٚد.ٞ
عٍّخ تشت١ت اٌدذٚي اٌدضئ ٟ٘ ٟتطج١ك ٌٕفس اٌطش٠مخ اٌسبثمخ (تعبٚد٠خ) ح١ث تستّش عٍّ١خ اٌتمس ُ١إٌ ٝخذاٚي
خضئ١خ حتٔ ٝصً ثبٌتمس ُ١إٌِ ٝشحٍخ ال ّ٠ىٓ تمس ُ١اٌدذٚي إٌ ٝخذ ٚ ٓ١ٌٚرٌه عٕذِب ٠صجح اٌدذٚي ِؤٌف ِٓ
خبٔخ ٚاحذح ( ٕ٘ب تىٚ ) Low = High ْٛثزٌه ٔى ْٛلذ ٚصٍٕب إٌ ٝاٌحبٌخ اٌم١بس١خ فٕذِح اٌدذ ٓ١ٌٚاٌدضئٓ١١
ثشىً ِشتت (ٔشتت أثٕبء اٌذِح).
-طبٌّب إٔٔب ٌُ ٔصً إٌ ٝخذٚي ِؤٌف ِٓ خبٔخ ٚاحذح ( أ ٞطبٌّب :) Low!=High
ٔ -4ذِح اٌدذ ٓ١ٌٚاٌدضئ ٓ١١اٌّشتج ٓ١ف ٟخذٚي ٚاحذ ثشىً ِشتت (ح١ث ٠تُ اٌتشت١ت أثٕبء اٌذِح) فٕحصً عً
خذٚي ِشتت ). T(low..mid..high
1
خوارزميات نظري السنة الثانية جامعة حلب
م .دعاء مصري قسم الربجميات املعد التقاين للحاسوب
أِثٍخ:
ِثبي 2 ِثبي 1
ِثبي 2
ِثبي 3
2
خوارزميات نظري السنة الثانية جامعة حلب
دعاء مصري.م قسم الربجميات املعد التقاين للحاسوب
import java.util.Scanner;
public static void merge(int low, int mid, int high, int[] t)
int i, j, k;
i = low;
k = low;
j = mid +1;
aux[k] = t[i];
k++;
i++;
3
خوارزميات نظري السنة الثانية جامعة حلب
م .دعاء مصري قسم الربجميات املعد التقاين للحاسوب
;k++
;j++
}
{
;]aux[k] = t[i
;k = k+2
;i++
;j++
}
}
{
;]aux[k] = t[i
;k++
;i++
}
{
;]aux[k] = t[j
;k++
;j++
4
خوارزميات نظري السنة الثانية جامعة حلب
دعاء مصري.م قسم الربجميات املعد التقاين للحاسوب
i = low;
t[i] = aux[i];
i++;
int mid;
if (low != high)
5
خوارزميات نظري السنة الثانية جامعة حلب
دعاء مصري.م قسم الربجميات املعد التقاين للحاسوب
int i;
int x;
x = input.nextInt();
tv[i] = x;
System.out.println("after Sort");
System.out.println();