PDA

View Full Version : سوال: تقسیم و حل



19216810047
جمعه 03 شهریور 1391, 18:46 عصر
با سلام خدمت دوستان
من برای مسیله زیر یک الگوریتم تقسیم و حل می خواهم.کسی میتونه منو کمک کنه.
مسیله:
1- یک آرایه شامل n عنصر دراختیار داریم که همه خانه‌ها به جز یکی از آنها با یکدیگر مساوی هستند (فرض کنیدکه می‌دانیم عنصر نامساوی از بقیه کوچکتر است ولی مقدار آن را نمی‌دانیم). یک تابعsum داریم که جمعهر تعداد از خانه ها را در زمان ثابتی محاسبه می‌کند. یک الگوریتم تقسیم و حل طراحی کنیدکه عنصر نامساوی را بیابد. زمان اجرای الگوریتم چه قدر است.
با تشکر

مسعود اقدسی فام
شنبه 04 شهریور 1391, 18:34 عصر
با سلام خدمت دوستان
من برای مسیله زیر یک الگوریتم تقسیم و حل می خواهم.کسی میتونه منو کمک کنه.
مسیله:
1- یک آرایه شامل n عنصر دراختیار داریم که همه خانه‌ها به جز یکی از آنها با یکدیگر مساوی هستند (فرض کنیدکه می‌دانیم عنصر نامساوی از بقیه کوچکتر است ولی مقدار آن را نمی‌دانیم). یک تابعsum داریم که جمعهر تعداد از خانه ها را در زمان ثابتی محاسبه می‌کند. یک الگوریتم تقسیم و حل طراحی کنیدکه عنصر نامساوی را بیابد. زمان اجرای الگوریتم چه قدر است.
با تشکر


تابعی بنویسید که ابتدا و انتهای بازه و آرایه رو دریافت کنه و مجموع عناصر اون بازه رو محاسبه کنه.
تابع در هر فراخوانی بازه رو نصف می کنه و با استفاده از تابع sum مجموع دو نیم بازه رو محاسبه می‌کنه. نیم‌بازه‌ای که مقدار کمتری داره شامل محل عنصر مورد نظر ماست. پس اون بازه دوباره با همین تابع بررسی می شه. وقتی طول بازه به عدد یک رسید محل مذکور پیدا شده.