سفارش تبلیغ
صبا ویژن
 تعداد کل بازدید : 33577

  بازدید امروز : 10

  بازدید دیروز : 7

وبلاگ امپراتور

 
آنکه مغلوب غفلت شود، دلش می میرد . [امام علی علیه السلام]
 
نویسنده: ستایش ::: شنبه 96/1/19::: ساعت 10:3 عصر

مقدمه :

الگوریتم مرتب‌سازی، در علوم کامپیوتر و ریاضی، الگوریتمی است که لیستی از داده‌ها را به ترتیبی مشخص می‌چیند.

پر استفاده‌ترین ترتیب‌ها، ترتیب‌های عددی و لغت‌نامه‌ای هستند. مرتب‌سازی کارا در بهینه سازی الگوریم‌هایی که به لیست‌های مرتب شده نیاز دارند (مثل جستجو و ترکیب) اهمیت زیادی دارد.

از ابتدای علم کامپیوتر مسائل مرتب‌سازی تحقیقات فراوانی را متوجه خود ساختند، شاید به این علت که در عین ساده بودن، حل آن به صورت کارا پیچیده‌است. برای مثال مرتب‌سازی حبابی در سال 1956 به وجود آمد. در حالی که بسیاری این را یک مسئله? حل شده می‌پندارند، الگوریتم کارآمد جدیدی همچنان ابداع می‌شوند (مثلاً مرتب‌سازی کتاب خانه‌ای در سال 2004 مطرح شد).

مبحث مرتب‌سازی در کلاس‌های معرفی علم کامپیوتر بسیار پر کاربرد است، مبحثی که در آن وجود الگوریتم‌های فراوان به آشنایی با ایده‌های کلی و مراحل طراحی الگوریتم‌های مختلف کمک می‌کند؛ مانند تحلیل الگوریتم، داده‌ساختارها، الگوریتم‌های تصادفی، تحلیل بدترین و بهترین حالت و حالت میانگین، هزینه? زمان و حافظه، و حد پایین.

 

در علم کامپیوتر معمولاً الگوریتم‌های مرتب‌سازی بر اساس این معیارها طبقه‌بندی می‌شوند:

  • پیچیدگی (بدترین و بهترین عملکرد و عملکرد میانگین): با توجه به اندازه? لیست (n). در مرتب‌سازی‌های معمولی عملکرد خوب (O(n log n و عملکرد بد (O(n2 است. بهترین عملکرد برای مرتب‌سازی (O(nn است. الگوریتم‌هایی که فقط از مقایسه? کلیدها استفاده می‌کنند در حالت میانگین حداقل (O(n log nn مقایسه نیاز دارند.
  • حافظه (و سایر منابع کامپیوتر): بعضی از الگوریتم‌های مرتب‌سازی «در جا[1]» هستند. یعنی به جز داده‌هایی که باید مرتب شوند، حافظه? کمی ((O(1) مورد نیاز است؛ در حالی که سایر الگوریتم‌ها به ایجاد مکان‌های کمکی در حافظه برای نگه‌داری اطلاعات موقت نیاز دارند.
  • پایداری[2]: الگوریتم‌های مرتب‌سازی پایدار ترتیب را بین داده‌های دارای کلیدهای برابر حفظ می‌کنند. فرض کنید می‌خواهیم چند نفر را بر اساس سن با یک الگوریتم پایدار مرتب کنیم. اگر دو نفر با نام‌های الف و ب هم‌سن باشند و در لیست اولیه الف جلوتر از ب آمده باشد، در لیست مرتب شده هم الف جلوتر از ب است.
  • مقایسه‌ای بودن یا نبودن. در یک مرتب‌سازی مقایسه‌ای داده‌ها فقط با مقایسه به وسیله? یک عملگر مقایسه مرتب می‌شوند.
  • روش کلی: درجی، جابجایی، گزینشی، ترکیبی و غیره. جابجایی مانند مرتب‌سازی حبابی و مرتب‌سازی سریع و گزینشی مانند مرتب‌سازی پشته‌ای.

 

الگوریتم‌های مرتب سازی

[ویرایش] مرتب سازی حبابی

(به انگلیسی: Bubble Sort)

فرض کنید n داده داریم که می‌خواهیم به صورت صعودی مرتب شوند. عنصر اول رو با دومی مقایسه ، و در صورتی که اولی بزرگتر باشد جاهاشون رو عوض می‌کنیم. همین کار رو با عناصر دوم و سوم انجام می‌دهید و همینطور عناصر سوم و چهارم ، الی آخر. وقتی این کار تموم شد بزرگترین عنصر بین داده‌ها به آخر لیست می‌رسد . حالا یک بار دیگه از اول این کار رو انجام می‌دهیم اما این بار تا عنصر (n -1)ام ادامه می‌دهیم (عنصر nام مرحله اول جای خودش رو پیدا کرده). باز هم این کار رو تا عنصر (n – 2)ام تکرار می‌کنیم ، و بازهم …. تا اینکه بالاخره داده‌ها مرتب می‌شوند. مثلا:

تحقیق الگوریتم های مرتب سازی رشته کامپیوتر


 
 
 
 

موضوعات وبلاگ

 

لینک دوستان


خرید تلویزیون

تلویزیون سونی

سینما خانگی

گوشی شیائومی

گوشی آیفون

تاچ ال سی دی

برد گوشی

گوشی سامسونگ

گوشی هواوی

قیمت یاب

گوشی آنر

انشا درباره برخاستن از خواب صبح روستا
طراحی سایت دانلود مقاله
خرید مقاله
دانلود مقاله جدید
خرید اینترنتی
کنکور 99
 

درباره خودم

 

حضور و غیاب

 

اشتراک