시간 복잡도는 주어진 문제를 해결하기 위한 연산 횟수를 말한다. 일반적으로 1억 번의 연산을 1초의 시간으로 간주하여 예측한다.시간 복잡도 유형빅-오메가(Ω(n) = 1번) : 최선일 때(best case)의 연산 횟수빅-세타(Θ(n) = 2/N번) : 보통일 때(av
버블 정렬은 loop를 돌며 데이터의 인접 요소끼리 비교하고, swap 연산을 수행하면 정렬하는 방식이다. 간단하게 구현할 수 있지만, 시간 복잡도가 O(n²)으로 다른 정렬 알고리즘보다 속도가 느린 편이다.1\. 비교 연산이 필요한 루프 범위 설정2\. 인접한 데이터
깊이 우선 탐색은 그래프 완전 탐색 기법 중 하나로, 그래프의 시작 노드에서 출발하여 탐색할 한 쪽 분기를 정하여 최대 깊이까지 탐색을 마친 후 다른 쪽 분기로 이동하여 다시 탐색을 수행하는 알고리즘이다. 특징으로는 재귀 함수로 구현되며, 스택 자료구조를 이용한다. 노
그리디 알고리즘은 현재 상태에서 선택할 수 있는 선택 중 최선의 선택지가 전체 선택지 중 최선의 선택지라고 가정하는 알고리즘이다.해 선택 : 현재 상태에서 가장 최선이라고 생각되는 해를 선택적절성 검사 : 현재 선택한 해가 전체 문제의 제약 조건에 벗어나지 않는지 검사
소수를 구하는 대표적인 판별법으로 에라토스테네스의 체가 있다. 에라토스테네스의 체 원리는 다음과 같다.구하고자 하는 소수의 범위만큼 1차원 배열을 생성2 부터 시작하여 현재 숫자가 지워지지 않을 때, 현재 선택된 숫자의 배수에 해당하는 수를 배열에서 끝까지 탐색하며 지
그래프는 노드(데이터를 표현하는 단위)와 에지(노드를 연결하는 선)로 구성된 집합이다. 그래프를 구현하는 방법은 크게 세 가지가 존재한다.에지를 중심으로 그래프를 표현하는 방법이다. 배열에 출발 노드, 도착 노드를 저장하여 에지를 표현하거나 출발 노드, 도착 노드, 가