تالار گفتمان مانشت
دو سوال در مورد مرتبه زمانی - نسخه‌ی قابل چاپ

دو سوال در مورد مرتبه زمانی - fulgent - 14 بهمن ۱۳۹۲ ۰۷:۴۵ ب.ظ

سلام
دوتا سوال دارم ممنون میشم جواب بدین: (یه تردیدی تو جوابشون برام به وجود اومده!)

۱- یافتن عنصر میانه در یک آرایه مرتب شده از مرتبه O(1) است یا O(n) ؟

۲- مرتبه زمانی "یافتن کوچکترین عنصر در یک لیست که هر بار لیست را به قسمت مساوی تقسیم می کنیم " چیست؟

RE: دو سوال در مورد مرتبه زمانی - masoud67 - 14 بهمن ۱۳۹۲ ۰۸:۳۲ ب.ظ

(۱۴ بهمن ۱۳۹۲ ۰۷:۴۵ ب.ظ)fulgent نوشته شده توسط:  سلام
دوتا سوال دارم ممنون میشم جواب بدین: (یه تردیدی تو جوابشون برام به وجود اومده!)

۱- یافتن عنصر میانه در یک آرایه مرتب شده از مرتبه O(1) است یا O(n) ؟

۲- مرتبه زمانی "یافتن کوچکترین عنصر در یک لیست که هر بار لیست را به قسمت مساوی تقسیم می کنیم " چیست؟
۱/ اولی که تابلو ۱ میشه . وقتی آرایه مرتبه که همه چی تمومه. میانه و ماکس و مین همه ۱ میشه
۲/ اگه منظورت لیست یپوندی هست که زمانش n میشه و اصلا لیست را نمیشه تقسیم کرد (مگر لیست های خاص)
و اگر منظورت از لیست همون آرایه است که اصلا این الگوریتم جواب نمیده. یا اگه جواب بده همون n میشه و جستجو خطی محسوب میشه
خلاصه اینکه تا این لیست چی باشه .

RE: دو سوال در مورد مرتبه زمانی - mehdi.m2 - 14 بهمن ۱۳۹۲ ۰۸:۳۸ ب.ظ

(۱۴ بهمن ۱۳۹۲ ۰۸:۳۲ ب.ظ)masoud67 نوشته شده توسط:  
(14 بهمن ۱۳۹۲ ۰۷:۴۵ ب.ظ)fulgent نوشته شده توسط:  سلام
دوتا سوال دارم ممنون میشم جواب بدین: (یه تردیدی تو جوابشون برام به وجود اومده!)

۱- یافتن عنصر میانه در یک آرایه مرتب شده از مرتبه O(1) است یا O(n) ؟

۲- مرتبه زمانی "یافتن کوچکترین عنصر در یک لیست که هر بار لیست را به قسمت مساوی تقسیم می کنیم " چیست؟
۱/ اولی که تابلو ۱ میشه . وقتی آرایه مرتبه که همه چی تمومه. میانه و ماکس و مین همه ۱ میشه
۲/ اگه منظورت لیست یپوندی هست که زمانش n میشه و اصلا لیست را نمیشه تقسیم کرد (مگر لیست های خاص)
و اگر منظورت از لیست همون آرایه است که اصلا این الگوریتم جواب نمیده. یا اگه جواب بده همون n میشه و جستجو خطی محسوب میشه
خلاصه اینکه تا این لیست چی باشه .

ببخشید اقا مسعود عنصر میانه رو چطوری پیدا می کنن؟
می شه الگوریتم یا روشش رو بگید


برای سوال دوم هم مگه همون تقسیم و غلبه نمی شه هر بار لیست رو تقسیم کنیم به دو قسمت مساوی و کوچکترین اون قسمت رو پیدا کنیم؟

RE: دو سوال در مورد مرتبه زمانی - masoud67 - 14 بهمن ۱۳۹۲ ۰۸:۴۰ ب.ظ

(۱۴ بهمن ۱۳۹۲ ۰۸:۳۸ ب.ظ)mehdi.m2 نوشته شده توسط:  ببخشید اقا مسعود عنصر میانه رو چطوری پیدا می کنن؟
می شه الگوریتم یا روشش رو بگید
[tex]cout<<A[\frac{n}{2}][/tex]
تموم
آرایه مرتب شده است

RE: دو سوال در مورد مرتبه زمانی - fulgent - 14 بهمن ۱۳۹۲ ۱۰:۵۹ ب.ظ

(۱۴ بهمن ۱۳۹۲ ۰۸:۳۲ ب.ظ)masoud67 نوشته شده توسط:  
(14 بهمن ۱۳۹۲ ۰۷:۴۵ ب.ظ)fulgent نوشته شده توسط:  سلام
دوتا سوال دارم ممنون میشم جواب بدین: (یه تردیدی تو جوابشون برام به وجود اومده!)

۱- یافتن عنصر میانه در یک آرایه مرتب شده از مرتبه O(1) است یا O(n) ؟

۲- مرتبه زمانی "یافتن کوچکترین عنصر در یک لیست که هر بار لیست را به قسمت مساوی تقسیم می کنیم " چیست؟
۱/ اولی که تابلو ۱ میشه . وقتی آرایه مرتبه که همه چی تمومه. میانه و ماکس و مین همه ۱ میشه
۲/ اگه منظورت لیست یپوندی هست که زمانش n میشه و اصلا لیست را نمیشه تقسیم کرد (مگر لیست های خاص)
و اگر منظورت از لیست همون آرایه است که اصلا این الگوریتم جواب نمیده. یا اگه جواب بده همون n میشه و جستجو خطی محسوب میشه
خلاصه اینکه تا این لیست چی باشه .

۱- افرین منم میگم میشه از مرتبه ۱ ولی مدرسان تو جواب یکی از سوالاش نوشته از مرتبه n هست!!!
۲- منظور همون ارایه بود....پس همینم میشه از مرتبه n ، اره؟

RE: دو سوال در مورد مرتبه زمانی - Riemann - 15 بهمن ۱۳۹۲ ۱۰:۴۴ ق.ظ

برای سوال اوم هم میشه [tex]O(1)[/tex]
[tex]O(n)[/tex] ولی [tex]O(1)[/tex] دقیق تره.

واسه سول دوم رابطه بازگشتیش فکر کنم بشه
T(n) = 2T(n/2) + n/2 - 1
که میشه nlgn

RE: دو سوال در مورد مرتبه زمانی - izadan11 - 15 بهمن ۱۳۹۲ ۱۱:۰۱ ق.ظ

(۱۵ بهمن ۱۳۹۲ ۱۰:۴۴ ق.ظ)Riemann نوشته شده توسط:  برای سوال اوم هم میشه [tex]O(1)[/tex]
[tex]O(n)[/tex] ولی [tex]O(1)[/tex] دقیق تره.

واسه سول دوم رابطه بازگشتیش فکر کنم بشه
T(n) = 2T(n/2) + n/2 - 1
که میشه nlgn
اشتباه می کنی هادی میشه
T(n) = 2T(n/2) +1

RE: دو سوال در مورد مرتبه زمانی - Riemann - 15 بهمن ۱۳۹۲ ۱۱:۱۱ ق.ظ

(۱۵ بهمن ۱۳۹۲ ۱۱:۰۱ ق.ظ)izadan11 نوشته شده توسط:  
(15 بهمن ۱۳۹۲ ۱۰:۴۴ ق.ظ)Riemann نوشته شده توسط:  برای سوال اوم هم میشه [tex]O(1)[/tex]
[tex]O(n)[/tex] ولی [tex]O(1)[/tex] دقیق تره.

واسه سول دوم رابطه بازگشتیش فکر کنم بشه
T(n) = 2T(n/2) + n/2 - 1
که میشه nlgn
اشتباه می کنی هادی میشه
T(n) = 2T(n/2) +1

بله درست میگی از پایین میاد بالا!

RE: دو سوال در مورد مرتبه زمانی - fulgent - 15 بهمن ۱۳۹۲ ۱۱:۱۳ ق.ظ

از دوستانی که وقت گذاشتن متشکرمSmile

یه چیزی! الان جواب سوال دوم شد از مرتبه n، درسته؟
سوال پارسال ساختمان داده که می خواست عنصر مینیمم رو پیدا کنه چون گفته بود میانگین جواب میشد از مرتبه log n اره؟ یعنی فقط چون گفته بود میانگین، وگرنه همونم میشد از مرتبه n درسته؟

RE: دو سوال در مورد مرتبه زمانی - izadan11 - 15 بهمن ۱۳۹۲ ۱۱:۳۵ ق.ظ

(۱۵ بهمن ۱۳۹۲ ۱۱:۱۳ ق.ظ)fulgent نوشته شده توسط:  از دوستانی که وقت گذاشتن متشکرمSmile

یه چیزی! الان جواب سوال دوم شد از مرتبه n، درسته؟
سوال پارسال ساختمان داده که می خواست عنصر مینیمم رو پیدا کنه چون گفته بود میانگین جواب میشد از مرتبه log n اره؟ یعنی فقط چون گفته بود میانگین، وگرنه همونم میشد از مرتبه n درسته؟

اصلا اون سوال یه چیز دیگه بود
اون می گفت چند بار متغییر مینیمم عوض میشه تا به آخر لیست برسیم
این میگه پیچیدگی پیدا کردن مینیمم چی هست

RE: دو سوال در مورد مرتبه زمانی - fulgent - 15 بهمن ۱۳۹۲ ۱۱:۴۱ ق.ظ

(۱۵ بهمن ۱۳۹۲ ۱۱:۳۵ ق.ظ)izadan11 نوشته شده توسط:  
(15 بهمن ۱۳۹۲ ۱۱:۱۳ ق.ظ)fulgent نوشته شده توسط:  از دوستانی که وقت گذاشتن متشکرمSmile

یه چیزی! الان جواب سوال دوم شد از مرتبه n، درسته؟
سوال پارسال ساختمان داده که می خواست عنصر مینیمم رو پیدا کنه چون گفته بود میانگین جواب میشد از مرتبه log n اره؟ یعنی فقط چون گفته بود میانگین، وگرنه همونم میشد از مرتبه n درسته؟

اصلا اون سوال یه چیز دیگه بود
اون می گفت چند بار متغییر مینیمم عوض میشه تا به آخر لیست برسیم
این میگه پیچیدگی پیدا کردن مینیمم چی هست

بله حواسم نبود به صورت سوالش، خب حالا اگر گفته بود تعداد مقایسه چی؟ اون موقع میشه مرتبه n، اره؟

RE: دو سوال در مورد مرتبه زمانی - ریحان - ۱۴ بهمن ۱۳۹۳ ۰۱:۴۹ ق.ظ

این میانه که میگین میانه کل لیست مرتب؟یا اینکه هی لیست تقسیم دو شه بعد هی میانشو بدست میارین؟ یعتی یه میانه فقط یا چندتا؟Huh

پاسخ : RE: دو سوال در مورد مرتبه زمانی - shamim_70 - 14 بهمن ۱۳۹۳ ۱۱:۲۹ ق.ظ

(۱۴ بهمن ۱۳۹۳ ۰۱:۴۹ ق.ظ)ریحان نوشته شده توسط:  این میانه که میگین میانه کل لیست مرتب؟یا اینکه هی لیست تقسیم دو شه بعد هی میانشو بدست میارین؟ یعتی یه میانه فقط یا چندتا؟Huh
میانه ی لیست مرتب..مثلا ۱۲۳۴۵میانه ک عدد۳هست با O)1(
میشه پیدا کرد.دوباره ک لیست سمت چپ یا راستو بخوای میانه شو پیدا کنی باز ازO)1
چون اون زیرارایه ها هم مرتب هستن.

RE: دو سوال در مورد مرتبه زمانی - ریحان - ۱۵ بهمن ۱۳۹۳ ۰۶:۳۲ ب.ظ

بله درسته.ممنون