Ch.17 그래프로 뭐든지 연결하기 (도서 요약 "누구나 자료구조와 알고리즘")
친구를 맺어주는 소셜 네트워크를 만들어보자. 철수가 영희의 친구라면, 영희 역시 철수의 친구다. 이처럼 친구 관계는 서로 상호적이다. 이러한 데이터를 조직할 수 있는 간단한 방법은 '2차원 배열'로 리스트를 저장하는 것이다. String[][] friendShips = { {"Alice", "Bob"}, {"Bob", "Cynthia"}, {"Cynthia", "Diana"}, {"Diana", "Bob"}, {"Elise", "Fred"}, {"Fred", "Alice"} } 하지만 이 방식으로는 'Alice'의 친구가 누구인지 빠르게 알 수 없다. 컴퓨터는 목록 내 관계를 일일이 확인해야만 친구 관계를 알 수 있다. 이것은 O(N)이 걸리는 매우 느린 방법이다. '그래프(graph)'라는 자료 구조를..