180 likes | 891 Views
العمليات على المصفوفات. جـ- تبادل متغيران لقيمهما Exchange. مبدأ العمل: استبدال قيمة عنصر مع قيمة عنصر اخر من عناصر المصفوفة. أهمية هذه العملية:- لترتيب عناصر المصفوفة تصاعديا او تنازليا. خطوات هذه العملية:-.
E N D
العمليات على المصفوفات جـ- تبادل متغيران لقيمهما Exchange
مبدأ العمل:استبدال قيمة عنصر مع قيمة عنصر اخر من عناصر المصفوفة. أهمية هذه العملية:- لترتيب عناصر المصفوفة تصاعديا او تنازليا.
خطوات هذه العملية:- • 1- نعلن عن متغير جديد اسمه ) temp ) ونعطيه قيمة العنصر المراد استبداله ( الاول). • 2- نجعل المتغيران متساويان ( العنصر الاول = العنصر الثاني) • 3- نجعل العنصر الثاني يساوي القيمة المخزنة في temp. A B A B A A Temp=B Temp=B Temp=B
مخطط انسيابي لتبادل متغيران لقيمهما بداية ادخال قيم A,B الاعلان عن متغير جديد temp Temp= A A =B A= B B= Temp نهاية
مثال : لديك عددان x= 10 , y= 20 أجعل ءوغ يتبادلا القيم؟ الحل : • temp= x • X= y • Y=temp • فتصبح : y=10 , x=20
د- عملية الفرز أو الترتيب (Sort) • أي ترتيب قيم عناصر المصفوفة اما تصاعديا او تنازليا. • هناك طرق كثيرة للفرز او الترتيب منها :- أ- الفرز الفقاعي (Bubble Sort) ب- الفرز الانتقائي ( Selection sort)
أ- الفرز الفقاعي ( Bubble Sort) • مبدأ العمل :- المرور على جميع العناصر المراد فرزها (ترتيبها)، وعمل مقارنة بين العناصر المتجاورة وتبديل القيم الغير مرتبة بحيث تحتل القيمة الكبرى الرتبة العليا.وفي النهاية يصبح العنصر الاكبر في النهاية المصفوفة. التسمية:- الفرز الفقاعي : حيث ان الفقاعات الخفيفة تطفو على السطح و الاثقل ترسو في القاع.
عدد جولات عملية الفرز :- اذا كانت مصفوفة عدد عناصرها n فاننا نحتاج الى :- *- n-1 جولة لفرز المصفوفة حيث :- 1- الجولة الاولى : n-1 عملية مقارنة. 2- الجولة الثانية: n-2 عملية مقارنة. 3- الجولة الثالثة : n-3 عملية مقارنة. 4- الجولة الرابعة : n-4 عملية مقارنة. 5- الجولة الاخيرة : مقارنة واحدة. ملاحظة : نمثل المصفوفة افقيا لتسهيل عمليات المقارنة في الجولات.
مثال : رتب عناصر المصفوفة التالية تصاعديا بطريقة الفرز الفقاعي؟
الجولة الثالثة: عدد المقارنات= 4-3=1 عدد المقارنات = عدد عناصر المصفوفة- رقم الجولة.
ب- الفرز الانتقائي (Selection Sort) • مبدأ العمل:- تقوم على اساس تقليص عدد المقارنات وذلك عن طريق البحث عن العنصر الاصغر بين العناصر 0 وحتى n-1ثم وندله مع العنصر الاول في ( 0 ) ثم البحث عن العدد الاصغر بين العناصر 1وحتى n-1 ونبدله مع العنصر الثاني ( الرتبة1) وهكذا.
خطوات العمل:- • 1- نجد العنصر الاصغر بين العناصر من 0وحتىn-1 ونبدله مع العنصر الاول(رتبته 0). • 2- نجد موقع العنصر الاصغر من بين العناصر 1 وحتى n-1 ونبدله مع العنصر الثني( رتبته 1) • 3- نكرر العملية حيث نجد العنصر من بين العناصر n-2 وحتى n-1 ونبدله مع العنصر n-2 • نوقف العملية عندما يحتل العنصر الاكبر الموقع الاكبر في المصفوفة.
مثال: : رتب عناصر المصفوفة التالية تصاعديا بطريقة الفرز الانتقائي؟