총 27개
-
자료구조 원형리스트 소스코드 구현2025.05.051. 원형 연결 리스트 이 코드는 원형 연결 리스트의 기본적인 연산들을 구현하고 있습니다. 원형 연결 리스트는 마지막 노드가 첫 번째 노드를 가리키는 특징이 있습니다. 이 코드에서는 노드 삽입, 삭제, 탐색, 역순 정렬, 두 개의 리스트 합병 등의 기능을 제공합니다. 이를 통해 원형 연결 리스트의 기본적인 동작을 이해할 수 있습니다. 1. 원형 연결 리스트 원형 연결 리스트는 데이터 구조 중 하나로, 마지막 노드가 첫 번째 노드를 가리키는 특징을 가지고 있습니다. 이를 통해 데이터의 순환적 구조를 구현할 수 있으며, 특히 메모리 관...2025.05.05
-
c언어로 쉽게 풀어쓴 자료구조 개정 3판 6장(연결리스트) 연습문제 (해설 포함)2025.05.161. 원형 연결 리스트 원형 연결 리스트는 마지막 노드의 포인터가 첫 번째 노드를 가리킨다. 2. 배열 n번째 요소를 찾는다는 것은 특정한 값을 탐색한다는 것이 아니다. 즉 특정 요소로 접근하겠다는 의미인데, 이를 가장 빠르게 할 수 있는 것은 당연히 배열이다. 배열은 인덱스를 통해 특정 요소로 가장 빠르게 접근할 수 있는 자료구조다. 한 번에 접근이 가능하므로 당연히 시간복잡도는 O(1)이다. 3. 단순 연결리스트 단순 연결리스트의 마지막 노드의 링크(link) 필드는 항상 NULL을 가리킨다. 따라서 last->link==NUL...2025.05.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
-
최대 힙과 최소 힙의 정의 / 힙의 삽입, 삭제 연산 방법 / 힙을 응용한 허프만 코드의 특징과 생성 방법2025.05.021. 최대 힙과 최소 힙의 정의 힙(heap)이란 피라미드 모양으로 차곡차곡 쌓아 올린 더미 모양을 말한다. 자료구조에서의 힙은 우선순위 큐를 구현하는 자료구조이며 빠르게 가장 크거나 작은 데이터를 찾을 수 있도록 만들어진 자료구조라고 정의할 수 있을 것이다. 최대 힙(Maxheap)이란 부모 노드의 key 값이 자식의 key 값보다 크거나 같은 완전 이진 트리 형식이다. 즉, 루트 노드에 저장된 값이 트리 전체에서 가장 큰 값이 된다. 반대로 최소 힙(Minheap)은 부모 노드의 key 값이 자식의 key 값보다 작거나 같은 완...2025.05.02
-
c로 배우는 쉬운 자료구조 개정3판 7단원 연습문제2025.01.171. 선형 자료구조 선형 자료구조가 아닌 것은 트리입니다. 트리는 계층적 자료구조로 선형 자료구조와는 다릅니다. 2. 이진 트리 트리를 표현할 때 가장 적합한 자료구조는 이진 트리입니다. 이진 트리는 각 노드가 최대 2개의 자식 노드를 가지는 트리 구조입니다. 3. 트리의 노드 트리의 노드 중 차수가 0인 노드를 리프 노드라고 합니다. 리프 노드는 자식 노드가 없는 단말 노드입니다. 4. 트리의 차수 주어진 트리의 차수는 3입니다. 트리의 차수는 트리에서 가장 많은 자식 노드를 가진 노드의 자식 수를 의미합니다. 5. 트리의 터미널...2025.01.17
-
자료구조 이진트리 탐색 소스 코드 구현2025.05.051. 이진 탐색 트리 이진 탐색 트리는 데이터를 효율적으로 저장하고 검색할 수 있는 자료구조입니다. 이 코드에서는 이진 탐색 트리에 노드를 삽입하고 삭제하는 함수를 구현하고 있습니다. 삽입 함수는 새로운 노드를 트리에 추가하고, 삭제 함수는 특정 키 값을 가진 노드를 트리에서 제거합니다. 또한 중위 순회 함수를 통해 트리의 노드들을 오름차순으로 출력할 수 있습니다. 1. 이진 탐색 트리 이진 탐색 트리는 데이터 구조 분야에서 매우 중요한 개념입니다. 이진 탐색 트리는 데이터를 효율적으로 저장하고 검색할 수 있는 자료구조로, 각 노드...2025.05.05
-
레드 블랙 트리와 B-트리의 작업 시간 비교2025.01.191. 레드 블랙 트리 레드 블랙 트리는 이진 탐색 트리의 일종으로, 노드의 색을 통해 트리의 균형을 유지하는 자료 구조입니다. 각 노드는 빨간색 또는 검은색으로 색칠되며, 특정한 규칙을 따름으로써 트리의 높이를 제한하고 균형을 유지합니다. 레드 블랙 트리의 주요 규칙은 모든 노드가 빨간색 또는 검은색이어야 하며, 루트 노드와 리프 노드는 검은색이어야 하고, 빨간색 노드의 자식 노드는 모두 검은색이어야 하며, 임의의 노드에서 리프 노드까지의 경로에는 동일한 수의 검은색 노드가 존재해야 합니다. 이러한 규칙을 통해 트리는 항상 균형을 ...2025.01.19
-
자료구조 단순연결리스트 변형된 연결리스트 과제 소스코드 구현2025.05.051. 단순 연결 리스트 단순 연결 리스트는 가장 기본적인 선형 자료구조 중 하나입니다. 이 코드에서는 단순 연결 리스트의 기본 연산인 삽입, 삭제, 탐색, 역순 등을 구현하고 있습니다. 각 연산은 리스트의 헤드 포인터와 선행 노드를 인자로 받아 동작하며, 동적 메모리 할당을 통해 새로운 노드를 생성합니다. 2. 원형 연결 리스트 원형 연결 리스트는 마지막 노드가 첫 번째 노드를 가리키는 특별한 형태의 연결 리스트입니다. 이 코드에서는 원형 연결 리스트의 삽입, 삭제, 탐색 등의 기본 연산을 구현하고 있습니다. 원형 연결 리스트의 경...2025.05.05
-
사용자가 입력한 수를 계속 더하는 프로그램을 배열과 연결리스트로 각각 구현했을 때 장단점 비교 및 설명2025.01.191. 배열을 사용한 프로그램 구현 배열을 사용한 프로그램은 고정된 크기의 메모리 블록에 데이터를 저장한다. 배열은 정적 메모리 할당을 통해 메모리를 관리하며, 인덱스를 통해 각 요소에 빠르게 접근할 수 있다. 이로 인해 특정 위치의 값을 읽거나 쓰는 작업이 매우 효율적이다. 그러나 배열의 크기를 동적으로 조절할 수 없다는 단점이 있다. 2. 연결리스트를 사용한 프로그램 구현 연결리스트를 사용한 프로그램은 동적으로 메모리를 할당하여 데이터를 저장한다. 연결리스트는 각 노드가 데이터와 다음 노드를 가리키는 포인터를 포함하고 있어, 새로...2025.01.19
-
자료구조 종류와 각 종류를 설명하시오2025.01.191. 배열 (Array) 배열은 컴퓨터 과학 분야에서 가장 기본적이면서도 중요한 자료구조 중 하나로, 동일한 데이터 타입의 요소들을 순차적으로 나열하여 저장하는 방식이다. 각 요소는 고유한 인덱스를 가지며, 이 인덱스를 통해 특정 요소에 빠르게 접근할 수 있다. 배열은 데이터를 연속된 메모리 공간에 저장하기 때문에 인덱스 계산만으로도 빠른 접근이 가능하며, 이로 인해 상수 시간 복잡도(O(1))로 요소에 접근할 수 있는 장점을 가지고 있다. 2. 연결 리스트 (Linked List) 연결 리스트는 자료를 노드(Node)들의 집합으로...2025.01.19
