뭐라도 끄적이는 BLOG

Algorithm 본문

기본이론/Algorithm

Algorithm

Drawhale 2023. 6. 18. 14:20

Algorithm은 문제 해결 방법을 정의한 단계적 절차이다. 계산을 실행하기 위한 단계적 절차를 의미하기도 한다. 즉, 문제 풀이에 필요한 계산 절차 또는 처리 과정의 순서를 말한다. 이러한 알고리즘은 달성하고자 하는 목표에 따라 단순할 수도 있고 복잡할 수도 있다.

알고리즘 유형

  • Brute Force Algorithm(무차별 대입 알고리즘): 문제에 대한 가장 간단한 접근 방식으로 문제를 발견했을 때 가장 먼저 시도하는 접근 방식이다. 무차별 대입 알고리즘은 주어진 문제에 대해 가능한 모든 방법 또는 가능한 모든 해결책을 열거하는 직관적이고 직접적이며 간단한 문제 해결 기법이다.
  • Recursibe Algorithm(재귀 알고리즘): 함수가 직접 또는 간접적으로 자신을 호출하는 과정을 재귀라고 하며 해당 함수를 재귀 함수라고 한다. 재귀는 자신의 복사본을 호출하여 원래 문제의 작은 하위 문제를 해결하여 특정 문제를 해결한다.
  • Backtracking Algorithm(백트레킹 알고리즘): 백트레킹 알고리즘은 한 번에 하나씩 점진적으로 문제를 해결하며 어느 순간 문제의 제약 조건을 충족하지 못하는 경우를 제거하며 문제를 해결하는 기법이다.
  • Searching Algorithm(검색 알고리즘): 검색 알고리즘은 특정 데이터 구조에서 요소 또는 요소 그룹을 검색하는 데 사용되는 알고리즘이다. 접근 방식이나 요소를 찾아야 하는 데이터 구조에 따라 다양한 유형이 있을 수 있다.
  • Sorting Algorithm(정렬 알고리즘): 정렬은 요구 사항에 따라 특정 방식으로 데이터 그룹을 정렬하는 것이다. 이 기능을 수행하는 데 도움이 되는 알고리즘을 정렬 알고리즘이라고 한다. 일반적으로 정렬 알고리즘은 데이터 그룹을 증가(오름차순) 또는 감소(내림차순)하는 방식으로 정렬하는 데 사용된다.
  • Hashing Algorithm(해싱 알고리즘): 해싱 알고리즘은 검색 알고리즘과 유사하게 작동한다. 하지만 키 ID가 있는 인덱스가 포함되어 있다. 해싱에서는 특정 데이터에 키가 할당된다.
  • Divide and Conquer Algorithm(분할 및 정복 알고리즘): 이 알고리즘은 문제를 하위 문제로 나누고, 하나의 하위 문제를 해결한 다음, 해결책을 병합하여 최종 해결방법을 얻는다. 다음 세 단계로 구성된다:
    1. 나누기
    2. Solve
    3. 결합
  • Greedy Algorithm(그리디 알고리즘): 그리디 알고리즘은 해결방법이 부분적으로 구축된다. 항상 가장 확실하고 즉각적인 이점을 제공하는 해결방법을 선택하는 방법으로 알고리즘을 구축한다.
  • Dynamic Programming Algorithm(동적 프로그래밍 알고리즘): 이 알고리즘은 문제의 동일한 부분을 반복적으로 계산하지 않기 위해 이미 찾은 해를 사용하는 개념을 사용한다. 문제를 겹치는 작은 하위 문제로 나누어 해결한다.
  • Randomized Algorithm(무작위 알고리즘): 무작위 알고리즘에서는 난수를 사용하므로 즉각적인 이점을 제공한다. 난수는 예상 결과를 결정하는 데 도움이 된다.

 

 

Algorithms - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

반응형

'기본이론 > Algorithm' 카테고리의 다른 글

Dijkstra Java Code  (0) 2023.07.23
Sort - QuickSort vs MergeSort  (0) 2023.06.18
Sort - MergeSort  (0) 2023.06.18
Sort - QuickSort  (0) 2023.06.18