يحكي مثال هذه المقالة اختيار ملخص خوارزمية فرز Java. شاركه للجميع للرجوع إليه. التحليل المحدد هو كما يلي:
يعد التشغيل الأساسي لاختيار الفرز أحد العناصر الدنيا (أو القصوى) المحددة من عناصر البيانات المراد فرزها ، ويكون الترتيب في نهاية عدد التسلسلات حتى يتم فرز عناصر البيانات. الخوارزمية غير مستقرة ، والمساحة الإضافية لـ O (1) ، والتعقيد في وقت المقارنة هو O (n^2) ، والتعقيد الزمني للتبادل هو o (n) ، وهو غير متكيف. لا ينصح به في معظم الحالات. فقط عندما تريد تقليل عدد البورصات.
الأفكار الأساسية
يمكن تحديد التحديد المباشر لملف الملف المسجل N مباشرة من خلال رحلة N-1 للحصول على النتائج المنظمة:
① الحالة الأولية: المنطقة غير المنضبطة هي r [1..n] ، والمنظمة المنظمة فارغة.
② يتم فرز النوع الأول في المنطقة غير المنضبطة R [1..n] لتحديد الحد الأدنى من السجل R [K] ، وتبادله مع السجل الأول R [1] في المنطقة غير المنضبطة. 2..N] يتم تغييرها إلى مناطق جديدة مرتبة من عدد السجلات ومنطقة جديدة غير منظمة مع عدد من السجلات 1 وانخفض عدد السجلات بمقدار 1.
Nympho
③ فرز الثاني
في بداية هذا النوع من I ، تكون المناطق الحالية والمناطق الاضطراب هي R [1..I-1] و R (1≤I≤N-1). حدد هذا النوع الحد الأدنى من السجل R [K] من المنطقة غير المنضبطة الحالية ، وتبادله مع السجل الأول في المنطقة غير المنضبطة ، بحيث يتم فصل R [1..I] إلى سجلات جديدة. انخفضت مناطق العدد ومنطقة جديدة غير منظمة مع عدد من السجلات بمقدار 1.
وبهذه الطريقة ، يمكن تحديد التحديد المباشر لملفات الملف المسجل N مباشرة بواسطة N-1 Trips للحصول على نتائج منظمة.
تنفيذ الكود
اختبار الفئة العامة {public static int [] a = {10،32،1،9،5،7،12،4،3} ؛ {int i ؛ printf ("٪ 3S" ، A) ؛ ؛ ؛ قيمة الحد الأدنى لقيمة التخزين (j = i ؛ j <في <index ؛ j ++) {if (a [j] <minvalue) // أوجد القيمة الدنيا {minvalue {minvalue = a [j] ؛ / تخزين الحد الأدنى indexmin = j ؛} temp = a ؛ k (k (k = 0 ؛ k <index ؛ k ++) system.out.printf ("٪ 3S" ، a [k]) ؛ system.out.println ("") ؛}}}}}}}
مثل طريقة فرز الفقاعات ، لا تزال دورة الطبقة الخارجية تحتاج إلى أداء N-1 مرات ، وما زالت كفاءتها ضعيفة.
من المأمول أن يكون هذا المقال مفيدًا لتصميم برنامج Java للجميع.