PDA

View Full Version : سوال: الگوریتم quick sort



omidjadidolislam
پنج شنبه 24 مرداد 1387, 13:21 عصر
آقا سلام
اگه کسی میتونه فرق الگوریتم quick sort را با merg sort به من بگه
اگه میشه الگوریتم quick را تا حدی بگید که من مبتدی بتونم کدش رو بنویسم

powerboy2988
پنج شنبه 24 مرداد 1387, 18:21 عصر
الگوریتم مرتب سازی سریع ، از نوع الگوریتم های تعویضی است که بر اساس جابجا کردن زیاد عناصر عمل می کند. در این الگوریتم هر بار یک عنصر محوری انتخاب شده و سایر عناصر در بردار به صورتی جابجا می شوند که کلیه عناصر کوچکتر از آن در یک طرف و عناصر بزرگتر از آن در طرف دیگر عنصر محوری قرار گرفته و سپس دو بردار دو طرف عنصر محوری به همین روش مرتب می شوند( به صورت بازگشتی)
اما مرتب سازی ادغامی عموما بر روی عناصری که بر روی فایل ها قرار دارند اجرا می شود در روش فایل n عضوی به n قسمت به طول یک تقسیم می شود و سپس هر دو قسمت مجاور به صورت مرتب شده با هم ادغام می شوند.

omidjadidolislam
جمعه 08 شهریور 1387, 09:39 صبح
الگوریتم مرتب سازی سریع ، از نوع الگوریتم های تعویضی است که بر اساس جابجا کردن زیاد عناصر عمل می کند. در این الگوریتم هر بار یک عنصر محوری انتخاب شده و سایر عناصر در بردار به صورتی جابجا می شوند که کلیه عناصر کوچکتر از آن در یک طرف و عناصر بزرگتر از آن در طرف دیگر عنصر محوری قرار گرفته و سپس دو بردار دو طرف عنصر محوری به همین روش مرتب می شوند( به صورت بازگشتی)
اما مرتب سازی ادغامی عموما بر روی عناصری که بر روی فایل ها قرار دارند اجرا می شود در روش فایل n عضوی به n قسمت به طول یک تقسیم می شود و سپس هر دو قسمت مجاور به صورت مرتب شده با هم ادغام می شوند.

آقا اگه بعد از sort یکی از عوها تغییر داده شد الگوریتم quick برای sort دوباره سریعتر است یاالگوریتم merg؟ اگه ممکنه راهنمایی کنید

powerboy2988
چهارشنبه 13 شهریور 1387, 23:35 عصر
آقا اگه بعد از sort یکی از عوها تغییر داده شد الگوریتم quick برای sort دوباره سریعتر است یاالگوریتم merg؟ اگه ممکنه راهنمایی کنید
من نفهیمدم چی عوض شه؟؟

rostamkhani
جمعه 15 شهریور 1387, 17:09 عصر
من نفهیمدم چی عوض شه؟؟
اگر یکی از داده ها عوض شه

BAMZI_007
سه شنبه 19 شهریور 1387, 17:57 عصر
اگر یکی از داده ها عوض شه
سلام
در مدل سریع دو اشاره گر داریم(یکی راست و یکی چپ) و یک محور که به اولین عنصر اشاره می کند و اشاره گرها در طول آرایه حرکت می کنند (اشاره گر راست به سمت راست و اشاره گر چپ به سمت چپ) تا زمانی که اشاره گر شمت چپ به عنصری کوچکتر از مخور و اشاره گر سمت راست به عنصری بزرگتر از محور برسد اگر دو اساره گر همدیگر را رد نکرده باشند جای مختویات دو اشاره گر عوص می شود و کار به همین صورت ادامه می یابد در غیر این صورت مختویات مخور با جایی که اشاره گر چپ اشاره می کند عوض می شود و از محل محور آرایه می شکند و باید روال فوق را برای آرایه های جدید تکرار کنیم .
دز ضمن این الگوریتم نیاز به آرایه کمکی ندارد .
ولی مرج احتیاج به آرایه کمکی دارد.