총 72개
-
큐와 스택의 구조와 삽입/삭제 연산자 비교2025.01.191. 큐의 구조와 연산자 큐는 데이터의 삽입과 삭제가 각각 한 쪽 끝과 다른 쪽 끝에서 이루어지는 선형 자료구조입니다. 큐는 FIFO(First-In, First-Out) 원칙을 따르며, Enqueue() 함수를 사용하여 데이터를 삽입하고 Dequeue() 함수를 사용하여 데이터를 삭제합니다. 큐에서는 front 포인터와 rear 포인터를 사용하여 삽입과 삭제 연산을 관리합니다. 2. 스택의 구조와 연산자 스택은 데이터의 삽입과 삭제가 같은 쪽 끝에서 이루어지는 선형 자료구조입니다. 스택은 LIFO(Last-In, First-Out...2025.01.19
-
원형 큐에 존재하는 요소의 반환하는 연산 get-count를 코딩하시오2025.05.081. 원형 큐의 구조와 동작 원리 원형 큐는 선형 큐와 달리 끝이 연결된 원형 형태의 자료구조입니다. 큐의 요소들은 순환하여 저장되며 큐의 앞과 뒤를 가리키는 포인터를 사용하여 관리됩니다. 원형 큐는 고정된 크기를 가지고 있어서 큐가 가득 차게 되면 새로운 요소를 추가할 수 없게 됩니다. 그러므로 큐의 앞과 뒤 포인터가 원형적으로 이동하면서 요소를 추가하거나 제거하는 방식으로 동작합니다. 2. get-count 연산의 구현 get-count 연산은 원형 큐에 저장된 요소의 개수를 반환하는 기능을 수행합니다. 이를 구현하기 위해선 큐...2025.05.08
-
C언어 1 - 재귀함수와 포인터의 개념 및 활용2025.01.151. 재귀함수 재귀함수는 함수가 자기 자신을 호출하여 문제를 해결하는 기법입니다. 이 기법은 큰 문제를 작은 문제로 나누어 해결할 수 있게 해주며, 특히 반복적이고 계층적인 구조의 문제를 해결하는 데 유용합니다. 재귀함수를 사용할 때는 기본 조건(base case)과 재귀 조건(recursive case)을 명확히 정의해야 합니다. 재귀함수의 대표적인 사용 사례로는 팩토리얼 계산, 피보나치 수열 계산, 트리 탐색 등이 있습니다. 2. 포인터 포인터는 다른 변수의 메모리 주소를 저장하는 변수로, 간접적으로 변수에 접근하고 조작할 수 ...2025.01.15
-
자료구조 실습 코드: 희소행렬, 다항식, 연결리스트, 스택2025.11.141. 희소 행렬(Sparse Matrix) 희소 행렬은 대부분의 원소가 0인 행렬을 효율적으로 표현하기 위한 자료구조입니다. 제시된 코드에서는 term 구조체를 사용하여 0이 아닌 원소만 저장합니다. smTranspose 함수는 행렬을 전치하고, smPrint 함수는 행렬을 출력하며, smAdd 함수는 두 희소 행렬을 더합니다. 각 원소는 행(row), 열(col), 값(value)으로 구성되어 메모리를 절약합니다. 2. 다항식 표현 및 연산 다항식은 배열 또는 연결리스트로 표현할 수 있습니다. 배열 기반 구현에서는 polynomi...2025.11.14
-
C언어 자료구조 2장 연습 문제 해설2025.11.131. C언어 프로그래밍 C언어는 절차형 프로그래밍 언어로 자료구조 학습의 기초가 되는 언어입니다. 포인터, 배열, 구조체 등의 개념을 통해 메모리 관리와 데이터 조작을 직접 제어할 수 있으며, 자료구조 구현에 필수적인 언어입니다. 2. 자료구조 자료구조는 데이터를 효율적으로 저장하고 관리하기 위한 체계적인 방법입니다. 배열, 연결리스트, 스택, 큐, 트리, 그래프 등 다양한 자료구조는 각각의 특성에 따라 다른 상황에서 최적의 성능을 제공합니다. 3. 연습 문제 해설 교과서의 연습 문제 해설은 학습자가 이론을 실제로 적용하고 이해도를...2025.11.13
-
C언어 구조체와 포인터를 이용한 연결 리스트 구현2025.11.131. 구조체(Structure) C언어에서 구조체는 여러 데이터 타입을 하나의 단위로 묶어서 관리하는 자료구조입니다. 본 예제에서는 node 구조체를 정의하여 문자 데이터(char data)와 다음 노드를 가리키는 포인터(struct node *link)를 포함시켜 연결 리스트의 기본 단위로 사용하고 있습니다. 2. 포인터(Pointer) 포인터는 메모리 주소를 저장하는 변수로, 동적 메모리 할당과 자료구조 구현에 필수적입니다. 본 코드에서는 malloc()을 통해 동적으로 메모리를 할당받고, 포인터 변수 a, b, c가 각 노드를...2025.11.13
-
건국대학교 객체지향프로그래밍_4주차_랩실습보고서2025.05.011. 스마트 포인터를 이용한 동적 할당 이 실습에서는 스마트 포인터를 사용하여 동적으로 메모리를 할당하고 관리하는 방법을 다룹니다. 파일에서 데이터를 읽어와 2차원 배열로 저장하고, 이를 화면에 출력하는 코드를 작성했습니다. 스마트 포인터를 사용하여 메모리 누수를 방지하고 효율적으로 메모리를 관리할 수 있습니다. 2. 램프 클래스 이 실습에서는 램프 클래스를 정의하고, 램프의 전원 켜기/끄기와 조도 변경 기능을 구현했습니다. 램프 클래스에는 전원 상태와 조도 레벨을 나타내는 멤버 변수가 있으며, 전원 켜기/끄기와 조도 변경을 위한 ...2025.05.01
-
[건국대학교 컴퓨터프로그래밍2 A+][2024 Ver] 과제92025.01.201. C언어 객체 지향 프로그래밍 이 프레젠테이션은 C언어의 객체 지향 프로그래밍 개념을 다룹니다. 주요 내용으로는 Circle 클래스 정의, 객체 생성 및 포인터 활용, 객체 배열 생성 및 활용, 동적 메모리 할당, String 클래스 사용 등이 포함됩니다. 각 예제를 통해 객체 지향 프로그래밍의 기본 개념과 구현 방법을 학습할 수 있습니다. 1. C언어 객체 지향 프로그래밍 C언어는 본래 절차지향 프로그래밍 언어로 설계되었지만, 객체지향 프로그래밍 기법을 일부 지원하도록 확장되었습니다. C언어에서 객체지향 프로그래밍을 구현하기 ...2025.01.20
-
c로 배우는 쉬운 자료구조 개정3판 6단원 연습문제 풀이2025.01.171. 스택 스택은 데이터가 한 쪽 끝에서만 삽입되고 삭제되는 후입선출(LIFO) 구조의 자료구조입니다. 오른쪽 큐 RQ에서 데이터가 하나씩 중간에 있는 스택 MS를 거치거나 바로 왼쪽 큐 LQ로 입력될 수 있습니다. 이를 통해 생성할 수 있는 스택 수는 2, 3, 4, 6, 7, 8, 5, 9, 2, 1, 10입니다. 2. 원형 큐 원형 큐는 배열의 처음과 끝이 연결되어 있는 큐 구조입니다. 현재 상태에서 front=0, rear=2이며 front에서는 삭제, rear에서는 삽입이 일어나는 경우, 'AB2번 x1FCDE'의 순서로 ...2025.01.17
-
C언어 자료구조 1장 연습 문제 해설2025.11.131. 자료구조 자료구조는 컴퓨터 프로그래밍에서 데이터를 효율적으로 저장하고 관리하기 위한 방법론입니다. C언어를 통해 배우는 자료구조는 배열, 연결리스트, 스택, 큐, 트리, 그래프 등 다양한 형태를 포함하며, 각 자료구조는 특정한 문제 해결에 최적화된 특성을 가지고 있습니다. 2. C언어 프로그래밍 C언어는 절차형 프로그래밍 언어로서 컴퓨터 과학 교육의 기초가 되는 언어입니다. 메모리 관리, 포인터, 함수 등의 개념을 직접 다루며, 자료구조 학습에 있어 저수준의 메모리 구조를 이해하는 데 효과적입니다. 3. 연습 문제 해설 교과서...2025.11.13
