✔ 목차 정렬 알고리즘 삽입 정렬 선택 정렬 거품 정렬 퀵 정렬 합병 정렬 힙 정렬 이진 탐색 트리를 이용한 정렬 시간 복잡도 정리 🔎 정렬 알고리즘 > 정렬은 대개 분할 정복법으로 이뤄진다. 나누는 방법에 따라 시간 복잡도가 달라진다. 또한 정렬은 트리를 이용하여
✔ 목차 완전탐색이란? 단순 Brute-Force 비트마스크 재귀함수 순열 BFS / DFS 🔎 완전탐색이란? > 모든 경우의 수를 시도하여 정답을 찾는 방법이다. 무식하게 푼다는 의미로 Brute Force라고도 한다. 상대적으로 간단한 방법이지만 경우의 수가 많
✔ 목차 BFS BFS 구현 - Java DFS DFS 구현 - Java 시간복잡도 🔎 BFS 너비 우선 탐색 (BFS, Breadth-First Search) 시작 정점 방문 후 가까운 정점 우선 방문 넓게 탐색하는 방법 두 노드 사이 최단 거리, 최단 경로 구할
✔ 목차 탐욕법이란? 탐욕법 적용 조건 탐욕법 예시 🔎 탐욕법(Greedy Algorithm)이란? > Greedy는 탐욕스러운, 욕심 많은이라는 뜻이다. 뜻에서 알 수 있듯이 이 알고리즘은 탐욕스럽게 가장 좋은 것만 선택하여 해결해나간다. 탐욕법(Greedy A
이분 탐색이란?이분 탐색 방법이분 탐색 구현(Java)시간복잡도이분 탐색은 이진 탐색, Binary Search 라고도 한다. 순차적 탐색보다 빠른 탐색을 위해 나온 탐색 방법으로 실제로 이분 탐색의 시간복잡도가 순차적 탐색보다 낮다.정렬된 배열 안에서 특정 원소를 찾
✔ 목차 동적계획법(Dynamic Programming)이란? 동적계획법 예시 - 피보나치 수열 Bottom-up과 Top-down 🔎 동적계획법이란? > 동적계획법을 통해 불필요한 계산을 줄여 효율적으로 최적해를 구할 수 있다. 동적계획법(Dynamic Prog
✔ 목차 다익스트라 알고리즘이란? 다익스트라 알고리즘 과정 다익스트라 알고리즘 구현 - Java 🔎 다익스트라 알고리즘이란? > 그래프 최단 거리 구하는 알고리즘 1. 다익스트라(Dijkstra) 벨만-포드(Bellman-Frod) 플로이드-와샬(Floyd-Wras
✔ 목차 벨만-포드 알고리즘이란? 벨만-포드 알고리즘 과정 벨만-포드 알고리즘 구현 - Java 🔎 벨만-포드 알고리즘이란? > 그래프 최단 거리 구하는 알고리즘 다익스트라(Dijkstra) 2. 벨만-포드(Bellman-Frod) 플로이드-와샬(Floyd-Wras
✔ 목차 플로이드-와샬 알고리즘이란? 플로이드-와샬 알고리즘 과정 플로이드-와샬 알고리즘 구현 - Java 🔎 플로이드-와샬 알고리즘이란? > 그래프 최단 거리 구하는 알고리즘 다익스트라(Dijkstra) 벨만-포드(Bellman-Frod) 3. 플로이드-와샬(Fl
✔ 목차 유니온 파인드란? 유니온 파인드 예시 유니온 파인드 구현 - Java 🔎 유니온 파인드란? 🔎 유니온 파인드 예시 💻 유니온 파인드 구현 - Java
✔ 목차 크루스칼 알고리즘이란? 크루스칼 알고리즘 과정 프림 알고리즘 구현 - Java 🔎 크루스칼 알고리즘이란? > 최소 신장 트리 알고리즘 1. 크루스칼(Kruskal) 알고리즘 프림(Prim) 알고리즘 크루스칼(Kruskal) 알고리즘 최소 신장 트리 알고리
✔ 목차 프림 알고리즘이란? 프림 알고리즘 과정 프림 알고리즘 구현 - Java 🔎 프림 알고리즘이란? > 최소 신장 트리 알고리즘 크루스칼(Kruskal) 알고리즘 2. 프림(Prim) 알고리즘 프림(Prim) 알고리즘 최소 신장 트리 알고리즘 정점을 하나씩 늘