3eung_h10n.log
로그인
3eung_h10n.log
로그인
알고리즘 - 9(Graph Algorithm)
박승현
·
2023년 11월 21일
팔로우
0
0
DFS, BFS
알고리즘
목록 보기
9/10
directed, undirectd
undirected(방형성이 없음)
보통 일반적인 그래프
V 2개에 E 1개
각각을 집합으로 표현 {}
directed(방향성이 있음)
엣지를 집합으로 표현하지 않았음 ()
특성
complte 그래프
모든 V쌍에 대해 엣지가 다 연결됨
V가 n개면 E는 n(n-1)/2개
인접
v,w를 잇는 엣지가 있으면 v,w는 인접하다고 할 수 있고 vAw로 표시한다(adjacency)
경로 Path
중간 경로가 distinct(중복이 없는)한 엣지의 집합
connected
그래프 내에서 어떤 두 V를 잡더라도 경로가 존재해야 connected하다고 함
cycle
시작과 끝 V가 같은 경로
acyclic -> 사이클이 없는 것
tree구조는 acyclic하면서 connected함
분할
그래프가 connected하지 않으면 여러개의 서브 그래프로 분할 할 수 있음
분할할때는 서브그래프가 최대로 connected하게 해야함
이건 3개로 분할가능
weight
엣지에 가중치를 부여 가능
그래프의 저장
그래프의 관계를 저장하는 방법
undirected 그래프는 대칭적인 매트릭스로 표현됨
linked list로도 가능
계속 연결시키는건 아니고
연결된 노드를 다 연결시킨 것
Weighted Diagram
linked list에 필드 1개를 추가
DFS, BFS
bfs는 큐를 사용(iterative)
dfs는 스택(iterative), 재귀 둘다 가능
ABFEIGCH는 스택사용의 결과
DFS로 tree를 만들 수 있음
만약 undirected그래프면 cross, descendant엣지가 없음
Biconnected component
articulation point : 제거하면 connected하지 않게 되는 지점
바이커넥티드는 articulation point가 없는 그래프
a에서 articulation point는 f,e,b임
박승현
KMU SW
팔로우
이전 포스트
알고리즘 - 8(Union-Find)
다음 포스트
알고리즘 - 10(String Matching)
0개의 댓글
댓글 작성
관련 채용 정보
프렌트립(프립)
백엔드 개발자
프렌트립은 국내 최대 호스트 기반의 취미 여가 플랫폼 프립(FRIP)을 운영하며, 창의적인 백엔드 개발자를 찾고 있습니다. GraphQL API 개발 및 신규 서비스에 참여할 기회를 통해 즐거운 일터 문화를 경험해보세요.
아이샵케어
Full Stack Developer (Node.js) (풀스택 개발자)
아이샵케어는 자영업자를 위한 결제 솔루션을 제공하며, 효율적이고 사용자 친화적인 제품 개발을 위해 Typescript, Node.js 등을 사용하여 다양한 자동화 작업을 수행합니다. 고객과의 소통을 통해 지속 가능한 플랫폼을 구축하고 나아가 비즈니스 영역을 확장해 나가는 역동적인 환경에서 성장할 기회를 제공합니다.
캔랩코리아
[일레븐플러스] Backend Developer (Node.js)
일레븐플러스는 전 세계 축구 팬들을 연결하는 혁신적인 커뮤니티 플랫폼으로, 축구의 새로운 즐길 거리를 제공합니다. Node.js를 활용한 백엔드 개발 경험이 있으시다면, 다양한 커뮤니티 기능과 안정적 서비스를 설계하고 구축하는 기회를 찾으실 수 있습니다.