PDA

View Full Version : 2 حلقه ی تو در تو ساده در طراحی الگوریتم



فاطمه_14
سه شنبه 03 آبان 1390, 18:22 عصر
سلام
ببخشید اگه عمل اصلی برنامه اجرا نشه آیا مرتبه اجرایی 0 .
یه مثال ساده:
مرتبه ی اجرایی قطعه کد زیر چیست؟



For i:=1 to n do
For j:=1 to 0 do
X:=x+1;

در این برنامه حلقه ی داخلی اجرا نمی شه.

loo30fer
سه شنبه 03 آبان 1390, 19:46 عصر
خوب بستگی به این داره که مقدار متغیر n شما چند باشه تا بشه مرتبه اجرایی رو بدست آورد , در مورد حلقه داخلی باید بگم خیر اجرا نمیشه.
فکر میکنم شما الگوریتم محاسبه تعداد تکرار حلقه ها رو میخواین درسته ؟

فاطمه_14
سه شنبه 03 آبان 1390, 20:59 عصر
بله
منظور من مرتبه اجراییه.
ممنون می شم اگه مرتبه ی اجرایی رو بگید.

فاطمه_14
سه شنبه 03 آبان 1390, 23:01 عصر
چون حلقه داخلی که عمل اصلی داخل آن قرار دارد هر گز اجرا نمی شود
پس می تونم بگم مرتبه ی اجرایی صفره؟

quiet_programmer
چهارشنبه 04 آبان 1390, 11:42 صبح
باسلام.

پیچیدگی الگوریتم:

O(N^2)//nothing

ولی گام اجرایی الگوریتم برابر n+1.
چرا؟
حلقه اول یه انتساب داره. این یک.
حلقه دوم هم n بار یک انتساب j:=1 رو داره.
مجموع: n+1

البته اینجا عمل اصلی در نظر گرفته نشده. در صورتی که عمل اصلی رو جمع در نظر بگیریم میشه گفت که گام اجرایی الگوریتم صفره.

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