السلام عليكم ورحمه الله ،، احب ان اقدم خوارزميه لترتيب الاعداد والمساعده فى تطويرها
للعلم انها لا تصلح عند كبر حجم المصفوفه لأنها سوف تحتاج إى ذاكره أكبر
الخوارزميه:
==========
نفرض ان لدين المصفوفه التاليه من الاعداد عدد عناصرها 6
س =( 80 ، 10 ، 100 ، 70 ، 30 ، 90)
شرح عملى للخوارزميه
فى البدايه نفرض المتغير م وهو قيمه الخانه الحاليه فى المصفوفه
والمتغير ص و هو رقم الخانه الحاليه
المتعير bk وهو يخص عدد العناصر فى المصفوفه بعد الترتيب بعد القيمه الحاليه (المفهوم يتصح اكثر فيما بعد )
sk وهو يخص عدد العناصر فى المصفوفه بعد الترتيب قبل القيمه الحاليه
نبدأ بالخانه صفر = ص ، م = 80
نقارن القيمه م بجميع قيم المصفوف بعد المرتبه ص فى المصفوفه
80 = 80 ==> sk++
80 > 10 ==> sk++
80 < 100 ==> bk++
80 > 70 ==> sk++
80 > 30 ==> sk++
80 < 90 ==> bk++
إذا sk = 3
bk = 2
إذا رقم خانه القيمه 80 فى المصفوفه الجديده هو (عدد عناصر المصفوفه القديمه - bk) بإعتبار ان ارقام الخانات يبدأ من 1
أو ( sk + 1 ) كلاهما يحقق نفس النتيجه )
إذا المصفوف الجديده ( ؟؟ ، ؟؟ ،؟؟ ، 80 ، ؟؟ ،؟؟)
يتم تكرار العمل مع الخانه رقم 2 فى المصفوفه القديمه والتى قيمتها 10 وفحصها مع جميع العناصر فى المصفوفه
والمصفوف الجديده (10 ، ؟؟ ، ؟؟ ،80،؟؟ ، ؟؟ )
يتم التكرار مع الخانه رقم 3 فى المصفوفه القديمه والتى قيمتها 100 وفحصها مع جميع العناصر فى المصفوفه
والمصفوفه الجديده (10 ، ؟؟ ، ؟؟ ، 80 ، ؟؟ ، 100 )
كذالك حتى يتم فحص جميع العناصر
حتى يتم ترتيب العناصر فى المصفوفه
===============
والملاحظ ان السرعه فى هذه الخوارزميه بطيئه حيث يلزم مقارنه الخانه بجميع الخانات
وحجم الذاكره المطلوب ثابت = ( حجم الذاكر الخاص بالمصفوفه القديمه + حجم المتغير bk + حجم المتغير sk )
حتى أنه يمكن الاستغناء عن أى من المتغيرين bk أو Sk لأنه يعطى نفس النتيجه
