
총 121개
-
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
-
건국대학교 객체지향프로그래밍_11주차_랩실습보고서2025.05.011. 배열 정렬 이 실습에서는 배열을 정렬하는 방법을 다룹니다. 먼저 CMyPoint 클래스를 정의하고, 이를 사용하여 배열을 생성하고 정렬합니다. 그리고 ArrayData 클래스를 정의하여 동적 배열을 구현하고, 이를 사용하여 배열을 정렬하는 방법을 학습합니다. 1. 배열 정렬 배열 정렬은 프로그래밍에서 매우 중요한 기술입니다. 배열 정렬을 통해 데이터를 효율적으로 관리하고 검색할 수 있습니다. 다양한 정렬 알고리즘이 존재하며, 각각의 알고리즘은 서로 다른 시간 복잡도와 공간 복잡도를 가지고 있습니다. 따라서 문제의 특성과 요구사...2025.05.01
-
컴퓨터 프로그램은 정교한 알고리즘들의 집합이라고 할 수 있다2025.05.161. 알고리즘 알고리즘은 반복되는 문제를 풀기 위한 작은 프로시저(진행절차)를 의미한다. 흐름도를 활용한 프로그램 개발에 대하여 설명하였다. 흐름도는 컴퓨터가 알고리즘을 수행하는 과정을 간단한 기호와 도형 등으로 도식화하여 가시적으로 나타낸 것이다. 흐름도에는 시작/끝, 처리, 판단, 입력/출력, 연결자, 프린트, 흐름선 등의 기호가 활용되며 각 기호의 역할이 존재한다. 1. 알고리즘 알고리즘은 컴퓨터 과학의 핵심 개념으로, 복잡한 문제를 해결하기 위한 체계적인 절차와 방법론을 제공합니다. 알고리즘은 데이터 구조, 시간 복잡도, 공...2025.05.16
-
순환적인 피보나치 수열 프로그램과 반복적인 피보나치 수열 프로그램의 수행 시간 비교2025.05.061. 피보나치 수열 피보나치 수열은 많은 프로그래밍 문제에서 자주 등장하는 기본적인 수열 중 하나입니다. 이 수열을 구하는 방법에는 순환적인 방법과 반복적인 방법이 있습니다. 순환적인 방법은 재귀적인 호출을 사용하여 수행 시간이 지수적으로 증가하지만, 반복적인 방법은 루프를 사용하여 이전 값들을 저장하고 활용하여 더 효율적입니다. 대규모 데이터 처리를 필요로 하는 경우에는 반복적인 방법이 더 적합합니다. 2. 순환적인 피보나치 수열 프로그램 순환적인 피보나치 수열 프로그램은 재귀적인 호출을 사용하므로 수행 시간이 지수적으로 증가합니...2025.05.06
-
퀵 알고리즘으로 정렬하는 코드를 자바 또는 파이썬으로 설계하시오2025.01.191. 퀵 정렬 알고리즘 퀵 정렬 알고리즘은 분할 정복 기법을 사용하는 효율적인 정렬 알고리즘입니다. 이 알고리즘은 배열을 피벗을 기준으로 두 부분으로 나누고, 각 부분을 재귀적으로 정렬합니다. 이 코드는 파이썬으로 구현된 퀵 정렬 알고리즘으로, 배열 [30, 60, 12, 54, 2, 45]를 정렬하는 예제입니다. 1. 퀵 정렬 알고리즘 퀵 정렬 알고리즘은 효율적이고 널리 사용되는 정렬 알고리즘 중 하나입니다. 이 알고리즘은 분할 정복 기법을 사용하여 배열을 작은 부분으로 나누고, 각 부분을 정렬한 뒤 다시 합치는 방식으로 동작합니...2025.01.19
-
자료구조 종류와 각 종류를 설명하시오2025.01.191. 배열 (Array) 배열은 컴퓨터 과학 분야에서 가장 기본적이면서도 중요한 자료구조 중 하나로, 동일한 데이터 타입의 요소들을 순차적으로 나열하여 저장하는 방식이다. 각 요소는 고유한 인덱스를 가지며, 이 인덱스를 통해 특정 요소에 빠르게 접근할 수 있다. 배열은 데이터를 연속된 메모리 공간에 저장하기 때문에 인덱스 계산만으로도 빠른 접근이 가능하며, 이로 인해 상수 시간 복잡도(O(1))로 요소에 접근할 수 있는 장점을 가지고 있다. 2. 연결 리스트 (Linked List) 연결 리스트는 자료를 노드(Node)들의 집합으로...2025.01.19
-
[자료구조] 하나의 프로그램을 자료구조와 알고리즘으로 나누어 설명하시오2025.05.161. 자료구조 자료구조란 컴퓨터에서 자료를 정리하고 조직화하는 구조를 의미한다. 어떠한 자료를 정리할 때 자료에 따른 적절한 자료구조가 있다. 이 자료구조에는 그에 따른 알고리즘이 따라오기 마련이다. 2. 알고리즘 알고리즘이란 어떠한 문제를 해결하는 절차이다. 컴퓨터가 문제를 해결하는 방법을 장치가 이해할 수 있도록 언어로 정밀하게 기술한 것이다. 대부분의 컴퓨터 프로그램은 데이터를 처리하며 이들 자료는 자료구조를 사용해 표현하고 저장된다. 또한 여기에는 알고리즘이 필요하다. 3. 육면체 부피 계산 프로그램 width, length...2025.05.16
-
인공지능 ) a-h 지점을 연결하는 도로망에서 각 지점간 도로의 거리를 나타내는 그림, 각 지점에서 목적지인 h까지의 직선거리로, 각 도시2025.01.251. 상태공간 탐색 상태공간 탐색의 경우 탐색의 구성요소를 명확하게 하는 것으로부터 시작한다. 우선 초기 상태를 정의해야 하며, 목표 상태를 정의한다. 정의가 완료되면, 초기 상태 노드부터 노드를 확장해 나가면서 목표 노드까지 도달하는 경로를 연산자를 활용하여 탐색하면 된다. 2. A* 알고리즘을 이용한 최단경로 탐색 A* 알고리즘을 활용하여 최단 경로를 탐색하기 위해서는 평가함수를 정의해야 한다. 평가함수는 출발 노드에서 특정 노드 n까지 도달하는데 필요한 '실제 경로 비용'과 특정 노드 n부터 목표 노드까지 도달하는데 필요한 '...2025.01.25
-
방통대 방송대 알고리즘 출석수업과제물 A+2025.01.251. 알고리즘 성능 분석 입력 크기 n에 대한 빅오 함수들을 성능 관점에서 가장 나쁜 것부터 차례대로 나열하면 O(2^n) → O(n^3) → O(n^2) → O(nlogn) → O(n) → O(logn) → O(1)이다. 2. 점화식과 폐쇄형 이진 탐색의 점화식은 T(n) = Θ(1), n=1 = T(n/2) + Θ(1), n>=2 이며 폐쇄형은 T(n) = Θ(logn)이다. 퀵 정렬 최악의 경우 점화식은 T(n) = Θ(1), n=1 = T(n-1) + Θ(n), n>=2 이며 폐쇄형은 T(n) = Θ(n^2)이다. 합병 정렬...2025.01.25