총 33개
-
방통대 알고리즘 출석과제물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
-
2023년 1학기 알고리즘 출석수업 만점 받은 과제물2025.01.241. 이진 탐색 이진 탐색은 정렬된 상태의 데이터 중 원하는 값을 탐색하는 알고리즘이다. 이진 탐색은 먼저 주어진 데이터 중 중앙값이 목표 값과 일치하는 지 비교한다. 그리고 데이터가 정렬되어 있음을 이용해, 중앙값이 목표 값보다 작다면 중앙값보다 큰 값을 지니는 쪽, 중앙값이 목표 값보다 크다면 중앙값보다 작은 값을 지니는 쪽에 대해 다시 중앙값과 목표 값을 비교하며 데이터를 절반씩 줄여가는 과정을 반복하며 원하는 값을 찾는다. 2. 퀵 정렬 퀵 정렬은 데이터 중 하나의 값을 피벗으로 뽑고 데이터를 그 값보다 큰 쪽과 작은 쪽으로...2025.01.24
-
[A+레포트] 검색 알고리즘 유형을 정리하고 이진탐색(검색)알고리즘에 대해 설명하시오.2025.01.131. 검색 알고리즘 유형 검색 알고리즘은 크게 선형 검색, 이진 검색, 해시 기반 검색, 그래프 기반 검색 알고리즘으로 분류할 수 있다. 각 알고리즘은 데이터의 구조, 양, 검색 대상의 특성에 따라 선택되며, 시간 복잡도와 공간 복잡도 측면에서 평가된다. 효율적인 검색 알고리즘은 대규모 데이터 집합을 빠르게 처리하고 적은 자원을 사용하여 정보를 검색한다. 2. 이진탐색 알고리즘 이진탐색 알고리즘은 정렬된 데이터 집합에서 특정 값을 효율적으로 찾는 방법이다. 이 알고리즘은 분할 정복 전략을 사용하여 검색 범위를 절반씩 줄여나가며, 시...2025.01.13
-
정렬 알고리즘: 선택, 버블, 퀵, 병합 정렬 비교2025.11.141. 선택 정렬 선택 정렬은 데이터 집합에서 최소값을 선택하여 올바른 위치에 배치하는 알고리즘입니다. 전체 데이터 집합의 길이만큼 반복되며 각 반복마다 하나의 요소가 정렬됩니다. 교환 횟수는 데이터 길이에 비례하지만 비교 횟수는 길이의 제곱에 비례하여 큰 데이터 세트에서 비효율적입니다. 또한 안정적이지 않아 동일한 값의 요소 순서가 바뀔 수 있습니다. 2. 버블 정렬 버블 정렬은 인접한 두 요소를 비교하여 필요시 위치를 교환하는 알고리즘입니다. 각 반복마다 가장 큰 값이 거품처럼 올라가 올바른 위치에 배치됩니다. 구현이 간단하여 초...2025.11.14
-
데구알 과제1 행렬곱 시간복잡도 분석2025.05.131. 행렬곱 시간복잡도 분석 이 프레젠테이션에서는 행렬곱 연산의 시간복잡도를 분석하였습니다. 먼저 for loop를 이용한 프로그래밍 방식에서는 3개의 for문이 사용되어 Θ(n^3)의 시간복잡도가 발생합니다. 그리고 recursive 행렬곱 방식에서는 행렬을 분할하여 재귀적으로 계산하는데, 이 경우 시간복잡도는 Θ(n^3)으로 나타납니다. 이를 통해 행렬곱 연산의 시간복잡도는 O(n^3)임을 알 수 있습니다. 1. 행렬곱 시간복잡도 분석 행렬곱은 선형대수학에서 매우 중요한 연산 중 하나입니다. 행렬곱의 시간복잡도를 분석하는 것은 ...2025.05.13
-
정렬 알고리즘 중 선택 정렬, 버블 정렬, 퀵 정렬, 병합 정렬에 대한 설명2025.01.151. 선택 정렬 선택 정렬은 주어진 데이터 내에서 특정 위치에 맞는 자료를 선택해 위치를 교환하는 알고리즘입니다. 구현이 간단하고 추가적인 메모리를 사용하지 않는다는 장점이 있지만, 항상 전체 데이터를 비교하고 정렬하므로 비효율적이라는 단점이 있습니다. 2. 버블 정렬 버블 정렬은 인접한 두 항목의 값을 비교한 뒤, 기준을 만족하면 두 값을 교환하여 정렬하는 방식입니다. 개념이 단순하기에 프로그래밍하기 쉽다는 장점이 있지만, 연산의 횟수가 데이터의 크기에 따라 기하급수적으로 증가하기 때문에 정렬에 걸리는 시간이 오래 걸린다는 단점이...2025.01.15
-
정렬 알고리즘의 시간복잡도 및 장단점 분석2025.11.141. 버블 정렬 버블 정렬은 인접한 데이터 간의 비교와 교환을 통해 정렬하는 기본적인 알고리즘입니다. 구현이 간단하고 이해하기 쉬워 초기 프로그래밍 교육에 자주 사용됩니다. 그러나 시간복잡도가 O(n²)로 데이터 크기가 크거나 정렬이 빈번한 경우 비효율적입니다. 이미 정렬된 데이터에 대해서도 불필요한 연산을 반복하는 단점이 있어 실제 복잡한 애플리케이션에서는 잘 사용되지 않습니다. 2. 선택 정렬 선택 정렬은 최소값 또는 최대값을 선택하여 정렬되지 않은 부분의 맨 앞 요소와 교환하는 방식입니다. 데이터 교환 횟수가 버블 정렬보다 적...2025.11.14
-
이진트리의 개념과 이진트리 탐색 방법2025.01.041. 이진트리 이진 트리는 트리 안에 포함된 하나의 종류로, 모든 노드가 두 개 이하의 연결선을 가지고 있는 트리를 말합니다. 이진 트리는 사향 트리, 전 이진 트리, 정 이진 트리로 구분할 수 있습니다. 사향 트리는 노드가 한쪽으로만 정렬된 이진 트리이고, 전 이진 트리는 레벨별로 왼쪽부터 차례로 채워진 완전 이진 트리입니다. 정 이진 트리는 모든 내부 정점이 두 개의 자식을 갖는 이진 트리입니다. 2. 이진트리 탐색 이진 트리 탐색은 깊이 우선 탐색과 너비 우선 탐색으로 나눌 수 있습니다. 깊이 우선 탐색에는 중위 순회, 전위 ...2025.01.04
-
재귀적 성질과 재귀적 알고리즘의 특징2025.01.281. 재귀적 알고리즘의 개념 재귀적 알고리즘은 자기 자신을 반복적으로 호출하여 문제를 해결하는 알고리즘을 말한다. 이는 기본적으로 하나의 큰 문제를 여러 개의 작은 문제로 나누고, 이 작은 문제들을 해결하면서 최종적인 답을 도출하는 구조를 가진다. 재귀 알고리즘의 기본 구조는 기저 조건(Base case)과 재귀 단계(Recursive step)로 구성된다. 2. 재귀적 알고리즘과 비재귀적 알고리즘의 차이점 재귀적 알고리즘은 문제를 직관적이고 간결하게 표현할 수 있지만, 재귀 호출이 반복되면서 스택 메모리를 사용하므로 문제의 크기가...2025.01.28
-
방통대 방송대 알고리즘 1페이지 암기노트 핵심요약정리2025.01.251. 자료구조 및 알고리즘 자료구조, 알고리즘, 시간복잡도, 점화식, 분할정복, 이진탐색, 퀵정렬, 합병정렬, 선택문제, 동적프로그래밍, 피보나치수열, 연쇄행렬곱셈, 문자열편집거리, 최단경로, 저울문제, 동전거스름돈, 배낭문제, 최소신장트리, 작업스케줄링, 허프만코딩, 정렬알고리즘, 탐색알고리즘, 해싱, 근사알고리즘 등 다양한 알고리즘 개념과 기법들을 정리하고 있습니다. 1. 자료구조 및 알고리즘 자료구조와 알고리즘은 컴퓨터 과학의 핵심 분야로, 효율적인 프로그래밍과 문제 해결을 위해 매우 중요합니다. 자료구조는 데이터를 효과적으로...2025.01.25
