الگوریتم مرتب سازی حبابی – زبان PHP
در این نوشته قصد بررسی الگوریتم مرتب سازی حبابی که در اکثر مباحث ساختمان داده بررسی میشود بپردازیم. در پایان آن را با زبان برنامه نویسی PHP پیاده سازی میکنیم.
پیشنهاد نویسنده : مرتب سازی حبابی با سی شارپ
الگوریتم مرتب سازی حبابی به زبان PHP
الگوریتم مرتبسازی حبابی چیست؟
الگوریتم مرتبسازی، در دانش رایانه و ریاضی، الگوریتمی است که بعد از اجرای آن فهرستی از دادهها را به ترتیبی تعریف شده تبدیل میشود. پرکاربردترین ترتیبها، ترتیب های عددی (نزولی، صعودی و …) هستند. مرتبسازی در بهینهسازی الگوریتمهایی که به فهرستهای مرتب شده نیاز دارند اهمیت بسیار زیادی دارد. از آغاز علم رایانه مسائل مرتب سازی در ساختمات داده بررسیهای فراوانی را متوجه خود ساختند. شاید به این علت که در عین ساده بودن این عملیات، حل آن به صورت کامل و عملی کمی پیچیده است. برای نمونه مرتبسازی حبابی در سال ۱۹۵۶ میلادی به وجود آمد؛ در آن زمان بسیاری این را یک مسئله را حل شده میپنداشتند.
مبحث مرتبسازی دادهها در کلاسهای معرفی علم رایانه بسیار پرکاربرد و پر بحث است. مبحثی که در آن وجود الگوریتمهای فراوان به آشنایی با ایده های کلی و مراحل طراحی الگوریتمهای گوناگون کمک میکند. مرتبسازی حبابی که به زبان انگلیسی به Bubble sort معروف است یک الگوریتم مرتب سازی بسیار ساده است. در این الگوریتم دادهها در یک لیست پشت سرهم پیمایش میشوند. هر بار عناصر کنار هم را با هم مقایسه و اگر در جای نادرست (با توجه به شرط مرتب سازی) بودند به جای مناسب خود منتقل کند. در این الگوریتم این کار باید تا زمانی که هیچ انتقالی در لیست نیاز نیست رخ دهد، ادامه یابد و در آن زمان لیست مرتب شده است. در مرتبسازی حبابی هر عنصر با عنصر کناری خود مقایسه شده و در صورتی که از آن کوچکتر بشود جای خود را به آن میدهد. این کار همچنان پیش میرود تا کوچک ترین عنصر دادهای به پایین لیست برسد و دیگران نیز به ترتیب در جای خود قرار گیرند.
موضوع آموزش
پیاده سازی الگوریتم مرتب سازی حبابی با زبان پیاچپی.
کد:
<?php function bubblesort($a1,$a2) { for($i = sizeof($a1); $i >= 1; $i--) { for($j = 1; $j <= $i; $j++) { if($a1[$j-1] > $a1[$j]) { $t = $a1[$j-1]; $t2 = $a2[$j-1]; $a1[$j-1] = $a1[$j]; $a2[$j-1] = $a2[$j]; $a1[$j] = $t; $a2[$j] = $t2; } } } } ?>
توضیحات:
- کد بالا به زبان پیاچپی است.
- برنامهی بالا باید در کنار پروژه ی اصلی شما قرار بگیرد تا کاراریی اصلی خود را در پروژههای بزرگتر نمایان کند.
- در این برنامه از اصول شیگرا به دلیل ساده بودن کار استفاده نشده است.
خب کد بالا میتواند مرجع مناسبی برای طراحی الگوریتم حبابی به طور کامل است. در صورت تکمیل این کد حتما آن را برای ما ارسال کنید تا در اختیار دیگران هم قرار بگیرد.
ارسال پاسخ