مرتب سازی گورزاد ( به انگلیسی: Gnome sort ) [ نیازمند منبع] یکی از الگوریتم های مرتب سازی است که در سال ۲۰۰۰ میلادی توسط دکتر حمید سربازی آزاد ( استاد مهندسی کامپیوتر در دانشگاه صنعتی شریف ) با نام "مرتب سازی کند ذهن" ( به انگلیسی: stupid sort ) ارائه شد. این الگوریتم شبیه مرتب ساز درجی است، با این تفاوت که انتقال عنصر به موقعیت مناسبش، توسط تعدادی جابجایی صورت می گیرد؛ مثل مرتب ساز حبابی. کد این الگوریتم ساده است و نیازی به حلقه های تودرتو ندارد. زمان اجرای الگوریتم، ( O ( n² است، ولی در عمل با سرعت مرتب ساز درجی می تواند اجرا شود.
نام انگلیسی این مرتب ساز یعنی Gnome به معنی گورزاد است. گورزادها موجوداتی تخیلی هستند که آدمک های آن ها در باغچه های هلندیان قرار داده می شود و روش مرتب سازی گلدان، گِرد آن ها مشابهتی با این گونه مرتب سازی دارد.
شبه کد این الگوریتم را در زیر می بینید:
function gnomeSort ( a ) { i := 1 j := 2 while i < size if a > = a i := j j := j + 1 else swap a and a i := i - 1 if i = 0 i := 1 } و همین کد را به زبان پایتون در زیر می بینید:
def gnomeSort ( a ) : i = 1 j = 2 while i < len ( a ) : if a > = a : i = j j += 1 else : a, a = a, a i - =1 if i == 0 : i = 1 مثال: اگر بخواهیم آرایه را مرتب کنیم، در هر اجرای حلقه، مراحل زیر اتفاق می افتد: ( حالت اولیه. i، یک و j، دو است. ) ( تغییر نکرد ولی الان i، دو و j، سه است ) ( ( ( اتفاقی نیفتاد ولی الان i، سه و j، چهار است. ) ( [a[i - 1 و [a[i تعویض شدند. الان i، چهار و j، پنج است. ) در اینجا، اجرای حلقه، خاتمه می یابد، زیرا i، کمتر از چهار نیست.
این الگوریتم همیشه اولین جایی که دو عنصر مجاور در ترتیب غلط هستند را پیدا می کند و جایشان را عوض می کند. این الگوریتم از این حقیقت بهره می برد که انجام یک جابجایی، فقط می تواند یک زوج مجاور جدید با ترتیب معکوس نسبت به قبل از انجام جابجایی، ایجاد می کند، و پس از انجام جابجایی، همین موقعیت را دوباره بررسی می کند.
• مرتب ساز Gnome
• الگوریتم های مرتب سازی
• مرتب سازی های پایدار
• مرتب سازی های سنجشی
• مقاله های دارای واژگان به زبان انگلیسی
• همه مقاله های دارای عبارت های بدون منبع
• صفحه های شامل الگوی مدرک همراه پارامترهای بددانسته
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفنام انگلیسی این مرتب ساز یعنی Gnome به معنی گورزاد است. گورزادها موجوداتی تخیلی هستند که آدمک های آن ها در باغچه های هلندیان قرار داده می شود و روش مرتب سازی گلدان، گِرد آن ها مشابهتی با این گونه مرتب سازی دارد.
شبه کد این الگوریتم را در زیر می بینید:
function gnomeSort ( a ) { i := 1 j := 2 while i < size if a > = a i := j j := j + 1 else swap a and a i := i - 1 if i = 0 i := 1 } و همین کد را به زبان پایتون در زیر می بینید:
def gnomeSort ( a ) : i = 1 j = 2 while i < len ( a ) : if a > = a : i = j j += 1 else : a, a = a, a i - =1 if i == 0 : i = 1 مثال: اگر بخواهیم آرایه را مرتب کنیم، در هر اجرای حلقه، مراحل زیر اتفاق می افتد: ( حالت اولیه. i، یک و j، دو است. ) ( تغییر نکرد ولی الان i، دو و j، سه است ) ( ( ( اتفاقی نیفتاد ولی الان i، سه و j، چهار است. ) ( [a[i - 1 و [a[i تعویض شدند. الان i، چهار و j، پنج است. ) در اینجا، اجرای حلقه، خاتمه می یابد، زیرا i، کمتر از چهار نیست.
این الگوریتم همیشه اولین جایی که دو عنصر مجاور در ترتیب غلط هستند را پیدا می کند و جایشان را عوض می کند. این الگوریتم از این حقیقت بهره می برد که انجام یک جابجایی، فقط می تواند یک زوج مجاور جدید با ترتیب معکوس نسبت به قبل از انجام جابجایی، ایجاد می کند، و پس از انجام جابجایی، همین موقعیت را دوباره بررسی می کند.
• مرتب ساز Gnome
• الگوریتم های مرتب سازی
• مرتب سازی های پایدار
• مرتب سازی های سنجشی
• مقاله های دارای واژگان به زبان انگلیسی
• همه مقاله های دارای عبارت های بدون منبع
• صفحه های شامل الگوی مدرک همراه پارامترهای بددانسته
wiki: مرتب سازی گورزاد