سلام
بهترین الگوریتم برای مربت سازی یا همون sort کردن یک آرایه بیست هزار تایی به نظر دوستان چی هست که کمترین زمان اجرا رو داشته باشه
ممنون
سلام
بهترین الگوریتم برای مربت سازی یا همون sort کردن یک آرایه بیست هزار تایی به نظر دوستان چی هست که کمترین زمان اجرا رو داشته باشه
ممنون
بستگی به آرایتون داره.
ترتیب قبلیش چطوریه؟
فاصله مقادیر چقدره؟
نوع مقادیر چیه؟
چقدر حافظه میتونید حروم کنید؟
به همه ی مقادیر دسترسی دارید یا به ترتیب خونده میشن؟
مقادیر در چه ساختاری نگهداری میشوند؟
مرتبسازی باید پایدار باشد یا خیر؟
و یه عالمه سوال دیگه که تا پاسخ داده نشوند بهترین الگوریتم پیدا نمیشه.
الان شما با این الگوریتم رم و cpu رو ریختی دور.
چون مقدار تکراری نداری و مقادیر خالی هم نداری میتونستی در حافظه O(n) و زمان O(n) اطلاعاتت رو مرتب کنی.
کد شما در حافظه O(n*log(n)) و زمان O(n*log(log(n))) اجرا میشه.