۰
subtitle
ارسال: #۱
پیدا کردن xای که حاصل جمع دو عدد
سلام
میخواستم بدونم این سواله اینجوری که من دارم میگم درسته
![[تصویر: 465811_04xl_p_20190128_130207_vhdr_on_1.jpg]](https://img.manesht.ir/465811_04xl_p_20190128_130207_vhdr_on_1.jpg)
![[تصویر: 465811_wibm_p_20190128_130132_vhdr_on_1.jpg]](https://img.manesht.ir/465811_wibm_p_20190128_130132_vhdr_on_1.jpg)
اول تو زمان(o(n عنصر xرو پیدا میکنیم
بعد عمل partition رو انجام میدیم با محور قرار دادن عنصر xکه باعث میشه عناصر کوچکتر از xقبلش بیان و عناصر بزرگتر از x بعدش بیان که اینکارو در زمان (o(n انجام میشه
حالا دو عنصری که جمعشون قرار بشه x باید قبل از x باشن پس در زما nlogn مرتبشون میکنیم
حالا اگه x+y=z باش برای هر عنصری مثل yمیایم حاصل x-yرو حساب میکنیم تو قسمت کوچیکا میگردیم حالا بدترین حالت وقتیه که ما اصلا عنصر بزرگتر از xنداشته باشیم پس باید برای n_1عنصر این مقایسه انجام بشه که آیا مقدارش با x_yبربر است یا نه
و چون باید برای nعنصر مانند yکه تو قسمت کوچیکا هستن اینکارو انجام بدیم میشه nبه توان دو
و حالا هم بین تمام زمان هایی که گفتم nبه توان دو از هه بیشتر پس میشه همین nبه توان دو
ولی اینجا که حل کرده مثل شکلش فرض کرده که عنصر xتقریبا وسط قرار میگیره و ما هر بار باید نصف آرایه رو برای پیدا کردن x_y جستجو کنیم و میشه
T n/2= T + تتای۱
که میشه logn و چون n بار حساب میشه در نهایت میشه nlog n
میخواستم بدونم این سواله اینجوری که من دارم میگم درسته
![[تصویر: 465811_04xl_p_20190128_130207_vhdr_on_1.jpg]](https://img.manesht.ir/465811_04xl_p_20190128_130207_vhdr_on_1.jpg)
![[تصویر: 465811_wibm_p_20190128_130132_vhdr_on_1.jpg]](https://img.manesht.ir/465811_wibm_p_20190128_130132_vhdr_on_1.jpg)
اول تو زمان(o(n عنصر xرو پیدا میکنیم
بعد عمل partition رو انجام میدیم با محور قرار دادن عنصر xکه باعث میشه عناصر کوچکتر از xقبلش بیان و عناصر بزرگتر از x بعدش بیان که اینکارو در زمان (o(n انجام میشه
حالا دو عنصری که جمعشون قرار بشه x باید قبل از x باشن پس در زما nlogn مرتبشون میکنیم
حالا اگه x+y=z باش برای هر عنصری مثل yمیایم حاصل x-yرو حساب میکنیم تو قسمت کوچیکا میگردیم حالا بدترین حالت وقتیه که ما اصلا عنصر بزرگتر از xنداشته باشیم پس باید برای n_1عنصر این مقایسه انجام بشه که آیا مقدارش با x_yبربر است یا نه
و چون باید برای nعنصر مانند yکه تو قسمت کوچیکا هستن اینکارو انجام بدیم میشه nبه توان دو
و حالا هم بین تمام زمان هایی که گفتم nبه توان دو از هه بیشتر پس میشه همین nبه توان دو
ولی اینجا که حل کرده مثل شکلش فرض کرده که عنصر xتقریبا وسط قرار میگیره و ما هر بار باید نصف آرایه رو برای پیدا کردن x_y جستجو کنیم و میشه
T n/2= T + تتای۱
که میشه logn و چون n بار حساب میشه در نهایت میشه nlog n