PDA

نسخه کامل مشاهده نسخه کامل : يك گراف را چطور ميشه در c++ ایجاد کرد



عسل2006
03-07-2006, 09:06
سلام دوستان

من نميدونم يك گراف را چطور ميشه در c++ ایجاد کرد لطفا کمک کنید؟

Payman_62
03-07-2006, 13:00
میتونی از لیست پیوندی یا جنرال لیست ها استفاده کنی. حتی به کمک آرایه هم میتونی این کار رو بکنی. ولی با آرایه سخت تره.

عسل2006
06-07-2006, 10:13
ميشه لطفا يك برنامه نمونش را برام بذاري؟

avot
21-07-2007, 23:10
اين يك نمونه كد هست كه بهينه هم نوشته شده .اما به اين سئوال جواب داده شده قبلا . يك لينك هم مي ذارم تا بيشتر با گراف ها آشنا بشين .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

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 (شمارۀ ند مقصد) را ذخیره می کنیم.
به لیست های زیر توجه کنید:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

leidy
10-05-2008, 20:27
سلام دوستان

من نميدونم يك گراف را چطور ميشه در c++ ایجاد کرد لطفا کمک کنید؟مي خواهم گراف را خودم وارد برنامه كنم تا بهم جواب بده ؟

leidy
10-05-2008, 20:30
مي خواهم گراف را خودم وارد برنامه كنم تا بهم جواب بده ؟ بك گراف چه طوري ساخته ميشه ؟