View Full Version : يك گراف را چطور ميشه در c++ ایجاد کرد
عسل2006
07-03-2006, 10:06 AM
سلام دوستان
من نميدونم يك گراف را چطور ميشه در c++ ایجاد کرد لطفا کمک کنید؟
Payman_62
07-03-2006, 02:00 PM
میتونی از لیست پیوندی یا جنرال لیست ها استفاده کنی. حتی به کمک آرایه هم میتونی این کار رو بکنی. ولی با آرایه سخت تره.
عسل2006
07-06-2006, 11:13 AM
ميشه لطفا يك برنامه نمونش را برام بذاري؟
اين يك نمونه كد هست كه بهينه هم نوشته شده .اما به اين سئوال جواب داده شده قبلا . يك لينك هم مي ذارم تا بيشتر با گراف ها آشنا بشين .
!!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!
http://ce.sharif.edu/courses/85-86/2/ce153c/resources/root/Ch12-Data%20structures%20and%20Program%20Design%20in%20 C++.pdf
Good Luck :)
hamidreza_buddy
07-22-2007, 01:25 PM
دو روش وجود داره:
1- ماتریس مجاورت (Adjacency matrix)
2- لیست
ماتریس زیر را در نظر بگیرید:
http://i17.tinypic.com/68jdymx.jpg
روش اول یه ماتریس n*n میگیریم (n تعداد ند ها) که اگه m[i][j] یک باشه یعنی از ند i به j یک یال داریم.
اگه صفر باشه یعنی این دو ند به هم وصل نیستند.
البته این روش حافظۀ زیادی نیاز داره و معمولاً در گراف هایی کاربرد داره که Dense هستند (یعنی بین اکثر ند هاشون یال هست)
به ماتریس زیر توجه کنید (مقدار عناصر خالی صفر هست):
http://i12.tinypic.com/5zee3p4.jpg
اما روش دوم که روش لیست هست اینجوریه که یه لیست n تایی داریم.
هر عنصر نشان دهندۀ یک ند هست. در واقع هر کدام از این ندها یک لیست پیوندی اند که در صورتی که ند i به ند j متصل باشد ، در لیست ند i ، عدد j (شمارۀ ند مقصد) را ذخیره می کنیم.
به لیست های زیر توجه کنید:
http://i18.tinypic.com/4qd917l.jpg
leidy
05-10-2008, 10:27 PM
سلام دوستان
من نميدونم يك گراف را چطور ميشه در c++ ایجاد کرد لطفا کمک کنید؟مي خواهم گراف را خودم وارد برنامه كنم تا بهم جواب بده ؟
leidy
05-10-2008, 10:30 PM
مي خواهم گراف را خودم وارد برنامه كنم تا بهم جواب بده ؟ بك گراف چه طوري ساخته ميشه ؟
vBulletin v3.8.1, Copyright ©2000-2009, Jelsoft Enterprises Ltd.