총 72개
-
[건국대학교 컴퓨터프로그래밍2 A+][2024 Ver] 과제42025.01.201. 구조체 과제(4)에서는 구조체 rect를 정의하고, 이를 원소로 가지는 배열 shapes를 선언 및 초기화합니다. 이후 for문을 통해 shapes 배열의 각 원소에 대해 calc_area 함수를 실행하여 면적을 계산하고 출력합니다. 2. 포인터 2번 문제에서는 int형 변수 x, y의 값을 swap 함수를 통해 교환합니다. swap 함수는 int형 포인터 변수 px, py를 매개변수로 받아 간접 참조를 통해 값을 교환합니다. 3번 문제에서는 레퍼런스를 사용하여 동일한 기능을 구현합니다. 3. qsort 4번 문제에서는 qso...2025.01.20
-
세종대 자료구조실습 3주차 재귀 실습 코드2025.11.121. 재귀함수(Recursion) 재귀함수는 함수가 자기 자신을 호출하는 프로그래밍 기법입니다. 이 실습에서는 재귀함수의 기본 개념을 학습하며, 종료 조건(base case)을 설정하여 무한 루프를 방지합니다. 예제들은 숫자의 합 계산, 숫자 자릿수 출력, 배열의 최댓값 찾기 등 다양한 문제를 재귀로 해결하는 방법을 보여줍니다. 2. 하노이탑 알고리즘(Tower of Hanoi) 하노이탑은 재귀 알고리즘의 고전적인 예제입니다. n개의 원반을 시작 기둥에서 목표 기둥으로 옮기는 문제로, 더 큰 원반이 작은 원반 위에 올 수 없다는 규...2025.11.12
-
큐와 스택의 구조를 삽입과 삭제 시 연산자의 이름(함수)과 위치(포인터)를 기준으로 비교하여 설명하여라2025.05.091. 큐의 구조와 삽입/삭제 연산 큐는 선입선출(FIFO) 자료구조로, 1차원 배열을 이용하여 구현할 수 있습니다. 큐의 삽입(enqueue) 연산은 rear 포인터를 이용하여 배열의 마지막 위치에 데이터를 추가하고, 삭제(dequeue) 연산은 front 포인터를 이용하여 배열의 첫 번째 데이터를 제거합니다. 2. 스택의 구조와 삽입/삭제 연산 스택은 후입선출(LIFO) 자료구조로, 리스트를 이용하여 구현할 수 있습니다. 스택의 삽입(push) 연산은 리스트의 마지막 위치에 데이터를 추가하고, 삭제(pop) 연산은 리스트의 마지막...2025.05.09
-
C언어 - 포인터에 관련한 다음 물음들에 대한 답을 제시하시오2025.01.271. 포인터의 개념과 기능 포인터의 개념은 '주소를 저장하는 변수'로 여기에는 두 가지 중요한 점이 있습니다. 하나는 '주소를 저장한다'는 것이고 다른 하나는 '변수'라는 것입니다. 포인터는 정의할 때 *를 붙이며, 포인터에 어떤 주소를 넣느냐에 따라 정수형 포인터, 문자 포인터, 함수 포인터 등의 이름이 지정됩니다. 포인터는 메모리를 저장할 수 있는 특징이 있지만, 변수이기 때문에 생성만 해놓은 상태만으로는 아무것도 할 수 없습니다. 다른 변수의 메모리 주소를 대입하거나 메모리를 할당하는 함수를 사용하여 메모리를 할당받은 후, 해...2025.01.27
-
재귀함수와 포인터의 개념 및 활용2025.01.191. 재귀함수 재귀함수는 자기 자신을 다시 호출하는 함수로, 주어진 문제를 더 작은 하위 문제로 분해하여 해결하는 방식으로 동작합니다. 재귀함수는 종료 조건을 명시적으로 정의해야 하며, 이 조건이 충족될 때 함수 호출을 중단하고 반환값을 계산합니다. 재귀함수는 분할 정복 알고리즘, 백트래킹, 데이터 구조 순회, 수학적 계산 및 문제 해결, 문자열과 배열 처리 등 다양한 분야에서 활용됩니다. 2. 포인터 포인터는 메모리의 주소를 저장하는 변수로, C언어에서 메모리 관리와 복잡한 데이터 구조 구현에 중요한 역할을 합니다. 포인터는 메모...2025.01.19
-
원형 큐에 존재하는 요소의 반환하는 연산 get-count를 코딩하시오2025.01.121. 원형 큐의 구조와 동작 원리 원형 큐는 선형 큐와 달리 엔드 연결된 원형 데이터 구조입니다. 큐 요소는 주기적으로 저장되며 큐의 전면과 후면을 나타내는 포인터를 사용하여 관리됩니다. 원형 큐는 크기가 고정되어 있기 때문에 큐가 가득 차면 새로운 요소를 추가할 수 없습니다. 따라서 큐의 전면 및 후면 포인터는 원형이며 요소를 추가하거나 삭제함으로써 기능합니다. 2. get-count 연산의 구현 get-count 함수는 원형 큐에 저장된 요소의 수를 반환합니다. 이 작업은 큐의 앞과 뒤를 가리키는 포인터를 사용하여 항목을 건너 ...2025.01.12
-
순차 자료구조와 연결 자료구조의 비교 및 구현2025.11.161. 순차 자료구조 순차 자료구조는 데이터를 메모리상의 연속적인 위치에 저장하는 구조로, 배열 형태로 저장되며 각 데이터 요소는 고유한 인덱스를 통해 식별됩니다. 인덱스를 통한 직접 접근(무작위 접근)이 가능하여 데이터 접근 속도가 빠르고, 메모리 단편화를 최소화할 수 있습니다. 하지만 중간에 데이터를 삽입하거나 삭제할 때 나머지 데이터를 이동시켜야 하므로 비효율적입니다. 데이터 크기가 고정되어 있거나 변경이 거의 없는 상황에서 효과적이며, 빠른 접근이 필요한 경우에 적합합니다. 2. 연결 자료구조 연결 자료구조는 데이터 요소가 메...2025.11.16
-
자료구조 1학기 중간시험2025.05.051. 1차원 정수배열 정렬 1차원 정수배열 x[10]을 0으로 초기화하고 내림차순으로 정렬하는 함수를 작성하고 메인프로그램을 완성하는 문제입니다. 함수의 첫 번째 매개변수는 배열의 주소이고, 두 번째 매개변수는 새로운 값입니다. 2. 구조체 배열 입력 struct student {char name[10], int student_number, char depart[10];}; 구조체를 정의하고, struct student stu[10]에 키보드에서 값을 넣는 함수를 작성하고 메인 프로그램을 완성하는 문제입니다. 3. 단순 연결리스트 ...2025.05.05
-
c언어로 쉽게 풀어쓴 자료구조 개정 3판 6장(연결리스트) 연습문제 (해설 포함)2025.05.161. 원형 연결 리스트 원형 연결 리스트는 마지막 노드의 포인터가 첫 번째 노드를 가리킨다. 2. 배열 n번째 요소를 찾는다는 것은 특정한 값을 탐색한다는 것이 아니다. 즉 특정 요소로 접근하겠다는 의미인데, 이를 가장 빠르게 할 수 있는 것은 당연히 배열이다. 배열은 인덱스를 통해 특정 요소로 가장 빠르게 접근할 수 있는 자료구조다. 한 번에 접근이 가능하므로 당연히 시간복잡도는 O(1)이다. 3. 단순 연결리스트 단순 연결리스트의 마지막 노드의 링크(link) 필드는 항상 NULL을 가리킨다. 따라서 last->link==NUL...2025.05.16
-
연결형 자료구조를 이용한 다항식의 계산 프로그래밍2025.01.131. 다항식 계산 프로그래밍 이 프로그래밍 과제에서는 연결형 자료구조를 이용하여 다항식의 계산을 구현하였습니다. 다항식의 항을 표현하는 구조체를 정의하고, 다항식을 입력받아 연결 리스트로 구성하는 함수, 두 다항식을 더하는 함수, 두 다항식을 곱하는 함수 등을 구현하였습니다. 이를 통해 연결 리스트, 포인터 연산, 알고리즘 설계의 중요성을 배웠고, 프로그래밍 경험을 쌓을 수 있었습니다. 2. 연결 리스트 이 프로그래밍 과제에서는 다항식을 연결 리스트로 표현하였습니다. 연결 리스트는 동적 메모리 할당을 통해 구현되며, 각 항목은 다음...2025.01.13
