성장하는 개발 블로그

성장하는 개발 블로그

  • 분류 전체보기 (408) N
    • 개발 지식 (66) N
    • 백준 문제풀이 (16)
    • 프로그래머스 문제풀이 (1)
    • 독서 (35)
    • 회고 (287)
  • 홈
  • 태그
  • 방명록
  • Github
RSS 피드
로그인
로그아웃 글쓰기 관리

성장하는 개발 블로그

컨텐츠 검색

태그

코드 컴플리트 나도코딩 코드 컴플리트2 백준 주간회고 이펙티브 자바 알고리즘 코틀린 jpa 파이썬 코드컴플리트 파이썬 입문 코드숨 도커 c++ mysql Docker 클린 아키텍쳐 자바 TIL

최근글

댓글

공지사항

아카이브

다익스트라 알고리즘(1)

  • [알고리즘] 다익스트라, 벨만포드 알고리즘(Dijkstra & Bellman-ford)

    📕다익스트라 알고리즘 다익스트라 알고리즘은 가장 빠른 길을 찾을 때 주로 사용하는 알고리즘이다. 빠른 길을 찾을때 사용한다고? 그럼 BFS쓰면 되는거 아닌가? 라고 생각할 수 있다. 맞다 BFS를 사용하면 되지만 BFS를 사용하지 못하는 경우가 존재하는데 바로 비용이 존재할때이다. BFS의 경우 모든 간선의 비용이 동일해야하지만, 다익스트라는 모든 간선의 비용의 동일하지 않아도 사용가능하다. 다익스트라 알고리즘은 min_heap 우선순위큐를 사용하고, 간선을 키값으로 사용한다. 다익스트라 알고리즘에서 핵심은 e = w-> x 이다. 즉,dist[x] 1->2->3이 될 것이다. 하지만 다익스트라 알고리즘은 음수를 처리하지 못하기 때문에 각각의 간선에 음수비용의 양수값인 9를 더해준다. 그렇면 모두 9씩 ..

    2021.06.18
이전
1
다음
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바