
총 80개
-
최대 힙과 최소 힙의 정의 / 힙의 삽입, 삭제 연산 방법 / 힙을 응용한 허프만 코드의 특징과 생성 방법2025.05.021. 최대 힙과 최소 힙의 정의 힙(heap)이란 피라미드 모양으로 차곡차곡 쌓아 올린 더미 모양을 말한다. 자료구조에서의 힙은 우선순위 큐를 구현하는 자료구조이며 빠르게 가장 크거나 작은 데이터를 찾을 수 있도록 만들어진 자료구조라고 정의할 수 있을 것이다. 최대 힙(Maxheap)이란 부모 노드의 key 값이 자식의 key 값보다 크거나 같은 완전 이진 트리 형식이다. 즉, 루트 노드에 저장된 값이 트리 전체에서 가장 큰 값이 된다. 반대로 최소 힙(Minheap)은 부모 노드의 key 값이 자식의 key 값보다 작거나 같은 완...2025.05.02
-
c언어로 쉽게 풀어쓴 자료구조 개정 3판 6장(연결리스트) 연습문제 (해설 포함)2025.05.161. 원형 연결 리스트 원형 연결 리스트는 마지막 노드의 포인터가 첫 번째 노드를 가리킨다. 2. 배열 n번째 요소를 찾는다는 것은 특정한 값을 탐색한다는 것이 아니다. 즉 특정 요소로 접근하겠다는 의미인데, 이를 가장 빠르게 할 수 있는 것은 당연히 배열이다. 배열은 인덱스를 통해 특정 요소로 가장 빠르게 접근할 수 있는 자료구조다. 한 번에 접근이 가능하므로 당연히 시간복잡도는 O(1)이다. 3. 단순 연결리스트 단순 연결리스트의 마지막 노드의 링크(link) 필드는 항상 NULL을 가리킨다. 따라서 last->link==NUL...2025.05.16
-
스택과 큐(선형큐, 원형큐)의 개념 및 삽입, 삭제, 연산 방법2025.01.051. 스택과 큐의 개념 스택은 후입선출(LIFO) 방식으로 데이터를 저장하고, 큐는 선입선출(FIFO) 방식으로 데이터를 저장하는 기본적인 자료구조입니다. 스택은 함수 호출, 재귀 알고리즘, 수식 계산 등에 활용되고, 큐는 대기열 관리, 네트워크 트래픽 제어, 스케줄링 등에 활용됩니다. 2. 선형큐의 개념과 삽입, 삭제, 연산 방법 선형큐는 데이터를 선형적으로 저장하고 FIFO 방식으로 처리하는 자료구조입니다. 삽입 연산은 큐의 끝에 데이터를 추가하고, 삭제 연산은 큐의 맨 앞에서 데이터를 제거합니다. 선형큐는 O(1)의 시간 복잡...2025.01.05
-
자료구조_연결형 자료구조를 이용하여 다항식 2개를 입력받아 다항식의 곱셈 및 덧셈을 구하여 결과를 출력해 주는 프로그램을 C언어를 이용해서 구현 하세요2025.01.191. 다항식 연결 리스트 구현 이 프로그램은 다항식을 연결 리스트로 구현하여 두 개의 다항식을 입력받고, 이를 덧셈과 곱셈하여 결과를 출력하는 C 프로그램입니다. 다항식의 차수는 최대 3까지로 제한되며, 계수는 정수로 처리됩니다. 프로그램은 다항식 항목을 나타내는 Term 구조체와 다항식 자체를 나타내는 Polynomial 구조체를 정의하고, 항목 생성, 추가, 덧셈, 곱셈, 출력 등의 기능을 구현하고 있습니다. 2. 다항식 덧셈 알고리즘 다항식 덧셈 알고리즘은 두 다항식의 각 항을 차수 순으로 비교하면서 결과 다항식에 항목을 추가...2025.01.19
-
(자료구조)컴퓨터 내부의 자료표현 방법과 선형구조의 자료의 삽입과 삭제 방식을 C언어 배열과 구조체와 포인터를 이용하여 프로그래밍하고 예를 들어 데이터 삽입과 삭제되는 과정을 보이세요.2025.04.261. 자료구조의 개념과 종류 자료구조는 자료를 효율적으로 사용하기 위해 자료의 특성에 따라서 분류하여 구성하고 저장 및 처리하는 모든 작업을 의미한다. 컴퓨터를 이용하여 자료처리를 하기 위해서는 무엇보다도 먼저 자료를 컴퓨터가 다룰 수 있도록 컴퓨터 내에 표현해 주어야만 한다. 그리고 이렇게 표현된 자료를 컴퓨터는 일정한 절차를 통해 처리하게 된다. 자료구조에는 단순구조, 선형구조, 비선형구조, 파일구조 등이 있다. 2. 선형구조의 이해와 프로그래밍 선형구조는 데이터가 일렬로 연결된 논리적인 모양으로 구성하는 방법이며, 선형 구조에...2025.04.26
-
자료구조 이진트리 탐색 소스 코드 구현2025.05.051. 이진 탐색 트리 이진 탐색 트리는 데이터를 효율적으로 저장하고 검색할 수 있는 자료구조입니다. 이 코드에서는 이진 탐색 트리에 노드를 삽입하고 삭제하는 함수를 구현하고 있습니다. 삽입 함수는 새로운 노드를 트리에 추가하고, 삭제 함수는 특정 키 값을 가진 노드를 트리에서 제거합니다. 또한 중위 순회 함수를 통해 트리의 노드들을 오름차순으로 출력할 수 있습니다. 1. 이진 탐색 트리 이진 탐색 트리는 데이터 구조 분야에서 매우 중요한 개념입니다. 이진 탐색 트리는 데이터를 효율적으로 저장하고 검색할 수 있는 자료구조로, 각 노드...2025.05.05
-
큐와 스택의 구조를 삽입과 삭제 시 연산자의 이름(함수)과 위치(포인터)를 기준으로 비교하여 설명하여라2025.05.091. 큐의 구조와 삽입/삭제 연산 큐는 선입선출(FIFO) 자료구조로, 1차원 배열을 이용하여 구현할 수 있습니다. 큐의 삽입(enqueue) 연산은 rear 포인터를 이용하여 배열의 마지막 위치에 데이터를 추가하고, 삭제(dequeue) 연산은 front 포인터를 이용하여 배열의 첫 번째 데이터를 제거합니다. 2. 스택의 구조와 삽입/삭제 연산 스택은 후입선출(LIFO) 자료구조로, 리스트를 이용하여 구현할 수 있습니다. 스택의 삽입(push) 연산은 리스트의 마지막 위치에 데이터를 추가하고, 삭제(pop) 연산은 리스트의 마지막...2025.05.09
-
원형 큐에 존재하는 요소의 반환하는 연산 get-count를 코딩하시오2025.05.081. 원형 큐의 구조와 동작 원리 원형 큐는 선형 큐와 달리 끝이 연결된 원형 형태의 자료구조입니다. 큐의 요소들은 순환하여 저장되며 큐의 앞과 뒤를 가리키는 포인터를 사용하여 관리됩니다. 원형 큐는 고정된 크기를 가지고 있어서 큐가 가득 차게 되면 새로운 요소를 추가할 수 없게 됩니다. 그러므로 큐의 앞과 뒤 포인터가 원형적으로 이동하면서 요소를 추가하거나 제거하는 방식으로 동작합니다. 2. get-count 연산의 구현 get-count 연산은 원형 큐에 저장된 요소의 개수를 반환하는 기능을 수행합니다. 이를 구현하기 위해선 큐...2025.05.08
-
[만점]A를 크기 n x n의 정사각형 행렬이라고 하자. 다음 프로그램의 예상되는 출력이 무엇인지 설명하시오.2025.01.131. 행렬 A 주어진 프로그램은 n x n 크기의 정사각형 행렬 A의 요소를 변환하는 것입니다. 첫 번째 단계에서는 각 요소에 상수 C를 더합니다. 두 번째 단계에서는 각 요소를 대칭 위치의 요소와 바꿉니다. 마지막 단계에서는 다시 상수 C를 빼서 원래 값으로 되돌립니다. 따라서 최종 출력은 원래의 행렬 A가 됩니다. 1. 행렬 A 행렬 A는 선형대수학에서 매우 중요한 개념입니다. 행렬 A는 선형 변환을 나타내는 수학적 객체로, 벡터 공간 간의 관계를 표현합니다. 행렬 A의 성질과 특성을 이해하는 것은 선형대수학을 이해하는 데 필수...2025.01.13
-
김영평생교육원 자료구조 과제2025.01.151. 배열(Array) 배열은 <index, 값>의 쌍들로 이루어지며, 각각의 index 들은 연관된 값을 가지는 구조로 이루어진 집합이다. 한 번에 여러 개의 동일한 자료형의 변수를 만들 때 사용된다. 이는 연속적인 메모리 공간을 할당하여 변수에 접근하는 과정을 보다 쉽게 만들기 위함이다. 모든 요소가 동일한 이름을 사용하므로 index 를 통해 항목에 접근하는데, 이때 인덱스는 0에서 시작한다. 주소 당 1Byte의 메모리가 할당되며, 직접 접근(Direct Access) 방식을 사용한다는 특징이 있다. 2. 구조체(Struct...2025.01.15