[알고리즘] 탐색 알고리즘 기본적인 이해와 구현 - 7. 너비 우선 탐색
·
알고리즘 및 자료구조/알고리즘
선형 탐색 (Linear Search)이진 탐색 (Binary Search)점프 탐색 (Jump Search)보간 탐색 (Interpolation Search)지수 탐색 (Exponential Search)깊이 우선 탐색 (Depth-First Search, DFS)너비 우선 탐색 (Breadth-First Search, BFS)  너비 우선 탐색너비 우선 탐색은 트리나 그래프에서 시작 노드에서 가까운 노드부터 순차적으로 탐색하는 방식입니다. 이 방법은 한 노드에서 출발하여 인접한 모든 노드를 탐색한 후, 점차 멀리 있는 노드를 탐색하는 방식으로 진행됩니다. BFS는 주로 큐를 사용해 구현하며, 최단 경로 찾기 문제에 유용합니다. 1. 특징큐 기반: BFS는 큐 자료구조를 이용하여 구현되며, 큐에 의해 ..
[알고리즘] 탐색 알고리즘 기본적인 이해와 구현 - 6. 깊이 우선 탐색
·
알고리즘 및 자료구조/알고리즘
선형 탐색 (Linear Search)이진 탐색 (Binary Search)점프 탐색 (Jump Search)보간 탐색 (Interpolation Search)지수 탐색 (Exponential Search)깊이 우선 탐색 (Depth-First Search, DFS)너비 우선 탐색 (Breadth-First Search, BFS)  깊이 우선 탐색깊이 우선 탐색은 트리나 그래프에서 출발 노드에서 시작하여 최대한 깊이 탐색한 뒤, 더 이상 갈 수 없는 노드로부터 거슬러 올라와 탐색을 이어가는 방식입니다. DFS는 순환 구조(재귀)나 명시적 스택을 사용하여 구현할 수 있습니다. DFS는 그래프에서 경로를 찾거나 사이클 여부를 확인하는 데 유용하게 사용됩니다. 1. 특징깊이 우선: 이름처럼 한 경로를 따라 최..
[알고리즘] 탐색 알고리즘 기본적인 이해와 구현 - 5. 지수 탐색
·
알고리즘 및 자료구조/알고리즘
선형 탐색 (Linear Search)이진 탐색 (Binary Search)점프 탐색 (Jump Search)보간 탐색 (Interpolation Search)지수 탐색 (Exponential Search)깊이 우선 탐색 (Depth-First Search, DFS)너비 우선 탐색 (Breadth-First Search, BFS)  지수 탐색지수 탐색은 정렬된 배열에서 요소를 빠르게 찾기 위해 사용하는 탐색 알고리즘으로, 이진 탐색과 함께 사용됩니다. 특히, 탐색 범위를 알 수 없는 배열이나 크기가 큰 정렬된 리스트에서 효율적입니다. 탐색할 값의 예상 위치에 빠르게 접근한 후, 이진 탐색을 통해 정확한 위치를 찾는 방식으로 작동합니다. 1. 특징이진 탐색을 기반으로 한 빠른 탐색: 지수적으로 증가하는 간..
[알고리즘] 탐색 알고리즘 기본적인 이해와 구현 - 4. 보간 탐색
·
알고리즘 및 자료구조/알고리즘
선형 탐색 (Linear Search)이진 탐색 (Binary Search)점프 탐색 (Jump Search)보간 탐색 (Interpolation Search)지수 탐색 (Exponential Search)깊이 우선 탐색 (Depth-First Search, DFS)너비 우선 탐색 (Breadth-First Search, BFS)  보간 탐색보간 탐색은 데이터가 균일하게 분포된 정렬된 배열에서 빠르게 값을 찾기 위한 탐색 알고리즘입니다. 이진 탐색과 유사하지만, 중간 위치 대신 실제 값에 근거한 예상 위치를 탐색하는 방식입니다. 특히, 큰 데이터셋에서 키 값의 분포가 균일한 경우 유용합니다. 1. 특징예상 위치 기반 탐색: 보간 탐색은 찾으려는 값이 어디에 위치할지 추정하여 해당 위치부터 탐색을 시작합니..
[알고리즘] 탐색 알고리즘 기본적인 이해와 구현 - 3. 점프 탐색
·
알고리즘 및 자료구조/알고리즘
선형 탐색 (Linear Search)이진 탐색 (Binary Search)점프 탐색 (Jump Search)보간 탐색 (Interpolation Search)지수 탐색 (Exponential Search)깊이 우선 탐색 (Depth-First Search, DFS)너비 우선 탐색 (Breadth-First Search, BFS)  점프 탐색점프 탐색은 정렬된 배열에서 원하는 값을 찾기 위해 고안된 알고리즘으로, 데이터의 특정 구간을 건너뛰며 탐색하여 효율성을 높입니다. 이진 탐색보다 비교 횟수가 적으며, 특히 매우 큰 배열에서 유용하게 사용됩니다. 1. 특징구간 탐색: 탐색 과정에서 배열을 작은 블록 단위로 나누고, 일정한 크기로 건너뛰며 목표값을 찾습니다.정렬된 데이터 필요: 점프 탐색은 데이터가 오..
[알고리즘] 탐색 알고리즘 기본적인 이해와 구현 - 2. 이진 탐색
·
알고리즘 및 자료구조/알고리즘
선형 탐색 (Linear Search)이진 탐색 (Binary Search)점프 탐색 (Jump Search)보간 탐색 (Interpolation Search)지수 탐색 (Exponential Search)깊이 우선 탐색 (Depth-First Search, DFS)너비 우선 탐색 (Breadth-First Search, BFS)  이진 탐색이진 탐색은 정렬된 배열이나 리스트에서 원하는 값을 효율적으로 찾기 위해 사용하는 알고리즘입니다. 배열을 절반씩 나누어 탐색 대상을 좁혀가며 빠르게 원하는 값을 찾을 수 있으며, 특히 대규모 데이터셋에서 유용합니다. 1. 특징분할 정복 방식: 탐색 범위를 계속해서 절반으로 줄여 나가는 방식입니다. 매번 중간 값을 기준으로 탐색 범위를 좁혀가므로 탐색 속도가 빠릅니다...
[알고리즘] 탐색 알고리즘 기본적인 이해와 구현 - 1. 선형 탐색
·
알고리즘 및 자료구조/알고리즘
선형 탐색 (Linear Search)이진 탐색 (Binary Search)점프 탐색 (Jump Search)보간 탐색 (Interpolation Search)지수 탐색 (Exponential Search)깊이 우선 탐색 (Depth-First Search, DFS)너비 우선 탐색 (Breadth-First Search, BFS)  선형 탐색선형 탐색은 탐색 알고리즘 중 가장 간단한 형태로, 배열이나 리스트 등의 자료구조에서 원하는 값을 찾을 때 처음부터 끝까지 순차적으로 비교하면서 찾는 방식입니다. 다른 복잡한 알고리즘에 비해 구현이 쉽고 직관적이어서 소규모 데이터셋에서 자주 사용됩니다. 1. 특징순차적 탐색: 시작 위치에서 끝까지 모든 요소를 순서대로 탐색하므로, 값이 배열의 앞에 있든 끝에 있든 일..
[알고리즘] 동적계획법 DP Java 예제
·
알고리즘 및 자료구조/알고리즘
동적계획법 DP(Dynamic Programming)이란 프로그램의 실행에 필요한 메모리를 할당하는 기법을 의미합니다.동적계획법 DP 의 예제 중 가장 유명한 피보나치수열을 예로 들어보겠습니다.1. 재귀 코드public class Fibonacci { public static void main(String[] args) { int n = 10; // 피보나치 수열의 항 번호 for (int i = 1; i 위와 같이 재귀 함수를 이용하면 같은 함수를 중복 호출하기 때문에 시간복잡도 O(2^n)을 갖게 됩니다.  2. DP 코드public class FibonacciDP { public static void main(String[] args) { int n ..
제로빈
'알고리즘 및 자료구조' 카테고리의 글 목록