رشد F (n) بر اساس n در توابع مختلف:
ایده آل ترین حالت اینه الگوریتم ما constant باشه و o(1) ولی خب در عمل اکثر مواقع امکان پذیر نیست.
اگه constant نشد. لگاریتمی و log n هم خیلی عالیه و اونم نزدیک constant هستش.
ولی اغلب اوقات log n و o(1) برای آرایه ای که n تا ورودی میگیره رخ نمیده
اگه واقع بین باشیم، معمولا الگوریتم های Linear همون o(n) و N-Log-N خیلی بدرد بخور و قابل تحمل هستند.
یه پله بالا تر یعنی Quadratic هم یه جاهایی قابل تحمله
اما از o(n^^2) به بعد برای ورودی های بزرگ غیر قابل تحمل میشه
پس اگه الگوریتمی که طراحی میکنید برای یک مسئله ای که ورودیش n هستش تا حد معقول o(n) و یا N-Log-N باشه.
این نکته رو هم در نظر بگیرید بعضی مسائل اصلا براش پیچیدگی های زیر نمایی پیدا نشده
#algorithm
@khat_academy
ایده آل ترین حالت اینه الگوریتم ما constant باشه و o(1) ولی خب در عمل اکثر مواقع امکان پذیر نیست.
اگه constant نشد. لگاریتمی و log n هم خیلی عالیه و اونم نزدیک constant هستش.
ولی اغلب اوقات log n و o(1) برای آرایه ای که n تا ورودی میگیره رخ نمیده
اگه واقع بین باشیم، معمولا الگوریتم های Linear همون o(n) و N-Log-N خیلی بدرد بخور و قابل تحمل هستند.
یه پله بالا تر یعنی Quadratic هم یه جاهایی قابل تحمله
اما از o(n^^2) به بعد برای ورودی های بزرگ غیر قابل تحمل میشه
پس اگه الگوریتمی که طراحی میکنید برای یک مسئله ای که ورودیش n هستش تا حد معقول o(n) و یا N-Log-N باشه.
این نکته رو هم در نظر بگیرید بعضی مسائل اصلا براش پیچیدگی های زیر نمایی پیدا نشده
#algorithm
@khat_academy
👍8
مسئله
ما یک آرایه مرتب شده داریم.
میخوایم عددی رو چک کنیم که داخل آرایه ما وجود داره یا نه.
این مسئله رو با بهینه ترین حالت ممکن حلش کنید.
(حل مسئله همراه توضیح که روشتون از نظر زمانی و فضایی چطوره)
#algorithm
@khat_academy
ما یک آرایه مرتب شده داریم.
میخوایم عددی رو چک کنیم که داخل آرایه ما وجود داره یا نه.
این مسئله رو با بهینه ترین حالت ممکن حلش کنید.
(حل مسئله همراه توضیح که روشتون از نظر زمانی و فضایی چطوره)
#algorithm
@khat_academy
👍4❤1