ps(2)
-
다익스트라 알고리즘(Dijkstra Algorithm)
다익스트라 알고리즘(Dijkstra Algorithm)은 저명한 컴퓨터 과학자인 에르허츠 다익스트라(Edsger Wybe Dijkstra)가 고안한 간선(Edge)에 가중치가 주어진 그래프에서 정점(Vertex)간의 최단 경로를 찾는 알고리즘입니다. 최단 경로 알고리즘에는 여러 종류가 있지만, 그중에서도 다익스트라 알고리즘은 하나의 정점에 대한 모든 정점의 최단 경로를 찾는데 사용됩니다. 단, 가중치가 음수인 간선이 있으면 사용할 수 없습니다. 처음에 에르허츠 다익스트라가 고안한 다익스트라 알고리즘의 시간복잡도는 정점의 갯수를 V, 간선의 갯수를 E라고 했을 때, O(V2)였으나, 우선순위 큐(Priority Queue)등을 접목해 그 비용이 O(E+VlogV)까지 개선되었습니다. 다..
2020.03.22 -
첫 코드포스 도전 후기
저는 소프트웨어학과를 올해(2019) 입학한 학부 신입생입니다. 그리고 소프트웨어학과는 프로그래밍을 배웁니다. 프로그래밍을 배우는 과정에서 개발자 커뮤니티나 동기, 선배 등 제가 가야 할 길을 미리 거쳐간 많은 사람들의 조언을 들을 수 있었는데, 그들이 입을 모아 말하는 것이 한 가지가 있습니다. 문제를 많이 풀어봐라. 고등학생때 비록 잘하지는 못했지만 수학이라는 학문을 공부한 경험으로 왜 하나같이 입을 모아 이런 말을 하는지 알 수 있었습니다. 어떤 학문에 있어서 그 법칙과 개념들은 객관적인 것들입니다. 그러한 것들은 우리가 공부를 통해 받아들일 수 있습니다. 하지만 그러한 법칙과 개념들을 응용하는 것은 그저 그것을 알게 되는 것과는 전혀 다른 차원의 문제입니다. 여기서 프로그래밍 선배들이 해주신 조언..
2019.11.25