sa1378
جمعه 30 آبان 1393, 11:21 صبح
سلام
من داشتم یه مسئله حل میکردم یه جاش باید اینکارو کنیم:
یه آرایه دوبعدی n*m داریم که تو هرخونش یه عدد ذخیره کردیم
حالا یه جای دیگه این برنامه در هر مرحله به خونه ای از این ارایه که کوچکترین عضو رو داره نیاز داریم(یعنی یه حلقه for داریم و تا زمانی که شرط برقراره هربار کوچترین عضو رو میگیره و یه کاری روش میکنه و دیگه مرحله بعد نباید ازش استفاده کرد)
اگه بخوایم در هر مرحله مینیم رو حساب کنیم میشه ( O( n^2*m^2 که خیلی زیاده (m,n<500)
پس باید اول جدول رو sort کنیم
ولی چجوری؟؟؟(میخوایم آدرس هر خونه بعد از مرتب سازی رو داشته باشیم)
من داشتم یه مسئله حل میکردم یه جاش باید اینکارو کنیم:
یه آرایه دوبعدی n*m داریم که تو هرخونش یه عدد ذخیره کردیم
حالا یه جای دیگه این برنامه در هر مرحله به خونه ای از این ارایه که کوچکترین عضو رو داره نیاز داریم(یعنی یه حلقه for داریم و تا زمانی که شرط برقراره هربار کوچترین عضو رو میگیره و یه کاری روش میکنه و دیگه مرحله بعد نباید ازش استفاده کرد)
اگه بخوایم در هر مرحله مینیم رو حساب کنیم میشه ( O( n^2*m^2 که خیلی زیاده (m,n<500)
پس باید اول جدول رو sort کنیم
ولی چجوری؟؟؟(میخوایم آدرس هر خونه بعد از مرتب سازی رو داشته باشیم)