알고리즘

[BOJ알고리즘, C++]#28278_스택 2 BOJ 알고리즘 문제 풀이, 28278번 스택 2 문제 C++의 STL이 제공하는 stack 컨테이너를 활용하는 문제 Overview 문제 풀이 코드 #1. 문제 #2. 풀이 1. stack [자료 구조]#0_선형 자료구조 [자료 구조] #0_선형 자료구조 선형 자료구조에 대해 알아보겠습니다. Overview 개념 스택 큐 원형 큐 덱 배열 벡터 리스트 이중 연결 리스트 #0. 개념 1. 선형 자료구조? 선형 자료구조는 데이터를 일 webddevys.tistory.com [Basic C++] #64_stack [Basic C++] #64_stack C++에서 제공하는 stack 클래스에 대해 알아보겠습니다. Overview 개념 선언 멤버 함수 예제 #0. ..
[BOJ알고리즘, C++]#1967_트리의 지름 BOJ 알고리즘 문제 풀이, 1967번 문제 트리의 지름 무 방향 비순환 그래프의 지름(무 방향성 간선을 갖는 트리)을 구하는 방법에 대해 알아보겠습니다. Overview 문제 풀이 코드 #0. 문제 1. BOJ_1967번 문제 #1. 풀이 1. 트리 자료구조 [자료구조]#5_트리 [자료구조]#5_트리 트리 자료구조에 대해 알아보겠습니다. Overview 개념 이진트리 순회 이진 탐색 트리 균형 이진트리 AVL 트리 레드-블랙 트리 Map, Set 힙 #0. 개념 1. 트리? 트리는 1:n 관계의 계층 구 webddevys.tistory.com 트리 자료구조는 1:N 관계를 갖는 비 선형 연결 자료구조입니다. 트리는 노드 간 계층 구조를 가지며, 노드 간 ..
[BOJ알고리즘, C++]#1167_트리의 지름 BOJ 알고리즘 문제 풀이, 1167번 문제 트리의 지름 유 방향 비 순환 가중치 그래프(방향성을 갖는 트리)의 지름을 구하는 방법에 대해 알아보겠습니다. Overview 문제 풀이 코드 #0. 문제 1. 문제 #1. 풀이 1. 트리 자료구조 [자료구조]#5_트리 [자료구조]#5_트리 트리 자료구조에 대해 알아보겠습니다. Overview 개념 이진트리 순회 이진 탐색 트리 균형 이진트리 AVL 트리 레드-블랙 트리 Map, Set 힙 #0. 개념 1. 트리? 트리는 1:n 관계의 계층 구 webddevys.tistory.com 트리 자료구조는 1:N 관계를 갖는 비 선형 연결 자료구조입니다. 트리는 노드 간 계층 구조를 가지며, 노드 간 연결 관계를 간선으..
[BOJ알고리즘, C++]#1991_트리 순회 BOJ 알고리즘 문제 풀이, 1991번 문제 트리 순회 트리의 순회 방법에 대해 알아보겠습니다. Overview 문제 풀이 코드 #0. 문제 1. 문제 #1. 풀이 1. 트리 자료구조 [자료구조]#5_트리 [자료구조]#5_트리 트리 자료구조에 대해 알아보겠습니다. Overview 개념 이진트리 순회 이진 탐색 트리 균형 이진트리 AVL 트리 레드-블랙 트리 Map, Set 힙 #0. 개념 1. 트리? 트리는 1:n 관계의 계층 구 webddevys.tistory.com 트리 자료구조는 1:N 관계의 비 선형 연결 자료구조입니다. 트리는 노드와 간선으로 구성되며, 각 노드의 연결 관계는 간선으로 표현합니다. 2. 트리 순회 struct Node { int da..
[BOJ알고리즘, C++]#11725_트리의 부모 찾기 BOJ 알고리즘 문제 풀이, 11725번 문제 트리의 부모 찾기 트리의 탐색 방법에 대해 알아보겠습니다. Overview 문제 풀이 코드 #0. 문제 #1. 풀이 1. 트리 자료구조 [자료구조]#5_트리 [자료구조]#5_트리 트리 자료구조에 대해 알아보겠습니다. Overview 개념 이진트리 순회 이진 탐색 트리 균형 이진트리 AVL 트리 레드-블랙 트리 Map, Set 힙 #0. 개념 1. 트리? 트리는 1:n 관계의 계층 구 webddevys.tistory.com 트리는 1:N 관계의 비 선형 연결 자료구조입니다. 트리는 노드와 간선으로 구성되어, 각 노드 사이의 연결 관계는 간선으로 표현합니다. 트리 자료구조와 그래프 자료구조의 탐색 방법은 일..
· 알고리즘
[알고리즘]#6_백 트래킹 백 트래킹 알고리즘에 대해 알아보겠습니다. Overview 개념 예제 #0. 개념 1. 백 트래킹 백 트래킹 알고리즘은 문제 해결을 위해 여러 후보 해결책들을 점진적으로 탐색하며, 현재 선택한 경로가 해결책으로 이어질 수 없다고 판단되면, 이전 단계로 돌아가(백 트래킹) 다른 경로에 대한 탐색을 시도하는 방법입니다. 이처럼 백 트래킹 과정을 통해 문제의 모든 후보 해결책들을 효과적으로 탐색할 수 있습니다. 특히, 백 트래킹 알고리즘은 모든 가능한 해결책 후보를 조합적으로 탐색해야 할 때, 최고의 성능(시간, 자원)을 보여줍니다. 따라서, 백 트래킹 알고리즘은 (1) 미로 찾기, (2) 스도쿠, (3) 순열, (4) 조합, (5) N-Queens 문제, 그리고 (6) 그래프의 탐..
[BOJ알고리즘, C++]#15650_N과 M(2) BOJ 알고리즘 문제 풀이, 15650문제 N과 M(2) 조합 문제를 백 트래킹을 활용해 해결하는 방법에 대해 알아보겠습니다. Overview 문제 풀이 코드 #0. 문제 #1. 풀이 1. 백 트래킹 // 링크 조합 문제는 백 트래킹 알고리즘을 활용하는 대표적인 문제 중 하나입니다. 백 트래킹 알고리즘은 문제 해결을 위해 여러 후보 해결책들을 점진적으로 탐색하며, 현재 선택한 경로가 해결책으로 이어질 수 없다고 판단되면, 이전 단계로 돌아가 다른 경로에 대한 탐색을 시도하는 알고리즘입니다. 이를 통해, 효율적으로 문제의 모든 가능한 후보 해결책들을 탐색할 수 있습니다. 2. 조합 [확률과 통계]#2 조합, nCr [확률과 통계]#2 조합, nCr 확률과..
· 알고리즘
[알고리즘]#5_동적 계획법 동적 계획 알고리즘에 대해 알아보겠습니다. Overview 개념 예제 #0. 개념 1. 동적 계획법(Dynamic Programming) 동적 계획법은 최적화 문제를 해결하는 데 사용되는 알고리즘 디자인 기법 중 하나입니다. 동적 계획법은 입력 크기에 따라 중복되는 하위 문제를 재귀적으로 해결하고, 이 결과 값들을 기억하는 것으로 중복 계산을 피해 최적화를 수행하고 효율적으로 최적해를 찾아냅니다. 2. Memoization #include #include using namespace std; long long dp[101] = { 1, 1, }; long long Fib(int n) { if (n
· 알고리즘
[알고리즘]#4_분할-정복 알고리즘 분할-정복 알고리즘에 대해 알아보겠습니다. Overview 개념 예제 #0. 개념 1. 분할 정복 알고리즘 분할 정복 알고리즘은 먼저 전체 문제를 원래 문제와 유사하지만 크기가 더 작은 몇 개의 부분 문제로 "분할"하여 재귀적으로 해결합니다. 그리고, 분할된 부분 문제들에서 찾은 해를 결합하여 원래 문제의 해를 찾아내는 알고리즘 방법론입니다. 일반적으로, 분할-정복 알고리즘은 다음 세 가지 단계로 구성됩니다. (1) 분할 : 현재 문제를 같은 문제를 다루는 다수의 부분 문제로 분할한다.(2) 정복 : 이렇게 분할된 부분 문제들을 재귀적으로 해결합니다. 분할된 부분 문제들의 크기가 충분히 작다면(Base Case) 직접적인 방법으로 해를 찾아냅니다. (3) 결합 : 부분..
· 알고리즘
#1. 개념 1. 정렬 알고리즘 [정의] : 정렬 알고리즘은 데이터를 특정한 순서로 재배치하는 알고리즘입니다. 정렬 순서는 일반적으로 오름차순(ascending order/less) 또는 내림차순(descending order/greater)으로 정렬되며, 정렬된 데이터는 효율적인 검색, 삽입, 삭제 등의 연산을 가능케 합니다. [종류] 1. 삽입 정렬 : 배열을 순회하며, 현재 원소를 이미 정렬된 부분 배열과 비교하며 적절한 위치에 삽입 2. 선택 정렬 : 배열에서 가장 작은 원소를 선택해, 정렬되지 않은 부분의 첫 번째 원소와 교환 3. 버블 정렬 : 배열의 인접한 두 원소를 비교하여 정렬 4. 병합 정렬 : 분할-정복을 기반으로 배열을 두 부분 배열로 분할하여 정렬하고, 병합 5. 퀵 정렬 : 분할..
Hardii2
'알고리즘' 태그의 글 목록 (2 Page)