شرح خوارزمية Bubble Sorting الترتيب الفقاعي

output
canvas
info

شرح خوارزمية Bubble Sorting الترتيب الفقاعي

خوارزمية الترتيب الفقاعى Bubble Sorting

من أنواع خوارزميات الترتيب الفقاعي او bubble sorting هي خوارزمية سهلة الكتابة وكود بسيط، وتعتبر اول خوارزمية ترتيب يتم تعليمها للمبتدئين، ويقال انها من اسوء الخوارزميات للفرز والترتيب؛ الا اذا تم التحقق من ترتيب المصفوفة في كل تكرار ، ولمعرفة سبب هذا تابع القراءة.

كيف تعمل خوارزمية الترتيب الفقاعى؟

داخل حلقة التكرار يتم التحقق اذا كان العنصر الحالي ( i ) اكبر من العنصر التالي ( i+1 ) يتم التبديل بينهم ، وهذا بنقل كل منهما الي موقع الاخر.

في محرر بايثون بالاعلي تجد حلقة تكرار رئيسية، وحلقة فرعية. الحلقة الرئيسية هي تكرار عكسي يبدا من نهاية المصفوفة وينتهي في بدايتها، والحلقة الفرعية تكرر في نطاق الرقم الموجود في متغير حلقة التكرار الرئيسية.

لاحظ ان كل تكرار في الحلقة الرئيسية يجعل التكرار في الحلقة الفرعية اقل برقم واحد ويجب ان يكون اكبر عنصر موجود في نهاية نطاق التكرار الفرعي.

مثال التكرار الاول

7
[2, 19, 31, 45, 6, 11, 121, 27]
[2, 19, 31, 45, 6, 11, 121, 27]
[2, 19, 31, 45, 6, 11, 121, 27]
[2, 19, 31, 6, 45, 11, 121, 27]
[2, 19, 31, 6, 11, 45, 121, 27]
[2, 19, 31, 6, 11, 45, 121, 27]
[2, 19, 31, 6, 11, 45, 27, 121]

كما تلاحظ تم التكرار من الفهرس 0 الي الفهرس 7 في حلقة التكرار الفرعية، في اول تكرار 2 ليس اكبر من 19 لذلك لم يتم تغير شىء ، والتكرار الثاني 19 ليس اكبر من 31 لذلك لم يتغير شىء ايضاً ، وهذا حتي التكرار الرابع وهو 45 اكبر من 6 وهذا صحيح لذلك تم تبديل موقع العنصرين وتم الانتقال للتكرار التالي.

في التكرار التالي في الحلقة الفرعية 11 ليس اكبر من 45 و 45 ليس اكبر من 121 حتي اخر تكرار 121 اكبر من 27 لذلك تم التبديل بينهم وانتهي اول تكرار في الحلقة الرئيسية.

لاحظ ان اخر عنصر في المصفوفة وتحديداً رقم 7 لن يتم فحصة مرة اخري في عمليات التكرار التالية لان التكرار سوف ينتهي قبل الوصول اليه.

مثال علي باقي عمليات التكرار

6
[2, 19, 31, 6, 11, 45, 27, 121]
[2, 19, 31, 6, 11, 45, 27, 121]
[2, 19, 6, 31, 11, 45, 27, 121]
[2, 19, 6, 11, 31, 45, 27, 121]
[2, 19, 6, 11, 31, 45, 27, 121]
[2, 19, 6, 11, 31, 27, 45, 121]
5
[2, 19, 6, 11, 31, 27, 45, 121]
[2, 6, 19, 11, 31, 27, 45, 121]
[2, 6, 11, 19, 31, 27, 45, 121]
[2, 6, 11, 19, 31, 27, 45, 121]
[2, 6, 11, 19, 27, 31, 45, 121]

 

حتي هنا تم ترتيب المصفوفة بالكامل، ولكن الخوارزمية لم تتوقف، ومازالت تتحقق من ترتيب العناصر، وهذا ما يعيب خوارزمية الترتيب الفقاعي bubble sort، ولحل تلك المشكلة؛ يمكن التحقق بعد انتهاء كل حلقة فرعية من ان المصفوفة تم ترتيبها بالكامل ام لا.

 

متابعة حلقة التكرار

4
[2, 6, 11, 19, 27, 31, 45, 121]
[2, 6, 11, 19, 27, 31, 45, 121]
[2, 6, 11, 19, 27, 31, 45, 121]
[2, 6, 11, 19, 27, 31, 45, 121]
3
[2, 6, 11, 19, 27, 31, 45, 121]
[2, 6, 11, 19, 27, 31, 45, 121]
[2, 6, 11, 19, 27, 31, 45, 121]
2
[2, 6, 11, 19, 27, 31, 45, 121]
[2, 6, 11, 19, 27, 31, 45, 121]
1
[2, 6, 11, 19, 27, 31, 45, 121]

 

 

بواسطة : admin
رابط مباشر https://www.brmgha.com/ide?embd=a8GHBGJFeIU

تضمين في موقع الكتروني

التعليقات

visitor

include<stdio. h>

include<conin.h>

 

visitor

include<stdio. h>

include<conin.h>

 

visitor

include<stdio. h>

include<conin.h>

 

visitor

include<stdio. h>

include<conin.h>

 

visitor

include<stdio. h>

include<conin.h>

 

  • من خلال الضغط علي زر {;} في شريط الادوات يمكنك اضافة اكواد بايثون الي التعليق للتجربة اون لاين.
  • برجاء مراعاة قواعد الكتابة، والادب.

اكواد بايثون جاهزة

بحث
رسم بورترية python turtle

رسم بورترية python turtle

كود رسم دائرة بايثون turtle

رسم نجمة خماسية بايثون turtle

Python Turtle Online Shaheed Minar

رسم قلب python turtle

Python Turtle Online Fractal Art Tree Of Life

Python Turtle Online Play Sierpinski's Game

Python Turtle Online draw koch snowflakes by click window

Python Turtle Online Draws a Koch snowflake fractal

Python Turtle Online Draw Sierpinski Square

Python Turtle Online Sierpinski Triangle fractal

Python Turtle Online Nonuniform Fractal Tree Drawer

Python Turtle Online Fractal Tree Drawer

Python Turtle Online Drawing Mona Lisa

Python Turtle Online Ulam Spiral

Python Turtle Online Draw Polygons

Python Turtle Online Draw decorative graphics

Python Turtle Online Draw Tree branches

Python Turtle Online Draw Snakes

اون لاين بايثون, اون لاين كومبايلر, بايثون اون لاين كومبايلر, كومبايلر اون لاين, باثون اون لاين, برنامج بايثون اون لاين, محرر نصوص اون لاين, كومبايلر اونلاين, محرر أكواد بايثون اون لاين, بايثون كومبايلر, بايثون اون لاين, محرر اكواد اون لاين, بايثون اونلاين, محرر بايثون اون لاين, mtplotlib