14
م ي ح ر ل ا ن م ح ر ل له ا ل م ا س بها داده مان ت ح سا راف گ م ه د سه دواز ل ج92/10/14

بسم الله الرحمن الرحيم ساختمان دادهها

Embed Size (px)

DESCRIPTION

بسم الله الرحمن الرحيم ساختمان داده‌ها. گراف. جلسه دوازدهم 92/10/14. تعریف گراف. 2. یک گراف G شامل دو مجموعه V و E است که به صورت G(V, E) نمایش داده می‌شود . V : یک مجموعه محدود و ناتهی از رئوس (Vertices) است. - PowerPoint PPT Presentation

Citation preview

Page 1: بسم الله الرحمن الرحيم ساختمان دادهها

بسم الله الرحمن الرحيم

ساختمان داده ها

گراف

جلسه دوازدهم 92/10/14

Page 2: بسم الله الرحمن الرحيم ساختمان دادهها

تعریف گراف

2گراف دوازدهم، 92/10/14جلسه

راف� اس�ت ک�ه E و V ش�امل دو مجموع�ه Gیک گ نمایش داده می شود. G(V, E)به صورت

V( وس�( Vertices : ی�ک مجموع�ه مح�دود و ن�اتهی از رئاست.

E ال� : ی�ک مجموع�ه مح�دود از زوج رئ�وس ک�ه ب�ه آنه�ا ی(Edge.می گویند )

.د�گراف می توان�د غ�یر جهت دار ی�ا جهت دار باش( زوج ب�ا را ی�ال دار جهت غ�یر گ�راف در u,vدر و )

< زوج ب�ا دار جهت می دهیم. u,vگ�راف نم�ایش >< و در گ�راف u,v> ≠ <v,uیع�نی در گ�راف جهت دار >

(. u,v( = )v,uغیر جهت دار ) :وس زیرگ�راف�ه�ر زی�ر مجموع�ه از مجموع�ه رئ

V ای� Gگ�راف زی�ر گ�راف را E و مجموع�ه یال همی نامیم.

Page 3: بسم الله الرحمن الرحيم ساختمان دادهها

ویژگیهای گراف

3گراف دوازدهم، 92/10/14جلسه

ک راس�در ی�ک گ�راف یال ه�ایی ک�ه ابت�دا و انته�ای آنه�ا ی self loop ی�اself edgeباش�د مج�از نیس�ت. ب�ه چ�نین یاله�ایی

باش�د ای حلق�ه ی�ال دارای ک�ه گ�رافی ب�ه می گوین�د. گفته می شود. گراف خود حلقه ای

ه�در گ�راف ی�ال م�وازی مج�از نیس�ت. اگ�ر موج�ود باش�د بمی گویند. گراف چندگانه آن

01

2

01

2

0

1

2

0

1

2

Page 4: بسم الله الرحمن الرحيم ساختمان دادهها

تعداد یالها در گراف

4گراف دوازدهم، 92/10/14جلسه

راف� ب�ا غ�یر جهت دارحداکثر تع�داد یاله�ا در گn راس برابر با n(n-1)/2.می باشد

راف�گ در یاله�ا تع�داد دارحداکثر ب�ا جهت n می باشد.n(n-1)راس برابر با

واه� درج�ه تم�امی رئ�وس را Gاگ�ر در گ�راف دلخب�دانیم، آنگ�اه تع�داد یاله�ا ب�ر حس�ب درج�ه رئ�وس

برابر است با:

Page 5: بسم الله الرحمن الرحيم ساختمان دادهها

تعاریف گراف

5گراف دوازدهم، 92/10/14جلسه

ا�گ�راف ی�ال را n(n-1)/2یک گ�راف غیرجهت�دار بگویند. کامل

ت�در گ�راف جهت دار درج�ه ی�ک راس براب�ر اسبا: درجه ورودی + درجه خروجی.

وارد راس ب�ه ک�ه یال ه�ایی تع�داد ورودی: درج�ه می شود.

ارج�خ راس از ک�ه یال ه�ایی تع�داد خ�روجی: درج�ه می شود.

ه از بین�درج�ه ه�ر گ�راف براب�ر ب�ا بزرگ ت�رین درجگره های آن گراف است.

رد و�اگ�ر درج�ه راس�ی ف�رد باش�د آن راس را فاگر زوج باشد آن راس را زوج گویند.

راف گراف مکم�ل� گ�رافی اس�ت ک�ه هیچ Gگگ�راف ب�ا مش�ترکی ولی Gی�ال باش�د نداش�ته

رئوس مشترک دارند.

Page 6: بسم الله الرحمن الرحيم ساختمان دادهها

مفاهیم گراف

6گراف دوازدهم، 92/10/14جلسه

رئ�وس مج�اور هم(adjacent vertices:) ع� رئ�وس واقشده بر یک یال را گویند.

( مس�یرpath:) یر از� ترتی�بی G در گ�راف v ب�ه u ی�ک مس( , … u,i1( , )i1,i2 اس�ت بطوریک�ه )u,i1,i2,…ik,vاز رئ�وس

(,ik,v د�( یاله�ای گ�راف باش�ند. اگ�ر گ�راف جهت دار باش< یالهای گراف باشند.u,i1> , <i1,i2> , … ,<ik,vباید >

: 2,4,5,3,0مانند:را طول مس�یر مس�یر ب�ر ش�ده واق�ع یاله�ای تع�داد

گویند. است.4 برابر 2,4,5,3,0طول مسیر

( مس�یر س�ادهsimple path:) امی� مس�یری ک�ه در آن تمآنه�ا مج�زا و غ�یر a اولین و آخ�رین رئ�وس ب�ه ج�ز احتم�اًال

تکراری است. 2,5,1,0,3مانند

0

1 2 3

4 5

Page 7: بسم الله الرحمن الرحيم ساختمان دادهها

مفاهیم گراف

7گراف دوازدهم، 92/10/14جلسه

چرخ�ه(cycle:) و اولین ک�ه ای س�اده مس�یر آخرین راس در آن یکسان باشد.

2,5,1,0,2مانند

واه� را v و uدر گ�راف ب�دون جهت دو راس دلخاز متص�ل مس�یری اگ�ر می گ�وییم، u ه�ب v ا�ی

بالعکس وجود داشته باشد. ا�ی ب�دون جهت را متص�ل گ�وییم، همبن�دگراف

ی�ا v ب�ه u مس�یری از v و uاگ�ر ب�رای ه�ر دو راس بالعکس وجود داشته باشد.

0

1 2 3

4 5

Page 8: بسم الله الرحمن الرحيم ساختمان دادهها

نمایش گراف با استفاده از ماتریس مجاورت

8گراف دوازدهم، 92/10/14جلسه

راف�گ ب�ا G=(V,E)برای n≥1 اتریس�م راس، مج�اورتی ب�ه ص�ورت آرای�ه دو بع�دی زی�ر تعری�ف

می شود.

:مثال

0

1]][[ jiA

< موجود باشدi,j( یا >i,j)اگر یال

در غیر این صورت

0

12

3

0110

1011

1101

0110

3

2

1

0

3210

A

0

12

3

0000

1000

1100

0110

3

2

1

0

3210

A

Page 9: بسم الله الرحمن الرحيم ساختمان دادهها

پیمایش گراف

9گراف دوازدهم، 92/10/14جلسه

راف�گ کنی�د راس G=(V,E)فرض و v در V را از Gداریم. می خ�واهیم تم�امی رئوس�ی را ک�ه در

قاب�ل دس�ترس اس�ت را مالق�ات ک�نیم. vطری�ق دو روش وجود دارد:

( جستجوی عمقیdepth first search)( جستجوی سطحیbreadth first search )

پوش�ا درخت ب�ه منج�ر گ�راف پیم�ایش درخ�تی Gمی ش�ود. درخت پوش�ای گ�راف

باش�د nاس�ت ک�ه راس گ�راف را داش�ته یال را انتخاب کند. n-1اما دقیقا

Page 10: بسم الله الرحمن الرحيم ساختمان دادهها

(DFSجستجوی عمقی )

10

گراف دوازدهم، 92/10/14جلسه

با راسv اور� v ش�روع ک�رده س�پس ی�ک راس مجک�ه مالق�ات نش�ده را انتخ�اب و الگ�وریتم را ب�رای آن تک�رار می ک�نیم. وق�تی ب�ه راس�ی می رس�یم ک�ه تم�امی رئ�وس مج�اورش مالق�ات ش�ده، آنگ�اه ب�ه راس دارای �ه �ک �ردیم �برمی گ رأس�ی �رین �آخ

مجاور مالقات نشده باشد. :گراف های زیر را به روش عمقی پیمایش کنیدمثال .

0

1 2 3

4 5

0

1 2 3

4 5

Page 11: بسم الله الرحمن الرحيم ساختمان دادهها

(BFSجستجوی سطحی )

11

گراف دوازدهم، 92/10/14جلسه

راس رئ�وس vبا تم�امی س�پس ک�رده ش�روع ک�ه مالق�ات نش�ده را مالق�ات می ک�نیم. vمج�اور

پس از آن رئ�وس مالق�ات نش�ده مج�اور ب�ا رئ�وس را مالق�ات می ک�نیم و ت�ا هنگامیک�ه هم�ه vمج�اور

گره ها مالقات شوند این کار را ادامه می دهیم. :ال�گراف ه�ای مقاب�ل را ب�ه روش س�طحی پیم�ایش مث

0کنید.

1 2 3

4 5

0

1 2 3

4 5

Page 12: بسم الله الرحمن الرحيم ساختمان دادهها

درخت پوشای کم هزینه

12

گراف دوازدهم، 92/10/14جلسه

،ند�باش وزن دارای یال ه�ا آن در ک�ه گ�راف گرافی نامیده می شود. وزن دار

ترین�دارای کم ک�ه پوش�ایی آوردن درخت بدس�ت برای از الگوریتم ه�ای خاص�ی اس�تفاده می ش�ود، هزین�ه باش�د س�ازی پی�اده اص�ل دو ب�ر الگوریتم ه�ا این تم�ام ک�ه

می شوند: ک�ه می ک�نیم انتخ�اب را ی�الی مرحل�ه ه�ر در همیش�ه

کم�ترین وزن را ب�ا مس�یر انتخ�اب ش�ده ت�ا ب�ه ح�ال داش�ته باشد.

همیش�ه ی�الی انتخ�اب می ک�نیم ک�ه ب�ا مس�یر انتخ�اب ش�دهتا به حال، دور ایجاد نکند.

Page 13: بسم الله الرحمن الرحيم ساختمان دادهها

الگوریتم کروسکال

13

گراف دوازدهم، 92/10/14جلسه

( الگ�وریتم کروس�کال ب�ه Kruskalدر یال ه�ای گ�راف را ))کوچک�ترین( اولین از م�رتب می ک�نیم. ت�رتیب ص�عودی ی�ال ش�روع ک�رده و ه�ر ی�ال را ب�ه گ�راف اض�افه می ک�نیم ب�ه ش�رط اینک�ه دور در گ�راف ایج�اد نگ�ردد. این روال را تش�کیل بهین�ه پوش�ای درخت ت�ا دهیم ادام�ه می آنق�در

گردد. ت�اس ممکن کروس�کال الگ�وریتم از مرحل�ه ه�ر در

درختها متصل نباشند. :ال�از مث اس�تفاده ب�ا را مقاب�ل گ�راف می�نیمم پوش�ای درخت

الگوریتم کروسکال بدست آورید.

Page 14: بسم الله الرحمن الرحيم ساختمان دادهها

الگوریتم پریم

14

گراف دوازدهم، 92/10/14جلسه

( پ�ریم ی�ک رأس ش�روع می primدر روش از )ک�نیم و ی�ال ب�ا کم�ترین وزن ک�ه از آن می گ�ذرد را انتخ�اب می ک�نیم. در مرحل�ه بع�د ی�الی انتخ�اب می ش�ود ک�ه کم�ترین وزن را در بین یال ه�ایی ک�ه این باش�یم. از دو گ�ره موج�ود می گ�ذرد داش�ته روال را آنق�در تک�رار می ک�نیم ت�ا درخت پوش�ای ی�ال ک�ه ک�رد توج�ه بای�د ش�ود. حاص�ل بهین�ه انتخ�اب ص�ورتی در مرحل�ه ه�ر در انتخ�ابی

می شود که در گراف دور ایجاد نکند. 

این در کراس�کال روش ب�ا پ�ریم روش تف�اوت اس�ت ک�ه گ�راف حاص�ل در مراح�ل می�انی روش الگ�وریتم در ولی اس�ت متص�ل همیش�ه پ�ریم

a متصل است. کراسکال در آخرین مرحله قطعا