[알고리즘] 알고리즘을 평가하는 시간 복잡도와 빅오 표기법(Big-O)
·
Knowledge/알고리즘
알고리즘 평가 요소 1. 시간 복잡도 (Time Complexity)코드의 실행 시간이 얼마나 빠른가? 알고리즘의 수행 시간을 나타낸다.실행 시간이 빠를수록 주어진 시간 내에 더 많은 일을 할 수 있어 효율적이다. 2. 공간 복잡도 (Space Complexity)얼마나 메모리를 적게 쓰는가? 알고리즘 수행에 필요한 메모리 공간을 의미한다.실행하는 코드가 요구하는 메모리 공간이 적을수록 한번에 사용할 수 있는 여분의 공간이 더 많이 생긴다.더 적은 용량을 사용할수록 더 많은 공간을 사용할 수 있어 효율적이다. 시간복잡도와 공간복잡도는 알고리즘을 평가하는 요소로 중요하게 여기고, 그 중 시간복잡도를 더 고려한다.시간복잡도와 공간복잡도 계산을 할 땐 점근적 표기법을 이용하여 나타낸다.    점근적 표기법 (..
[알고리즘] 탐욕 알고리즘 · 탐욕법 · 그리디(Greedy)
·
Knowledge/알고리즘
탐욕법 Greedy Method 각 단계마다 최적의 방법을 찾는 알고리즘. 여러 조각으로 나누고, 단계마다 답의 한 부분을 만들어가는 방법. 탐욕이라는 이름대로 그리디 알고리즘은 다음 단계를 고려하지 않고, 현재 단계에서 최적해를 찾아낸다. 이 때문에 지역적으로 최적인 답을 찾을 때는 매우 유용하게 사용되는 알고리즘이다. 하지만 지역적 최적이 최종적으로 최적이라는 보장은 없다. 1. 문제 해결 방법 1) 선택 절차 Selection Procedure 현재 상태에서 최적인 답을 선택한다. 2) 적절성 검사 Feasibility Check 조건을 벗어나지 않는지 검사한다. 3) 해답 검사 Solution Check 문제가 해결되었는지 검사한다. 아닐 시 선택 절차로 돌아가 반복한다. 2. 정당성 증명 1) ..
[알고리즘] 깊이우선탐색(DFS) & 너비우선탐색(BFS)
·
Knowledge/알고리즘
https://rvrlo.tistory.com/entry/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%EA%B7%B8%EB%9E%98%ED%94%84Graph [자료구조] 그래프(Graph) Graph - 선형 자료구조로 표현하기 어려운 다:다 관계를 가지는 원소를 표현 G = ( V , E ) vertex 정점: 대상이나 개체 → V : 정점의 집합 edge 간선: 정점 간의 관계 → E : 간선의 집합 그래프는 정점과 rvrlo.tistory.com 그래프 탐색을 알기 위해 그래프에 대한 기본 지식이 있어야 한다. 그래프 탐색의 가장 대표적인 DFS와 BFS 깊이 우선 탐색 Depth First Search : DFS 현재 정점과 인접한 간선들을 하나씩 검사하다가 아직 방문하지..