
총 80개
-
큐와 스택에 대하여 알아보기2025.01.191. 큐 큐(Queue)는 일렬로 줄을 서있는 자료구조로, 먼저 들어온 데이터가 먼저 나가는 선입선출(First-In-First-Out, FIFO) 원칙을 따른다. 큐는 데이터의 순서가 중요한 상황에서 유용하게 활용되며, 삽입(Enqueue)과 삭제(Dequeue)의 두 가지 주요 연산을 지원한다. 큐의 특징으로는 선입선출 원칙, 제한된 삽입/삭제 위치, 크기 제한, 언더플로우/오버플로우 방지 등이 있다. 큐는 작업 스케줄링, 대기열 관리, 프로세스 통신 등에 활용된다. 2. 스택 스택(Stack)은 후입선출(Last-In-Firs...2025.01.19
-
사용자가 입력한 수를 계속 더하는 프로그램을 배열과 연결리스트로 각각 구현했을 때 장단점 비교 및 설명2025.01.191. 배열을 사용한 프로그램 구현 배열을 사용한 프로그램은 고정된 크기의 메모리 블록에 데이터를 저장한다. 배열은 정적 메모리 할당을 통해 메모리를 관리하며, 인덱스를 통해 각 요소에 빠르게 접근할 수 있다. 이로 인해 특정 위치의 값을 읽거나 쓰는 작업이 매우 효율적이다. 그러나 배열의 크기를 동적으로 조절할 수 없다는 단점이 있다. 2. 연결리스트를 사용한 프로그램 구현 연결리스트를 사용한 프로그램은 동적으로 메모리를 할당하여 데이터를 저장한다. 연결리스트는 각 노드가 데이터와 다음 노드를 가리키는 포인터를 포함하고 있어, 새로...2025.01.19
-
[건국대학교 컴퓨터프로그래밍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
-
[만점]A를 크기 n x n의 정사각형 행렬이라고 하자. 다음 프로그램의 예상되는 출력이 무엇인지 설명하시오.2025.01.131. 행렬 A 주어진 프로그램은 n x n 크기의 정사각형 행렬 A의 요소를 변환하는 것입니다. 첫 번째 단계에서는 각 요소에 상수 C를 더합니다. 두 번째 단계에서는 각 요소를 대칭 위치의 요소와 바꿉니다. 마지막 단계에서는 다시 상수 C를 빼서 원래 값으로 되돌립니다. 따라서 최종 출력은 원래의 행렬 A가 됩니다. 1. 행렬 A 행렬 A는 선형대수학에서 매우 중요한 개념입니다. 행렬 A는 선형 변환을 나타내는 수학적 객체로, 벡터 공간 간의 관계를 표현합니다. 행렬 A의 성질과 특성을 이해하는 것은 선형대수학을 이해하는 데 필수...2025.01.13
-
c로 배우는 쉬운 자료구조 개정3판 2단원 연습문제2025.01.171. 배열을 사용한 학생 성적 처리 16개 학생의 국어, 영어, 수학 성적을 배열에 저장하고 총점과 평균을 계산하여 출력하는 프로그램을 작성합니다. 배열을 사용하여 학생들의 성적 정보를 효율적으로 관리할 수 있습니다. 2. 포인터를 사용한 실수 값 교환 두 개의 실수 값을 포인터를 사용하여 교환하고 출력하는 함수를 작성합니다. 포인터를 활용하면 변수의 값을 직접 변경할 수 있어 효율적인 데이터 처리가 가능합니다. 3. 구조체를 이용한 주소록 프로그램 이름, 전화번호, 주소, 생일 정보를 저장하는 주소록 프로그램을 작성합니다. 구조체...2025.01.17
-
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로 배우는 쉬운 자료구조 개정3판 8단원 연습문제2025.01.171. 그래프 그래프에 관한 설명 중 옳은 문장은 2개입니다. 무방향 그래프를 인접 행렬로 표현하면 항상 대칭인 행렬이 되며, 무방향 그래프에서 모든 정점의 차수를 더하면 간선 수와 같습니다. 정점이 v개인 무방향 완전 그래프의 간선 수는 v^2개이며, 정점이 v개, 간선이 e개인 그래프를 인접 행렬로 표현하면 필요한 메모리는 O(v+e)입니다. 인접행렬로 표현된 그래프에서 너비 우선 탐색의 수행 시간은 O(v^2)입니다. 2. 그래프 표현 그래프는 정점 집합 V와 간선 집합 E로 이루어집니다. 정점이 a,b,c 세 개 존재하고 간선...2025.01.17
-
연결형 자료구조를 이용한 다항식의 계산 프로그래밍2025.01.131. 다항식 계산 프로그래밍 이 프로그래밍 과제에서는 연결형 자료구조를 이용하여 다항식의 계산을 구현하였습니다. 다항식의 항을 표현하는 구조체를 정의하고, 다항식을 입력받아 연결 리스트로 구성하는 함수, 두 다항식을 더하는 함수, 두 다항식을 곱하는 함수 등을 구현하였습니다. 이를 통해 연결 리스트, 포인터 연산, 알고리즘 설계의 중요성을 배웠고, 프로그래밍 경험을 쌓을 수 있었습니다. 2. 연결 리스트 이 프로그래밍 과제에서는 다항식을 연결 리스트로 표현하였습니다. 연결 리스트는 동적 메모리 할당을 통해 구현되며, 각 항목은 다음...2025.01.13
-
자료구조 이진트리 탐색 소스 코드 구현2025.05.051. 이진 탐색 트리 이진 탐색 트리는 데이터를 효율적으로 저장하고 검색할 수 있는 자료구조입니다. 이 코드에서는 이진 탐색 트리에 노드를 삽입하고 삭제하는 함수를 구현하고 있습니다. 삽입 함수는 새로운 노드를 트리에 추가하고, 삭제 함수는 특정 키 값을 가진 노드를 트리에서 제거합니다. 또한 중위 순회 함수를 통해 트리의 노드들을 오름차순으로 출력할 수 있습니다. 1. 이진 탐색 트리 이진 탐색 트리는 데이터 구조 분야에서 매우 중요한 개념입니다. 이진 탐색 트리는 데이터를 효율적으로 저장하고 검색할 수 있는 자료구조로, 각 노드...2025.05.05
-
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