Sign in
or
Register
Courses
Textbook
Compiler
Contests
Topics
Courses
بايثون. تخزين البيانات ومعالجتها
(Python) الأنواع التربيعية
Module:
(Python) الأنواع التربيعية
Problem
1
/7
فقاعة الفرز
Theory
Click to read/hide
أنواع تربيعية h4>
الفرز strong> -
يعيد ترتيب عناصر المصفوفة (القائمة) بترتيب معين.
طريقة الفقاعة (فرز الفقاعة) ، أو الفرز حسب التبادلات البسيطة. h5> الكلاسيكية الخالدة من هذا النوع. مبدأ العمل بسيط: نحن نلتف حول المصفوفة من البداية إلى النهاية ، في نفس الوقت نتبادل العناصر المجاورة غير المصنفة. نتيجة التمرير الأول إلى المكان الأخير ، "تنبثق" أقصى عنصر. الآن نتجاوز مرة أخرى الجزء غير الفرز من المصفوفة (من العنصر الأول إلى العنصر قبل الأخير) ونغير الجيران غير الفرز على طول الطريق. ثاني أكبر عنصر سيكون في المكان قبل الأخير. بالاستمرار بنفس الروح ، سوف نتجاوز الجزء غير الفرز المتناقص باستمرار من المصفوفة ، ودفع الحدود القصوى التي تم العثور عليها إلى النهاية.
نبسب ؛
المصدر
تنفيذ حسابي لهذه الخوارزمية h5> <قبل> الحلقات لـ J = 1 إلى N-1 الخطوة 1 F = 0 LOOP FOR I = 1 إلى N-J-1 الخطوة 1 إذا كان A [I] & GT. أ [I + 1] بعد ذلك التبادل أ [أنا] ، أ [أنا + 1] F = 1 بعدها انا إذا كانت F = 0 ، فاخرج من الحلقة // إذا لم تكن هناك عمليات تبادل أثناء المرور ، نبسب ؛ // هذا يعني كل العناصر نبسب ؛ // مرتبة بالترتيب التالي ياء درجة تعقيد هذه الخوارزمية: & nbsp؛
\ (\ displaystyle O (n ^ {2}) \)
.
معلومات إضافية مفيدة: & nbsp؛
مقالة Wikipedia
.
نبسب ؛
Problem
مطلوب فرز المصفوفة بترتيب غير تنازلي باستخدام طريقة "الفقاعة". div>
& nbsp؛
إدخال strong>
يحتوي السطر الأول على رقم طبيعي واحد
N
لا يتجاوز 1000 & ndash؛ حجم المصفوفة. يحتوي السطر الثاني على أرقام
N
& ndash؛ عناصر المصفوفة (الأعداد الصحيحة لا تتجاوز 1000 في modulo).
& nbsp؛
الإخراج strong>
إخراج المصفوفة الناتجة. div> نبسب ؛
أمثلة h5>
#
إدخال
الإخراج
<الجسم>
1
5
5 4 3 2 1
1 2 3 4 5
Запрещенные операторы:
sort
1000
ms
256 Mb
Rules for program design and list of errors in automatic problem checking
Teacher commentary