2020 WONIZZ.LOG 안녕하세요? 정리하는 개발자 워니즈입니다. 2020년을 마무리하는 마지막날입니다. 1년의 마지막날은 WONIZZ.LOG를 기록해두며, 한 해동안 워니즈는 어떻게 살았는지 그리고 앞으로는 무엇을 할것인가에 대한 고민을 기억하기…
[Algorithms] BFS, DFS 알고리즘 안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 기본 알고리즘중 하나인 BFS, DFS 알고리즘에 대해서 정리를 해보도록 하겠습니다. 그래프의 모든 노드를 방문하는 알고리즘으로, 면접시에도…
[문제풀이] 군사도로망 1. 설명 군사도로망 문제 어떤 나라는 NN개의 도시로 구성되어 있다. 도시들을 연결하는 도로들이 있는데, 도로라는 것은 서로 다른 두 도시를 연결하는 기능을 하며,…
[Algorithms] LCA 알고리즘 안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 이진트리에서 최저 공통 조상을 찾아나가는 알고리즘인 LCA(Lowest Common Ancestor) 알고리즘에 대해서 정리를 해보도록 하겠습니다. LCA 알고리즘은 최소…
[Algorithms] 세그먼트 트리 안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 알고리즘 자료구조중 가장 많은 활용도를 보이는 세그먼트 트리에 대해서 정리를 해보도록 하겠습니다. 세그먼트 트리는 여러개의 데이터가 연속적으로…
[Algorithms] 벨만-포드 알고리즘 안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 최단거리 알고리즘중 음의 가중치도 계산이 가능한 벨만-포드 알고리즘에 대해서 정리를 해보도록 하겠습니다. 다익스트라보다 시간 복잡도가 높기에 어떤…
[Algorithms] 우선순위 큐 다익스트라 안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 최단거리 알고리즘인 다익스트라에 대해서 정리를 해보려고 합니다. 1. 다익스트라 기본 개념 다익스트라 알고리즘은 너비우선탐색(BFS)를 기본으로 합니다.…
[Algorithms] Heap, Priority Queue 안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 우선순위 큐에 대해서 정리하는 시간을 갖어 보겠습니다. 지난 시간에 이어서 자료구조중 하나로 알고리즘에서 많이 활용되는 형태입니다.…
[Algorithms] Stack, Deque, ArrayList, LinkedList 안녕하세요. 정리하는 개발자 워니즈입니다. 이번시간에는 알고리즘을 공부하면서, 필수적으로 알아야될 내용인 자료 구조에 대해서 정리를 해보고자 합니다. 단순한 자바프로그램에서는 데이터를 관리하고…
그래프의 모든 노드를 포함하고, 모든 노드가 서로 연결되어 있으면서 트리(Tree)의 속성을 만족하는 그래프를 가리킵니다. 예를들어 하단 좌측과 같은 원 그래프의 스패닝 트리는 하단 우측과 같이 총 8개의 스패닝 트리들을 가질 수 있습니다.