
총 115개
-
C++프로그래밍 2024년 2학기 방송통신대 출석수업과제물2025.01.261. C++ 프로그래밍 기초 이 자료는 C++ 프로그래밍 기초를 다루고 있습니다. 주요 내용으로는 C++ 프로그램 작성, 배열 최댓값 구하기, 포인터 사용, 동적 메모리 할당, 참조 변수 활용 등이 포함되어 있습니다. 각 예제의 소스코드와 실행 결과 화면이 제공되어 있어 C++ 프로그래밍 학습에 도움이 될 것입니다. 1. C++ 프로그래밍 기초 C++는 객체 지향 프로그래밍 언어로, 다양한 분야에서 널리 사용되고 있습니다. C++의 기본적인 문법과 구조를 이해하는 것은 프로그래밍 실력 향상에 매우 중요합니다. 변수 선언, 데이터 타...2025.01.26
-
2023년 1학기 알고리즘 출석수업 만점 받은 과제물2025.01.241. 이진 탐색 이진 탐색은 정렬된 상태의 데이터 중 원하는 값을 탐색하는 알고리즘이다. 이진 탐색은 먼저 주어진 데이터 중 중앙값이 목표 값과 일치하는 지 비교한다. 그리고 데이터가 정렬되어 있음을 이용해, 중앙값이 목표 값보다 작다면 중앙값보다 큰 값을 지니는 쪽, 중앙값이 목표 값보다 크다면 중앙값보다 작은 값을 지니는 쪽에 대해 다시 중앙값과 목표 값을 비교하며 데이터를 절반씩 줄여가는 과정을 반복하며 원하는 값을 찾는다. 2. 퀵 정렬 퀵 정렬은 데이터 중 하나의 값을 피벗으로 뽑고 데이터를 그 값보다 큰 쪽과 작은 쪽으로...2025.01.24
-
자료구조_1차원 배열과 2차원 배열의 차이점과 배열이 가지는 장단점에 대하여2025.04.271. 배열 배열은 같은 자료형의 데이터를 메모리상에 연속적으로 저장하는 자료형입니다. 1차원 배열은 하나의 인덱스로 구성되며, 2차원 배열은 행과 열을 나타내는 두 개의 인덱스로 구성됩니다. 1차원 배열과 2차원 배열의 차이점은 인덱스의 개수와 메모리 할당 방식에 있습니다. 1차원 배열은 행 단위로 메모리가 할당되지만, 2차원 배열은 행 우선 또는 열 우선 방식으로 메모리가 할당될 수 있습니다. 이에 따라 메모리 사용량과 접근 속도에 차이가 있습니다. 2. 구조체 구조체는 서로 다른 자료형의 데이터를 하나의 그룹으로 묶은 자료형입니...2025.04.27
-
방통대 방송대 알고리즘 출석수업과제물 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
-
재귀알고리즘의 정의와 단점과 이를 극복하기 위한 방안2025.01.021. 재귀알고리즘의 정의와 작동 방식 재귀알고리즘은 자기 자신을 호출하여 문제를 해결하는 알고리즘으로, 함수 내에서 자기 자신을 다시 호출하면서 작동한다. 이러한 재귀 호출은 함수 호출 스택에 쌓이며, 재귀가 끝나면 스택에서 제거된다. 재귀알고리즘은 간단하게 작성할 수 있으며, 일부 문제에서는 반복문을 사용하는 것보다 더 효율적인 해결 방법을 제공한다. 그러나 재귀 호출이 많아지면 성능 저하 및 스택 오버플로우 등의 문제가 발생할 수 있으므로 적절한 조절이 필요하다. 2. 재귀알고리즘의 단점 재귀알고리즘은 반복문보다 코드의 가독성이...2025.01.02
-
방통대 알고리즘 출석과제물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++프로그래밍 출석수업과제물 A+2025.01.251. C++ 프로그래밍 이 프레젠테이션은 C++ 프로그래밍 과제물에 대한 내용을 다루고 있습니다. 여기에는 C++ 기초 프로그래밍 예제, 배열 최댓값 구하기, 포인터 사용, 동적 메모리 할당, 참조 활용, 함수 활용 등 다양한 C++ 프로그래밍 기법이 소개되어 있습니다. 2. 객체 지향 프로그래밍 이 프레젠테이션에는 C++ 클래스 사용 예제가 포함되어 있습니다. 'CppBeginner' 클래스를 정의하고 'hello()' 메서드를 구현하는 등 객체 지향 프로그래밍 기법이 활용되고 있습니다. 3. 배열 및 데이터 구조 프레젠테이션에는...2025.01.25
-
연결형 자료구조를 이용한 다항식의 계산 프로그래밍2025.01.131. 다항식 계산 프로그래밍 이 프로그래밍 과제에서는 연결형 자료구조를 이용하여 다항식의 계산을 구현하였습니다. 다항식의 항을 표현하는 구조체를 정의하고, 다항식을 입력받아 연결 리스트로 구성하는 함수, 두 다항식을 더하는 함수, 두 다항식을 곱하는 함수 등을 구현하였습니다. 이를 통해 연결 리스트, 포인터 연산, 알고리즘 설계의 중요성을 배웠고, 프로그래밍 경험을 쌓을 수 있었습니다. 2. 연결 리스트 이 프로그래밍 과제에서는 다항식을 연결 리스트로 표현하였습니다. 연결 리스트는 동적 메모리 할당을 통해 구현되며, 각 항목은 다음...2025.01.13
-
과제(3) | 5주차 | C언어 고급 실습2025.01.201. 배열 사용 이 과제에서는 배열을 사용하여 다양한 작업을 수행합니다. 배열의 크기를 구하고, 배열의 최대값을 찾는 함수를 구현하며, 2차원 배열과 포인터 배열을 활용하는 방법을 보여줍니다. 2. 함수 포인터 이 과제에서는 함수 포인터를 사용하여 다양한 함수를 동적으로 호출하는 방법을 보여줍니다. 함수 포인터 배열을 선언하고 초기화하여 함수를 실행하는 방법을 설명합니다. 3. 구조체 사용 이 과제에서는 구조체를 사용하여 데이터를 저장하고 조작하는 방법을 보여줍니다. 구조체 변수를 선언하고 초기화하며, 구조체 포인터를 사용하여 구조...2025.01.20
-
c언어로 쉽게 풀어쓴 자료구조 개정 3판 3장 연습문제 (해설 포함)2025.05.141. 2차원 배열의 메모리 크기 2차원 배열이 메모리에서 차지하는 크기는 행의 개수와 열의 개수, 그리고 각 요소의 크기를 곱하여 계산할 수 있다. 문제에서 제시된 10행 20열의 int형 2차원 배열은 10 x 20 x 4 = 800바이트의 크기를 차지한다. 2. 배열의 시작 주소 배열의 시작 주소는 배열의 첫 번째 요소가 저장되는 공간의 주소이다. 문제에서 배열의 첫 번째 요소가 1000번지에 저장된다고 했으므로, 10번째 요소는 1000 + (4 x 10) = 1040번지에 저장된다. 3. 배열의 크기 비교 배열의 크기는 각 ...2025.05.14