مشاهده نسخه کامل
: يك گراف را چطور ميشه در c++ ایجاد کرد
سلام دوستان
من نميدونم يك گراف را چطور ميشه در c++ ایجاد کرد لطفا کمک کنید؟
Payman_62
03-07-2006, 13:00
میتونی از لیست پیوندی یا جنرال لیست ها استفاده کنی. حتی به کمک آرایه هم میتونی این کار رو بکنی. ولی با آرایه سخت تره.
ميشه لطفا يك برنامه نمونش را برام بذاري؟
اين يك نمونه كد هست كه بهينه هم نوشته شده .اما به اين سئوال جواب داده شده قبلا . يك لينك هم مي ذارم تا بيشتر با گراف ها آشنا بشين .
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Good Luck :)
hamidreza_buddy
22-07-2007, 12:25
دو روش وجود داره:
1- ماتریس مجاورت (Adjacency matrix)
2- لیست
ماتریس زیر را در نظر بگیرید:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
روش اول یه ماتریس n*n میگیریم (n تعداد ند ها) که اگه m[i][j] یک باشه یعنی از ند i به j یک یال داریم.
اگه صفر باشه یعنی این دو ند به هم وصل نیستند.
البته این روش حافظۀ زیادی نیاز داره و معمولاً در گراف هایی کاربرد داره که Dense هستند (یعنی بین اکثر ند هاشون یال هست)
به ماتریس زیر توجه کنید (مقدار عناصر خالی صفر هست):
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اما روش دوم که روش لیست هست اینجوریه که یه لیست n تایی داریم.
هر عنصر نشان دهندۀ یک ند هست. در واقع هر کدام از این ندها یک لیست پیوندی اند که در صورتی که ند i به ند j متصل باشد ، در لیست ند i ، عدد j (شمارۀ ند مقصد) را ذخیره می کنیم.
به لیست های زیر توجه کنید:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام دوستان
من نميدونم يك گراف را چطور ميشه در c++ ایجاد کرد لطفا کمک کنید؟مي خواهم گراف را خودم وارد برنامه كنم تا بهم جواب بده ؟
مي خواهم گراف را خودم وارد برنامه كنم تا بهم جواب بده ؟ بك گراف چه طوري ساخته ميشه ؟
vBulletin , Copyright ©2000-2024, Jelsoft Enterprises Ltd.