PDA

View Full Version : حرفه ای: مرتب سازی بدون استفاده از حلقه ها



xtazi21
یک شنبه 04 دی 1390, 23:39 عصر
سلام بچه ها و برنامه نویس های مبتکر و خلاق.
تا حالا به این فکر کردین که بدون استفاده از حلقه ها یک الگوریتم مرتب سازی بنویسید که یک آرایه رو مرتب کنه ؟؟

کسی تا حالا همچین کاری کرده،میشه لطف کنید و کمک کنید که چجوری همچین کاریو انجام بدیم
ممنونم

b.saminjad
دوشنبه 05 دی 1390, 13:25 عصر
سلام

با استفاده از goto هم میشه ولی اگه بخوایم در برنامه حلقه ایجاد نشه خوب باید تک تک دستوراتو بنویسیم

developing
سه شنبه 06 دی 1390, 12:00 عصر
با سلام

مرتب سازی ادغامی با استفاده از تابع بازگشتی نوشته می شه و نیازی به استفاده از حلقه نداره. مرتب سازی ادغامی (http://fa.wikipedia.org/wiki/%D9%85%D8%B1%D8%AA%D8%A8%E2%80%8C%D8%B3%D8%A7%D8%B 2%DB%8C_%D8%A7%D8%AF%D8%BA%D8%A7%D9%85%DB%8C)

اگه منظورتون این بود که از قبل بوده ولی اگه می خواید یه روش نوین ایجاد کنید که ...

quiet_programmer
چهارشنبه 07 دی 1390, 11:50 صبح
با سلام.


با استفاده از goto هم میشه
مرتب سازی ادغامی با استفاده از تابع بازگشتی نوشته می شه و نیازی به استفاده از حلقه ندارهمنظور از حلقه حتما دستورات for و while و اینچیزا نیست. هر وقت بخواهیم تعدادی دستور رو با استفاده از روشهایی به صورت تکراری انجام بدیم میشه حلقه یا LOOP. حالا میخواد با دستور For یا While یا Goto یا بازگشتی یا چیز دیگه ای این کار انجام بگیره.

اگه برای مرتب سازی نیازی به حلقه نبود که پسر یا دختر خوب علم کامپیوتر دیگه سر چی میخواست بحث کنه. دیگه چرا میومد پیچیدگی و حافظه و کوفت و زهر مار رو برای مرتب سازی برسی میکرد. دیگه چرا میومد اثبات میکرد که پیچیدگی مرتب سازی کمتر از nLogn نمیشه. اگه نیاز به حلقه نبود که پیچیدگی مرتب سازی میشد یک. اگه نیاز به حلقه نبود که روشهای ذخیره و بازیابی اطلاعات به صورت مرتب برسی نمیشد. وای که اگه برای مرتب سازی نیازی به حلقه نبود...

البته لازم به ذکره استفاده از Hash نیازی به استفاده از حلقه وجود نداره(یا اگه باشه خیلی کمه) ولی حافظه مصرفی برای اینکه درج و برداشت به پیچیدگی یک برسه باید داده های تکراری نداشته باشیم و اندازه حافظه خیلی بزگ باشه(خیلی بزرگ یعنی محدودیت حافظه نداشته باشیم که غیر ممکنه.)

یاحق.
موفق باشید/