[Algorithms] 위상 정렬 알고리즘

[Algorithms] 위상 정렬 알고리즘 안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 위상정렬 알고리즘에 대해서 정리를 해보도록 하겠습니다. 위상 정렬 알고리즘은 순서가 정해져있는 작업을 차례대로 수행해야 할 때…

[문제풀이] 사탕 상자

[문제풀이] 사탕 상자 1. 설명 사탕 상자 문제 수정이는 어린 동생을 달래기 위해서 사탕을 사용한다. 수정이는 평소에 여러 개의 사탕을 사서 사탕상자에 넣어두고, 동생이 말을…

[Algorithms] BFS, DFS 알고리즘

[Algorithms] BFS, DFS 알고리즘 안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 기본 알고리즘중 하나인 BFS, DFS 알고리즘에 대해서 정리를 해보도록 하겠습니다. 그래프의 모든 노드를 방문하는 알고리즘으로, 면접시에도…

[문제풀이] 군사도로망

[문제풀이] 군사도로망 1. 설명 군사도로망 문제 어떤 나라는 NN개의 도시로 구성되어 있다. 도시들을 연결하는 도로들이 있는데, 도로라는 것은 서로 다른 두 도시를 연결하는 기능을 하며,…

[Algorithms] LCA 알고리즘

[Algorithms] LCA 알고리즘 안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 이진트리에서 최저 공통 조상을 찾아나가는 알고리즘인 LCA(Lowest Common Ancestor) 알고리즘에 대해서 정리를 해보도록 하겠습니다. LCA 알고리즘은 최소…

[Algorithms] 세그먼트 트리

[Algorithms] 세그먼트 트리 안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 알고리즘 자료구조중 가장 많은 활용도를 보이는 세그먼트 트리에 대해서 정리를 해보도록 하겠습니다. 세그먼트 트리는 여러개의 데이터가 연속적으로…

[Algorithms] 벨만-포드 알고리즘

[Algorithms] 벨만-포드 알고리즘 안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 최단거리 알고리즘중 음의 가중치도 계산이 가능한 벨만-포드 알고리즘에 대해서 정리를 해보도록 하겠습니다. 다익스트라보다 시간 복잡도가 높기에 어떤…

[Algorithms] 우선순위 큐 다익스트라

[Algorithms] 우선순위 큐 다익스트라 안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 최단거리 알고리즘인 다익스트라에 대해서 정리를 해보려고 합니다. 1. 다익스트라 기본 개념 다익스트라 알고리즘은 너비우선탐색(BFS)를 기본으로 합니다.…

[Algorithms] Heap, Priority Queue

[Algorithms] Heap, Priority Queue 안녕하세요? 정리하는 개발자 워니즈입니다. 이번시간에는 우선순위 큐에 대해서 정리하는 시간을 갖어 보겠습니다. 지난 시간에 이어서 자료구조중 하나로 알고리즘에서 많이 활용되는 형태입니다.…

[Algorithms] Stack, Deque, ArrayList, LinkedList

[Algorithms] Stack, Deque, ArrayList, LinkedList 안녕하세요. 정리하는 개발자 워니즈입니다. 이번시간에는 알고리즘을 공부하면서, 필수적으로 알아야될 내용인 자료 구조에 대해서 정리를 해보고자 합니다. 단순한 자바프로그램에서는 데이터를 관리하고…