Upload
shea-buckley
View
55
Download
1
Embed Size (px)
DESCRIPTION
بسم الله الرحمن الرحيم ساختمان دادهها. گراف. جلسه دوازدهم 92/10/14. تعریف گراف. 2. یک گراف G شامل دو مجموعه V و E است که به صورت G(V, E) نمایش داده میشود . V : یک مجموعه محدود و ناتهی از رئوس (Vertices) است. - PowerPoint PPT Presentation
Citation preview
بسم الله الرحمن الرحيم
ساختمان داده ها
گراف
جلسه دوازدهم 92/10/14
تعریف گراف
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 و مجموع�ه یال همی نامیم.
ویژگیهای گراف
3گراف دوازدهم، 92/10/14جلسه
ک راس�در ی�ک گ�راف یال ه�ایی ک�ه ابت�دا و انته�ای آنه�ا ی self loop ی�اself edgeباش�د مج�از نیس�ت. ب�ه چ�نین یاله�ایی
باش�د ای حلق�ه ی�ال دارای ک�ه گ�رافی ب�ه می گوین�د. گفته می شود. گراف خود حلقه ای
ه�در گ�راف ی�ال م�وازی مج�از نیس�ت. اگ�ر موج�ود باش�د بمی گویند. گراف چندگانه آن
01
2
01
2
0
1
2
0
1
2
تعداد یالها در گراف
4گراف دوازدهم، 92/10/14جلسه
راف� ب�ا غ�یر جهت دارحداکثر تع�داد یاله�ا در گn راس برابر با n(n-1)/2.می باشد
راف�گ در یاله�ا تع�داد دارحداکثر ب�ا جهت n می باشد.n(n-1)راس برابر با
واه� درج�ه تم�امی رئ�وس را Gاگ�ر در گ�راف دلخب�دانیم، آنگ�اه تع�داد یاله�ا ب�ر حس�ب درج�ه رئ�وس
برابر است با:
تعاریف گراف
5گراف دوازدهم، 92/10/14جلسه
ا�گ�راف ی�ال را n(n-1)/2یک گ�راف غیرجهت�دار بگویند. کامل
ت�در گ�راف جهت دار درج�ه ی�ک راس براب�ر اسبا: درجه ورودی + درجه خروجی.
وارد راس ب�ه ک�ه یال ه�ایی تع�داد ورودی: درج�ه می شود.
ارج�خ راس از ک�ه یال ه�ایی تع�داد خ�روجی: درج�ه می شود.
ه از بین�درج�ه ه�ر گ�راف براب�ر ب�ا بزرگ ت�رین درجگره های آن گراف است.
رد و�اگ�ر درج�ه راس�ی ف�رد باش�د آن راس را فاگر زوج باشد آن راس را زوج گویند.
راف گراف مکم�ل� گ�رافی اس�ت ک�ه هیچ Gگگ�راف ب�ا مش�ترکی ولی Gی�ال باش�د نداش�ته
رئوس مشترک دارند.
مفاهیم گراف
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
مفاهیم گراف
7گراف دوازدهم، 92/10/14جلسه
چرخ�ه(cycle:) و اولین ک�ه ای س�اده مس�یر آخرین راس در آن یکسان باشد.
2,5,1,0,2مانند
واه� را v و uدر گ�راف ب�دون جهت دو راس دلخاز متص�ل مس�یری اگ�ر می گ�وییم، u ه�ب v ا�ی
بالعکس وجود داشته باشد. ا�ی ب�دون جهت را متص�ل گ�وییم، همبن�دگراف
ی�ا v ب�ه u مس�یری از v و uاگ�ر ب�رای ه�ر دو راس بالعکس وجود داشته باشد.
0
1 2 3
4 5
نمایش گراف با استفاده از ماتریس مجاورت
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
پیمایش گراف
9گراف دوازدهم، 92/10/14جلسه
راف�گ کنی�د راس G=(V,E)فرض و v در V را از Gداریم. می خ�واهیم تم�امی رئوس�ی را ک�ه در
قاب�ل دس�ترس اس�ت را مالق�ات ک�نیم. vطری�ق دو روش وجود دارد:
( جستجوی عمقیdepth first search)( جستجوی سطحیbreadth first search )
پوش�ا درخت ب�ه منج�ر گ�راف پیم�ایش درخ�تی Gمی ش�ود. درخت پوش�ای گ�راف
باش�د nاس�ت ک�ه راس گ�راف را داش�ته یال را انتخاب کند. n-1اما دقیقا
(DFSجستجوی عمقی )
10
گراف دوازدهم، 92/10/14جلسه
با راسv اور� v ش�روع ک�رده س�پس ی�ک راس مجک�ه مالق�ات نش�ده را انتخ�اب و الگ�وریتم را ب�رای آن تک�رار می ک�نیم. وق�تی ب�ه راس�ی می رس�یم ک�ه تم�امی رئ�وس مج�اورش مالق�ات ش�ده، آنگ�اه ب�ه راس دارای �ه �ک �ردیم �برمی گ رأس�ی �رین �آخ
مجاور مالقات نشده باشد. :گراف های زیر را به روش عمقی پیمایش کنیدمثال .
0
1 2 3
4 5
0
1 2 3
4 5
(BFSجستجوی سطحی )
11
گراف دوازدهم، 92/10/14جلسه
راس رئ�وس vبا تم�امی س�پس ک�رده ش�روع ک�ه مالق�ات نش�ده را مالق�ات می ک�نیم. vمج�اور
پس از آن رئ�وس مالق�ات نش�ده مج�اور ب�ا رئ�وس را مالق�ات می ک�نیم و ت�ا هنگامیک�ه هم�ه vمج�اور
گره ها مالقات شوند این کار را ادامه می دهیم. :ال�گراف ه�ای مقاب�ل را ب�ه روش س�طحی پیم�ایش مث
0کنید.
1 2 3
4 5
0
1 2 3
4 5
درخت پوشای کم هزینه
12
گراف دوازدهم، 92/10/14جلسه
،ند�باش وزن دارای یال ه�ا آن در ک�ه گ�راف گرافی نامیده می شود. وزن دار
ترین�دارای کم ک�ه پوش�ایی آوردن درخت بدس�ت برای از الگوریتم ه�ای خاص�ی اس�تفاده می ش�ود، هزین�ه باش�د س�ازی پی�اده اص�ل دو ب�ر الگوریتم ه�ا این تم�ام ک�ه
می شوند: ک�ه می ک�نیم انتخ�اب را ی�الی مرحل�ه ه�ر در همیش�ه
کم�ترین وزن را ب�ا مس�یر انتخ�اب ش�ده ت�ا ب�ه ح�ال داش�ته باشد.
همیش�ه ی�الی انتخ�اب می ک�نیم ک�ه ب�ا مس�یر انتخ�اب ش�دهتا به حال، دور ایجاد نکند.
الگوریتم کروسکال
13
گراف دوازدهم، 92/10/14جلسه
( الگ�وریتم کروس�کال ب�ه Kruskalدر یال ه�ای گ�راف را ))کوچک�ترین( اولین از م�رتب می ک�نیم. ت�رتیب ص�عودی ی�ال ش�روع ک�رده و ه�ر ی�ال را ب�ه گ�راف اض�افه می ک�نیم ب�ه ش�رط اینک�ه دور در گ�راف ایج�اد نگ�ردد. این روال را تش�کیل بهین�ه پوش�ای درخت ت�ا دهیم ادام�ه می آنق�در
گردد. ت�اس ممکن کروس�کال الگ�وریتم از مرحل�ه ه�ر در
درختها متصل نباشند. :ال�از مث اس�تفاده ب�ا را مقاب�ل گ�راف می�نیمم پوش�ای درخت
الگوریتم کروسکال بدست آورید.
الگوریتم پریم
14
گراف دوازدهم، 92/10/14جلسه
( پ�ریم ی�ک رأس ش�روع می primدر روش از )ک�نیم و ی�ال ب�ا کم�ترین وزن ک�ه از آن می گ�ذرد را انتخ�اب می ک�نیم. در مرحل�ه بع�د ی�الی انتخ�اب می ش�ود ک�ه کم�ترین وزن را در بین یال ه�ایی ک�ه این باش�یم. از دو گ�ره موج�ود می گ�ذرد داش�ته روال را آنق�در تک�رار می ک�نیم ت�ا درخت پوش�ای ی�ال ک�ه ک�رد توج�ه بای�د ش�ود. حاص�ل بهین�ه انتخ�اب ص�ورتی در مرحل�ه ه�ر در انتخ�ابی
می شود که در گراف دور ایجاد نکند.
این در کراس�کال روش ب�ا پ�ریم روش تف�اوت اس�ت ک�ه گ�راف حاص�ل در مراح�ل می�انی روش الگ�وریتم در ولی اس�ت متص�ل همیش�ه پ�ریم
a متصل است. کراسکال در آخرین مرحله قطعا