Algorithm2024. 11. 20. 15:53[알고리즘] 다익스트라 (그래프 최단 경로)

그래프에서 최단 경로란?특정 A 노드에서 B 노드로 이동하려할때 A에서 B로가는 여러가지의 경로가 존재 한다면 그중에서 거리가 가장 짧은 경로를 최단 경로라고 한다.그래프에서 거리가 짧다는 것은 간선에 가중치가 없다면 간선이 최소인 경로, 가중치가 있다면 그래프에 음수 사이클이 없을 경우 경로의 가중치의 합이 최소를 의미한다. 다익스트라특정 정점에서 갈 수 있는 모든 정점들까지의 최단 경로를 구하는 알고리즘우선순위 큐를 사용가중치가 음수인 간선이 없는 가중 그래프에서 사용O(ElogV) 알고리즘 과정출발 노드의 거리를 0으로 설정하고, 다른 모든 노드의 거리를 무한대(∞)로 초기화한다.현재 위치한 노드의 인접 노드 중 방문하지 않은 노드를 찾아서 그 중 거리가 가장 짧은 노드를 선택하고 그 노드를 방문 ..

[알고리즘] 소수 구하기 (에라토스테네스의 체, 증명)
Algorithm2024. 11. 7. 21:15[알고리즘] 소수 구하기 (에라토스테네스의 체, 증명)

소수 개념 정의 소수1과 자기 자신 이외에는 나누어 떨어지지 않는 자연수이다약수어떤 수를 나누어 떨어지게 만드는 수를 그 수의 약수라고 한다.예를 들면, 6의 약수는 1, 2, 3, 6이다.합성수1과 자기 자신 외에도 다른 약수를 갖는 자연수를 말한다.합성수는 항상 두 개 이상의 약수를 가지므로, 소수와 대조된다.예를 들면, 4, 6, 8 ... 등은 모두 합성수이다.   소수 판별 알고리즘 코드 public static boolean isPrime(int number) { // 1은 소수가 아니다 if (number==1) return false; // √number 까지 반복 for(int i=2; i 소수 판별 알고리즘을 검색하면 자주 나오는 시간복잡도 O(√n) 인 코드이..

반응형
image