گراف وحيدي پور
تعاريف مجموعه اي غير تهي از راس مجموعه اي از زوج راسها كه بوسيله يال بهمديگر متصل هستند. a b d e
انواع گراف گراف بدون جهت Undirected graph گراف جهت دار Directed graph گراف چند ياليMulti-graph گراف كاملComplete Graph گراف ساده Simple graph Undirected graph Directed graph isolated vertex adjacent loop G=(V,E)
تعاريف path: no vertex can be repeated a-b-c-d-e trail: no edge can be repeat a-b-c-d-e-b-d walk: no restriction a-b-d-a-b-c closed if x=y closed trail: circuit (a-b-c-d-b-e-d-a, one draw without lifting pen) closed path: cycle (a-b-c-d-a) length: number of edges in this (path,trail,walk) a b d e
a b c d e a b c d e b c d e a c d زير گراف
ADT گراف Object: A non-empty set of vertices and a set of undirected edges where each edge is pair of vertices. Graph(); // create an empty graph Insert-vertex(); Delete-vertex(); Insert-edge(); Delete-edge(); IsEmpty();
نمايش گراف ماتريس همجواري Adjacency Matrix ماتريس اتصال Incidence Matrix ليستهاي مجاورتي آرايه ليستهاي مجاورتي چند گانه...
ماتريس اتصال Incidence matrix –Label rows with vertices –Label columns with edges –1 if an edge is incident to a vertex, 0 otherwise efghj v11000 w10101 x00011 y01110
ماتريس همجواري There is an N x N matrix, where |V| = N, the Adjacenct Matrix (NxN) A = [a ij ] For undirected graph For directed graph This makes it easier to find subgraphs, and to reverse graphs if needed.
ماتريس همجواري - مثال Example: Undirected Graph G (V, E) vuw v011 u101 w110 u vw
بستار انتقالي حاصلضرب متوالي ماتريس همجواري
لستهاي مجاورتي Each node (vertex) has a list of which nodes (vertex) it is adjacent Example: undirectd graph G (V, E) u vw nodeAdjacency List uv, w vw, u wu, v
استفاده از آرايه گراف در آرايه اي بنام Node ذخيره مي شود. N نود گراف در ابتداي آرايه قرار مي گيرند شماره نودهاي متصل به نود iام در خانه هاي Node[Node(i)] تا Node[Node(i+1)] قرار دارد. اين آرايه چند خانه دارد؟
ليستهاي چند گانه مجاورتي
پيمايش گراف هدف ديدن تمامي نود هاست استفاده از ساختمان داده استك يا صف پيمايش يا جستجوي عمقي Depth-First-Search (DFS) پيمايش يا جستجوي سطحي Breadth-First-Search (BFS)
سوالات به كمك پيمايشها روشي بيابيد كه متصل بودن گراف را تشخيص دهد. گراف دو بخشي: چگونه دو بخشي بودن گراف را تشخيص دهيم.