# 친구가 연락되는지 확인하기.
class Graph():
def __init__(self, size):
self.SIZE = size
self.graph = [[0 for _ in range(size)]for _ in range(size)]
GSize = 6
stack =[]
visitedAry = []
def findVertex(g, findVtx) :
current = 0
stack.append(current)
visitedAry.append(current)
while (len(stack) != 0) :
next = None
for vertex in range(gSize):
if g.graph[current][vertex] != 0 :
if vertex in visitedAry :
pass
else :
next = vertex
break
if next != None:
current = next
stack.append(current)
visitedAry.append(current)
else :
current = stack.pop()
if findVtx in visitedAry :
return True
else:
return False
G1 = Graph(GSize)
nameAry = ['문별', '솔라', '휘인', '쯔위', '선미', '화사']
문별, 솔라, 휘인, 쯔위, 선미, 화사 = 0, 1, 2, 3, 4, 5
G1.graph[문별][솔라] = 1; G1.graph[문별][휘인] = 1
G1.graph[솔라][문별] = 1; G1.graph[솔라][쯔위] = 1
G1.graph[휘인][문별] = 1; G1.graph[휘인][쯔위] = 1
G1.graph[쯔위][솔라] = 1; G1.graph[쯔위][휘인] = 1; G1.graph[쯔위][선미] = 1
G1.graph[선미][쯔위] = 1;
if 화사 in visitedAry :
print('화사가 연락이 됨')
else :
print('화사가 연락이 안 됨 ㅜ')
'자료구조' 카테고리의 다른 글
그래프 구현_최소 신장트리 복습 (0) | 2024.06.17 |
---|---|
최소신장트리 만들기 (0) | 2024.06.08 |
Deepest Leaves Sum (0) | 2024.06.01 |
이진트리(Binary Tree) 기본 (0) | 2023.09.16 |
선형 리스트 - 기본 (0) | 2023.09.08 |