총 238개
-
방통대 (방송통신대학교) 컴퓨터과학과 알고리즘 중간과제물2025.01.261. 배낭 문제 배낭 문제는 제한된 용량의 배낭에 물건을 담아 최대 이익을 얻는 문제이다. 이 문제에서는 물건을 쪼갤 수 있는 경우를 다루었다. 욕심쟁이 방법을 사용하여 단위 무게당 이익이 가장 높은 물건부터 배낭에 담아 최대 이익 50을 얻을 수 있다. 2. 빅오 표기법 빅오 표기법은 알고리즘의 성능을 나타내는 방법이다. O(1)은 입력 크기에 관계없이 일정한 시간이 소요되는 가장 효율적인 알고리즘이다. 보기 중에서 가장 효율적인 것은 O(1)이다. 3. 점화식 해결 주어진 세 가지 점화식을 전개하여 폐쇄형을 구하였다. ①번 점화...2025.01.26
-
c언어로 쉽게 풀어쓴 자료구조 개정 3판 5장(큐) 연습문제 (해설 포함)2025.05.151. 큐 큐는 선입선출(First In First Out, FIFO) 구조입니다. 배열로 구현한 원형 큐에서는 포화 상태와 공백 상태를 구별하기 위해 배열의 인덱스 한 자리를 비우는 것이 중요합니다. 큐의 삽입은 후단(rear)에서, 삭제는 전단(front)에서 이루어집니다. 큐 구현 시 시간 복잡도는 O(1)입니다. 2. 스택을 이용한 큐 구현 스택은 후입선출(Last In First Out) 구조이지만, 스택 2개를 사용하면 큐의 선입선출(First In First Out) 성질을 만족할 수 있습니다. 하나의 스택(inStack...2025.05.15
-
정렬 알고리즘 중 선택 정렬, 버블 정렬, 퀵 정렬, 병합 정렬에 대한 설명2025.01.151. 선택 정렬 선택 정렬은 주어진 데이터 내에서 특정 위치에 맞는 자료를 선택해 위치를 교환하는 알고리즘입니다. 구현이 간단하고 추가적인 메모리를 사용하지 않는다는 장점이 있지만, 항상 전체 데이터를 비교하고 정렬하므로 비효율적이라는 단점이 있습니다. 2. 버블 정렬 버블 정렬은 인접한 두 항목의 값을 비교한 뒤, 기준을 만족하면 두 값을 교환하여 정렬하는 방식입니다. 개념이 단순하기에 프로그래밍하기 쉽다는 장점이 있지만, 연산의 횟수가 데이터의 크기에 따라 기하급수적으로 증가하기 때문에 정렬에 걸리는 시간이 오래 걸린다는 단점이...2025.01.15
-
스택과 큐(선형큐, 원형큐)의 개념 및 연산 방법2025.01.241. 스택(Stack) 스택은 후입선출(LIFO) 방식으로 데이터를 관리하는 자료구조입니다. 스택의 기본 연산은 푸시(push)와 팝(pop)이며, 탑(top) 포인터를 사용하여 데이터의 삽입과 삭제가 이루어집니다. 스택은 메모리 관리, 함수 호출 관리, 표현식 평가 등 다양한 분야에서 활용됩니다. 2. 큐(Queue) 큐는 선입선출(FIFO) 방식으로 데이터를 관리하는 자료구조입니다. 큐의 기본 연산은 인큐(enqueue)와 디큐(dequeue)이며, 앞(front)과 뒤(rear) 두 개의 포인터를 사용하여 데이터의 삽입과 삭제...2025.01.24
-
[컴퓨터과학과]알고리즘_출석수업과제물2025.01.251. 오일러 경로 오일러 경로(Eulerian Trail)는 그래프에 존재하는 모든 간선을 정확히 한 번씩 방문하는 연속된 경로를 의미합니다. 각 정점의 차수가 홀수인 정점이 0개 혹은 2개 이어야 하며, 홀수점이 2개일 경우에는 홀수점에서 시작해야 합니다. 2. 배낭 문제 배낭의 용량을 초과하지 않는 범위 내에서 배낭에 들어있는 물체들의 이익의 합이 최대가 되도록 물체를 넣는 문제입니다. 물체를 쪼개서 넣을 수 있으며, 단위 무게당 이익이 가장 큰 물체부터 최대한 넣는 과정을 반복하여 해결할 수 있습니다. 3. 이진 탐색 이진 탐...2025.01.25
-
자료구조(프로그램을 자료구조와 알고리즘으로 나누어 설명)2025.01.031. 자료구조 자료구조는 데이터를 어떠한 형태로 저장하고 관리할 것인지에 대한 방법으로, 자료를 어떤 효율적 방법으로 저장할 것인가를 의미합니다. 프로그램을 구성하는 핵심 요소 중 하나입니다. 2. 알고리즘 알고리즘은 저장된 데이터를 찾거나 변형하거나 수정할 때 필요한 방법으로, 문제를 해결하기 위한 절차를 의미합니다. 프로그램을 구성하는 또 다른 핵심 요소입니다. 1. 자료구조 자료구조는 프로그래밍에서 매우 중요한 개념입니다. 데이터를 효율적으로 저장하고 관리하는 방법을 제공하기 때문에 복잡한 문제를 해결하는 데 필수적입니다. 배...2025.01.03
-
C++ report 함수 관련 프로그램2025.01.161. 화씨-섭씨 변환 함수 프로그램에서 화씨를 섭씨로, 섭씨를 화씨로 변환하는 두 개의 함수를 작성하였습니다. 섭씨 28도를 화씨로 변환하면 82.4도이고, 화씨 80도를 섭씨로 변환하면 26.667도입니다. 2. 배열의 최대값 찾기 배열에 저장된 값 중 가장 큰 값을 찾는 함수를 작성하였습니다. 배열 {8, 54, 11, -45, 43, 26, 66, 12, 33, 65}의 최대값은 66입니다. 3. 배열 역순 출력 배열 {35, 43, 5, 65, -65, 14, 22, 89, -12, 12}의 값을 역순으로 출력하는 프로그램을...2025.01.16
-
방통대 알고리즘 출석과제물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
-
C로 배우는 자료구조 6장 연습문제 - 큐와 데크2025.11.161. 큐(Queue)의 개념과 특성 큐는 FIFO(First In First Out) 선입선출 구조의 자료구조로, front에서는 삭제, rear에서는 삽입이 일어난다. 일상생활에서 줄 서기, 택시 정거장 등에서 찾을 수 있다. 선형 큐에서는 rear가 마지막 인덱스에 도달하면 포화 상태가 되는 문제가 발생하며, 이를 해결하기 위해 원형 큐를 사용한다. 원형 큐의 공백 상태는 front == rear이고, 포화 상태는 front == (rear + 1) mod n이다. 2. 원형 큐(Circular Queue)의 구현 원형 큐는 선...2025.11.16
-
컴퓨터 프로그램은 정교한 알고리즘들의 집합이라고 할 수 있다2025.05.161. 알고리즘 알고리즘은 반복되는 문제를 풀기 위한 작은 프로시저(진행절차)를 의미한다. 흐름도를 활용한 프로그램 개발에 대하여 설명하였다. 흐름도는 컴퓨터가 알고리즘을 수행하는 과정을 간단한 기호와 도형 등으로 도식화하여 가시적으로 나타낸 것이다. 흐름도에는 시작/끝, 처리, 판단, 입력/출력, 연결자, 프린트, 흐름선 등의 기호가 활용되며 각 기호의 역할이 존재한다. 1. 알고리즘 알고리즘은 컴퓨터 과학의 핵심 개념으로, 복잡한 문제를 해결하기 위한 체계적인 절차와 방법론을 제공합니다. 알고리즘은 데이터 구조, 시간 복잡도, 공...2025.05.16
