سلام دوستان
من نميدونم يك گراف را چطور ميشه در c++ ایجاد کرد لطفا کمک کنید؟
سلام دوستان
من نميدونم يك گراف را چطور ميشه در c++ ایجاد کرد لطفا کمک کنید؟
میتونی از لیست پیوندی یا جنرال لیست ها استفاده کنی. حتی به کمک آرایه هم میتونی این کار رو بکنی. ولی با آرایه سخت تره.
ميشه لطفا يك برنامه نمونش را برام بذاري؟
اين يك نمونه كد هست كه بهينه هم نوشته شده .اما به اين سئوال جواب داده شده قبلا . يك لينك هم مي ذارم تا بيشتر با گراف ها آشنا بشين .
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدGood Luckکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دو روش وجود داره:
1- ماتریس مجاورت (Adjacency matrix)
2- لیست
ماتریس زیر را در نظر بگیرید:
روش اول یه ماتریس n*n میگیریم (n تعداد ند ها) که اگه m[i][j] یک باشه یعنی از ند i به j یک یال داریم.
اگه صفر باشه یعنی این دو ند به هم وصل نیستند.
البته این روش حافظۀ زیادی نیاز داره و معمولاً در گراف هایی کاربرد داره که Dense هستند (یعنی بین اکثر ند هاشون یال هست)
به ماتریس زیر توجه کنید (مقدار عناصر خالی صفر هست):
اما روش دوم که روش لیست هست اینجوریه که یه لیست n تایی داریم.
هر عنصر نشان دهندۀ یک ند هست. در واقع هر کدام از این ندها یک لیست پیوندی اند که در صورتی که ند i به ند j متصل باشد ، در لیست ند i ، عدد j (شمارۀ ند مقصد) را ذخیره می کنیم.
به لیست های زیر توجه کنید:
Last edited by hamidreza_buddy; 22-07-2007 at 12:41.
مي خواهم گراف را خودم وارد برنامه كنم تا بهم جواب بده ؟نوشته شده توسط عسل2006 [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
بك گراف چه طوري ساخته ميشه ؟نوشته شده توسط leidy [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)