چطوری میشه تو آرایه های دو بعدی سرچ دودویی کنیم (مثلا یک عدد از کاربر بگیره و بگه تو کدوم خونه ی آرایه دوبعدی قرار داره ) ممنون میشوم جواب بدید لازمش دارم .
چطوری میشه تو آرایه های دو بعدی سرچ دودویی کنیم (مثلا یک عدد از کاربر بگیره و بگه تو کدوم خونه ی آرایه دوبعدی قرار داره ) ممنون میشوم جواب بدید لازمش دارم .
سلام من جست و جوی یک بعدیشو بلدم 2 بعدی هم احتمالا با یکم تغییر درست میشه
bsearch(element list[],int len,int num) H
{
int mid, (onsore miyani) limit1=0, (nesfe avale araye) limit2=len-1; (nesfe dovome araye) H
while(limit1<=limit2) H
{ H
mid=(limit1+limit2)/2; H
if(num<list[mid]) H
limit2=mid-1; H
else if(num>list[mid]) H
limit1=mid+1; H
}
کار برنامه اینه که ارایه رو به 2 قسمت تقسیم میکنه اکه عددی که گرفتی کوچکتر از عنصر وسطی بود قسمت اول سرچ میکنه و انتهای ارایه رو وسط ارایه در نظر میگیره و برعکس اگه قسمت دوم بود ابتدای ارایه رو وسط + 1 در نظر میگیره ( نکته: ارایه باید مرتب باشه برای این نوع سرچ)
فکر کنم این زبان وی بی نباشه (من واسه ویژوال بیسیک نیاز دارم ) ممنون از کمکتون
جستجو باینری در یک آرایه تک بعدی بصورت زیر هست:
(فرض می کنیم اسم آرایه x و تعداد عناصر آن 100 و بدنبال searchkey هستیم و آرایه مرتب شده است)
امیدوارم مفید باشه و با توجه به این واسه آرایه دوبعدی هم بنویسیکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by skimoo_m; 05-12-2012 at 10:10.
این ماله جستجو در آرایه یک بعدی به روش دودویی (باینری ) هست . ممنون ولی در آرایه دوبعدیش را میخواستم
2 بعدی رو چطوری می خوای مرتب کنی بهم بگو تا بهت بگم
دو دویی بر اساس ارایه اول
دودویی بر اساس ارایه دوم
دودویی بر اساس هر دو
من جستجو میخوام نه مرتب سازی
Last edited by rayansys; 07-12-2012 at 11:12.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)