Как найти количество компонент связности графа?
Выбираете первую вершину графа, отмечаете её и все связанные с ней точки (прямо или чрез другие вершины). Получаете первую компоненту. Выбираете следующую непомеченную вершину графа, от неё получаете вторую компоненту и т.д., пока не останется непомеченных вершин.
Вот.