Table of Contents
درک پیچیدگی حلقه برای طراحی الگوریتم های کارآمد در C و ++C ضروری است، این به برآورد زمان اجرای و بهینه سازی عملکرد کد کمک می کند.این مقاله توضیح می دهد که چگونه پیچیدگی حلقه را به طور موثر تجزیه و تحلیل کنید.
پایه های پیچیدگی حلقه
پیچیدگی حلقه اندازه گیری می کند که چگونه زمان اجرای یک حلقه نسبت به اندازه ورودی رشد می کند، اغلب با استفاده از بزرگ Onotation بیان می شود که محدوده بالایی از زمان اجرای الگوریتم را توصیف می کند.
تحلیل حلقه های ساده
برای یک حلقه پایه که از 1 به N اجرا می شود، پیچیدگی O(N) است، هر تکرار مقدار ثابت کار را انجام می دهد، بنابراین کل کار به طور خطی با اندازه ورودی مقیاس می یابد.
حلقه های نستله
حلقه های نستله پیچیدگی های خود را ضرب می کنند، به عنوان مثال، حلقه ای درون حلقه دیگری که هر دو از 1 به N اجرا می شوند، منجر به پیچیدگی O(N^2) می شود.تعداد کل ⁇ توسط N ضرب و شتم نمی شود.
حلقه ها و شرایط متعدد
هنگامی که حلقه های متعدد به طور متوالی اجرا می شوند، پیچیدگی های آنها اضافه می شود.برای مثال، دو حلقه که هر کدام از 1 به N اجرا می شوند، پیچیدگی O(N) + O(N) = O(N را دارند.