알고리즘 코딩테스트 핵심이론 강의 - 그래프

이승민·2023년 6월 9일
0

알고리즘 공부

목록 보기
19/33

https://www.youtube.com/watch?v=MOZUzB8w2LA&list=PLFgS-xIWwNVX-zm4m6suWC9d7Ua9z7fuT&index=28

📌 그래프

  • 노드와 에지로 구성된 집합
    * 노드 : 데이터를 표현하는 단위
    * 에지 : 노드를 연결

◾ 유니온 파인드

  • 그래프의 사이클이 생성되는지 판별하는 알고리즘

◾ 위상 정렬

  • 사이클이 없고 방향이 있는 그래프의 노드를 정렬 해주는 알고리즘
  • 정렬 결과가 꼭 1개가 아님 (값이 유일하지 않음.)
  • 사용 예시
    수강 신청 (전후 관계가 있어야 함 ex. 수1 들은 후 수2 듣는다.)

◾ 다익스트라

  • 최단거리 알고리즘
  • 시작점(S)이 있고 시작점에서 다른 모든 노드로 가는 최단거리를 구함
  • 선 제약 사항 : 음수 간선은 있어서는 안됨.

◾ 벨만-포드

  • 최단거리 알고리즘
    시작점(S)이 있고 시작점에서 다른 모든 노드로 가는 최단거리를 구하는 알고리즘
    음수 간선 사용 가능
  • 사용 예시
    음수 사이클이 있는지를 체크하는 문제에서 많이 사용
    시간 여행 (과거로 돌아갈 수 있는지), 웜홀(워프) 등

◾ 플로드-워셜

  • 최단거리 알고리즘
  • 시작점이 없음. 모든 노드에 대해 최단거리를 구함.
    단 , 시간 복잡도가 안좋다.
  • 사용 예시
    모든 도시 간 최단거리를 구해라. 단, 도시의 개수는 100개이다 (도시 수가 작아 시간복잡도 상관x)
    모든 도시를 가는데 필요한 최단거리를 구하시오 (시작점이 없음)

◾ 최소 신장 트리(MST)

  • 최소의 가중치 합으로 모든 노드를 연결 할 수 있게 해주는 알고리즘
  • 사이클이 있어서는 안됨 → 유니온 파인드 사용
  • 사용 예시
    최소의 비용으로 간선을 써서 모든 노드를 연결하고 싶을 때

0개의 댓글

관련 채용 정보