# 친구 관계 리스트
# A와 B가 친구이면
# A의 친구 리스트에도 B가 나오고, B의 친구 리스트에도 A가 나옴
fr_info = {
‘Summer’: [‘John’, ‘Justin’, ‘Mike’],
‘John’: [‘Summer’, ‘Justin’],
‘Justin’: [‘John’, ‘Summer’, ‘Mike’, ‘May’],
‘Mike’: [‘Summer’, ‘Justin’],
‘May’: [‘Justin’, ‘Kim’],
‘Kim’: [‘May’],
‘Tom’: [‘Jerry’],
‘Jerry’: [‘Tom’]
}
print_all_friends(fr_info, ‘Summer’)
print()
print_all_friends(fr_info, ‘Jerry’)
실행 결과
Summer
John
Justin
Mike
May
Kim
Jerry
Tom
프로그램 15-1은 그래프에서 연결된 모든 꼭짓점을 탐색하는 알고리즘이므로 ‘그래프 탐색 알고리즘’이라고도 불립니다. 싸이월드에서는 이와 같은 그래프 탐색 알고리즘을 사용해 모든 회원의 친척을 뽑아내고 촌수 관계까지 계산하는 것입니다.
이제 이 알고리즘에 친밀도(촌수) 계산 기능까지 넣어 보겠습니다.