(۱۶ مهر ۱۳۹۱ ۰۹:۵۱ ق.ظ)naderx نوشته شده توسط: یه آرایه پر از قبل آماده میکنیم به صورتی که هر عددی که داخل هر خونش هست،همان اندیس آرایه هست
یعنی : a[i]=i بعد این آرایه رو با آرایه خودمون با استفاده از یک حلقه فور چک میکنیم و تست میکنیم که کجا همخوانی نداره
هزینه حلقه هم n میشود.
این روش غلطه
ضمنا اگر بخواییم طوری تغییرش بدیم که درست باشه مرتبه اجرایی خطی نخواهد داشت.
کمی بهش فکر کنین، خودتون میتونین متوجه اشتباه بودنش بشین.
روی سوال نگفته هر عدد تو جای خودشه! پس این چک کردنی که شما گفتین، با مرتبه خطی جواب درستی نخواهد داشت. (چون هر عدد رو باید یه بار با کل آرایه چک کنیم ... البته طبق روش شما)