총 7개
-
[컴퓨터과학과]알고리즘_출석수업과제물2025.01.251. 오일러 경로 오일러 경로(Eulerian Trail)는 그래프에 존재하는 모든 간선을 정확히 한 번씩 방문하는 연속된 경로를 의미합니다. 각 정점의 차수가 홀수인 정점이 0개 혹은 2개 이어야 하며, 홀수점이 2개일 경우에는 홀수점에서 시작해야 합니다. 2. 배낭 문제 배낭의 용량을 초과하지 않는 범위 내에서 배낭에 들어있는 물체들의 이익의 합이 최대가 되도록 물체를 넣는 문제입니다. 물체를 쪼개서 넣을 수 있으며, 단위 무게당 이익이 가장 큰 물체부터 최대한 넣는 과정을 반복하여 해결할 수 있습니다. 3. 이진 탐색 이진 탐...2025.01.25
-
[A+레포트] 검색 알고리즘 유형을 정리하고 이진탐색(검색)알고리즘에 대해 설명하시오.2025.01.131. 검색 알고리즘 유형 검색 알고리즘은 크게 선형 검색, 이진 검색, 해시 기반 검색, 그래프 기반 검색 알고리즘으로 분류할 수 있다. 각 알고리즘은 데이터의 구조, 양, 검색 대상의 특성에 따라 선택되며, 시간 복잡도와 공간 복잡도 측면에서 평가된다. 효율적인 검색 알고리즘은 대규모 데이터 집합을 빠르게 처리하고 적은 자원을 사용하여 정보를 검색한다. 2. 이진탐색 알고리즘 이진탐색 알고리즘은 정렬된 데이터 집합에서 특정 값을 효율적으로 찾는 방법이다. 이 알고리즘은 분할 정복 전략을 사용하여 검색 범위를 절반씩 줄여나가며, 시...2025.01.13
-
데이터 구조 및 알고리즘: 이진 탐색, 인접행렬, 인접리스트2025.11.151. 이진 탐색 이진 탐색은 정렬된 배열에서 특정 값을 효율적으로 찾는 검색 알고리즘입니다. 분할 정복 전략을 활용하여 탐색 범위를 반으로 줄이면서 목표값을 찾습니다. 시작점, 중간점, 종료점을 기준으로 중간값을 검사하여 범위를 조정합니다. 예를 들어 배열 [10, 24, 31, 45, 59, 63, 72, 88, 95]에서 63을 찾을 때, 중간값 45와 비교하여 오른쪽 범위로 조정하고, 다시 72와 비교하여 왼쪽 범위로 조정한 후 63을 찾습니다. 대규모 데이터셋에서 검색 작업의 효율성을 크게 증대시킵니다. 2. 인접행렬 인접행...2025.11.15
-
방통대 알고리즘 출석과제물2025.01.241. 빅오 함수 입력 크기 n에 대한 빅오 함수들을 성능 관점에서 가장 나쁜 것부터 차례대로 나열하면 O(2^n) -> O(n^3) -> O(n^2) -> O(nlogn) -> O(n) -> O(logn) -> O(1)이다. 수행시간에 비례한 효율성을 고려할 경우 n의 값이 증가하면 연산 시간도 증가하며, 뚜렷한 차이를 보인다. 따라서 시간 복잡도 함수식의 결과로 수행시간의 효율성을 증명할 수 있다. 2. 이진 탐색 이진 탐색의 점화식은 T(n) = O(1)일 때 n=1, T(n/2) + O(1)일 때 n>=2이며, 폐쇄형은 T(n...2025.01.24
-
데이터 탐색 방법 선택을 위한 정렬 여부 확인2025.05.081. 순차 탐색 순차 탐색은 데이터 배열의 처음부터 끝까지 비교하며 탐색하는 방법으로, n개의 데이터에 대해 평균 (n+1)/2의 탐색이 필요하며 최악의 경우 n번의 비교가 필요하다. 2. 이진 탐색 이진 탐색은 정렬된 데이터에 대하여 배열의 중간값을 기준으로 계속 자르는 방식으로 탐색을 진행하며, n개의 데이터에 대해 최대 log₂n의 비교가 필요하다. 3. 데이터 정렬 여부 확인 순차 탐색을 진행할 때는 데이터 정렬 여부가 필요 없지만, 이진 탐색을 할 때는 배열이 정렬되어 있는지 확인하는 것이 가장 중요하다. 데이터의 규모에 ...2025.05.08
-
재귀적 성질과 재귀적 알고리즘의 특징2025.01.281. 재귀적 알고리즘의 개념 재귀적 알고리즘은 자기 자신을 반복적으로 호출하여 문제를 해결하는 알고리즘을 말한다. 이는 기본적으로 하나의 큰 문제를 여러 개의 작은 문제로 나누고, 이 작은 문제들을 해결하면서 최종적인 답을 도출하는 구조를 가진다. 재귀 알고리즘의 기본 구조는 기저 조건(Base case)과 재귀 단계(Recursive step)로 구성된다. 2. 재귀적 알고리즘과 비재귀적 알고리즘의 차이점 재귀적 알고리즘은 문제를 직관적이고 간결하게 표현할 수 있지만, 재귀 호출이 반복되면서 스택 메모리를 사용하므로 문제의 크기가...2025.01.28
-
분할 정복 알고리즘 연습문제 및 해결방법2025.12.131. 분할 정복 알고리즘의 기본 개념 분할 정복 알고리즘은 주어진 문제의 입력을 부분문제들로 분할하여 해결하고 그 해를 취합하는 방식이다. 분할 정복이 부적절한 경우는 입력이 분할될 때마다 부분문제들의 크기의 합이 분할되기 전의 크기보다 커지는 경우이다. 합병 정렬에서 2개의 정렬된 부분을 정렬하는 것은 정복 과정이며, 퀵 정렬에서는 피봇으로 분할하여 부분문제가 만들어진다. 2. 정렬 알고리즘의 시간복잡도 분석 합병 정렬은 입력과 같은 크기의 보조 배열이 필요하며 O(nlogn) 시간복잡도를 가진다. 퀵 정렬은 평균 시간복잡도는 O...2025.12.13