
총 80개
-
방통대 방송대 자료구조 핵심요약노트 교재요약본 (1장~15장)2025.01.251. 자료구조 자료구조는 데이터를 효율적으로 저장하고 관리하기 위한 방법론입니다. 이 자료에서는 배열, 스택, 큐, 연결 리스트, 트리, 그래프 등 다양한 자료구조의 개념과 특성, 구현 방법 등을 설명하고 있습니다. 또한 정렬, 검색 알고리즘 등 자료구조와 관련된 핵심 알고리즘도 다루고 있습니다. 2. 배열 배열은 동일한 자료형의 데이터를 연속적으로 저장하는 자료구조입니다. 이 자료에서는 배열의 생성, 원소 접근, 저장 등의 기본 연산과 함께 다양한 배열 응용 기법을 설명하고 있습니다. 3. 스택 스택은 후입선출(LIFO) 방식으로...2025.01.25
-
큐와 스택에 대하여 알아보기2025.01.191. 큐 큐(Queue)는 일렬로 줄을 서있는 자료구조로, 먼저 들어온 데이터가 먼저 나가는 선입선출(First-In-First-Out, FIFO) 원칙을 따른다. 큐는 데이터의 순서가 중요한 상황에서 유용하게 활용되며, 삽입(Enqueue)과 삭제(Dequeue)의 두 가지 주요 연산을 지원한다. 큐의 특징으로는 선입선출 원칙, 제한된 삽입/삭제 위치, 크기 제한, 언더플로우/오버플로우 방지 등이 있다. 큐는 작업 스케줄링, 대기열 관리, 프로세스 통신 등에 활용된다. 2. 스택 스택(Stack)은 후입선출(Last-In-Firs...2025.01.19
-
[A+레포트] 자료구조_C언어로 구현한 배열과 구조체의 차이점을 설명하시오2025.01.141. 배열 C언어에서 배열은 같은 유형의 데이터 요소들을 연이어 저장하는 데 사용됩니다. 배열을 활용하여 성적 처리 프로그램을 구현할 경우, 학생들의 성적 정보를 효율적으로 관리할 수 있습니다. 하지만 배열은 숫자 데이터만 저장할 수 있기 때문에, 학생의 이름이나 학번과 같은 문자열 정보를 함께 저장하고 처리하기 어려운 단점이 있습니다. 2. 구조체 C언어의 구조체는 다른 유형의 변수들을 하나의 논리적 단위로 묶어 관리하는 데 사용됩니다. 구조체를 활용하면 학생의 성적 정보뿐만 아니라 이름, 학번 등 다양한 정보를 함께 저장하고 처...2025.01.14
-
알고리즘: 재귀적 성질과 알고리즘 사례2025.01.151. 재귀적(Recursive) 성질의 의미 재귀적 성질은 반복적으로 스스로를 이용하여 정의하거나 응용하는 성질이며, 자기 자신을 호출하거나 사용하게 되는 것을 의미한다. 수학 분야에서는 자기 자신을 다시 이용하여 대상을 정의하는 것을 말하며, 신호처리 및 시스템 분야에서는 출력이 다시 입력으로 되돌아가서 사용되는 것을 뜻한다. 또한 프로그래밍에서의 재귀적 성질은 반복 연산 등과 같이 자기 자신을 다시 호출하는 프로그램을 말한다. 2. 재귀적 알고리즘과 그렇지 않은 경우의 차이점과 특징 재귀적 알고리즘(Recursive Algori...2025.01.15
-
김영평생교육원 자료구조 과제2025.01.151. 배열(Array) 배열은 <index, 값>의 쌍들로 이루어지며, 각각의 index 들은 연관된 값을 가지는 구조로 이루어진 집합이다. 한 번에 여러 개의 동일한 자료형의 변수를 만들 때 사용된다. 이는 연속적인 메모리 공간을 할당하여 변수에 접근하는 과정을 보다 쉽게 만들기 위함이다. 모든 요소가 동일한 이름을 사용하므로 index 를 통해 항목에 접근하는데, 이때 인덱스는 0에서 시작한다. 주소 당 1Byte의 메모리가 할당되며, 직접 접근(Direct Access) 방식을 사용한다는 특징이 있다. 2. 구조체(Struct...2025.01.15
-
데이터의 자료구조 중에서 스택과 큐를 비교하여 설명하고, 두 구조를 구현해 보시오2025.01.221. 스택 자료구조의 개념과 특성 스택은 선형 자료구조 중 하나로, 데이터를 후입선출(LIFO, Last In First Out) 방식으로 저장하고 관리한다. 데이터는 한쪽 끝에서만 삽입되고 삭제되며, 마지막에 삽입된 데이터가 가장 먼저 제거된다. 스택은 메모리 호출 관리, 문자열 역순 출력, 수식 계산 등에 널리 사용된다. 2. 큐 자료구조의 개념과 특성 큐는 선형 자료구조 중 하나로, 데이터를 선입선출(FIFO, First In First Out) 방식으로 저장하고 관리한다. 데이터는 한쪽 끝에서 삽입되고 반대쪽 끝에서 제거된다...2025.01.22
-
[자료구조] 구조체 배열을 이용한 추가 삭제 SUM을 구현한 소스코드2025.05.051. 자료구조 이 코드는 배열을 이용한 리스트 ADT(Abstract Data Type)를 구현한 것입니다. 구조체 ArrayListType을 정의하고, 초기화, 추가, 삭제, 합계 등의 기능을 구현하고 있습니다. 배열의 크기는 MAX_LIST_SIZE로 정의되어 있으며, 배열의 길이를 나타내는 length 변수를 사용하여 리스트의 크기를 관리합니다. 이를 통해 리스트의 기본적인 CRUD(Create, Read, Update, Delete) 연산을 수행할 수 있습니다. 2. 배열 이 코드에서는 배열을 사용하여 리스트를 구현하고 있습...2025.05.05
-
자료구조 단순연결리스트 변형된 연결리스트 과제 소스코드 구현2025.05.051. 단순 연결 리스트 단순 연결 리스트는 가장 기본적인 선형 자료구조 중 하나입니다. 이 코드에서는 단순 연결 리스트의 기본 연산인 삽입, 삭제, 탐색, 역순 등을 구현하고 있습니다. 각 연산은 리스트의 헤드 포인터와 선행 노드를 인자로 받아 동작하며, 동적 메모리 할당을 통해 새로운 노드를 생성합니다. 2. 원형 연결 리스트 원형 연결 리스트는 마지막 노드가 첫 번째 노드를 가리키는 특별한 형태의 연결 리스트입니다. 이 코드에서는 원형 연결 리스트의 삽입, 삭제, 탐색 등의 기본 연산을 구현하고 있습니다. 원형 연결 리스트의 경...2025.05.05
-
c언어로 쉽게 풀어쓴 자료구조 개정 3판 3장 연습문제 (해설 포함)2025.05.141. 2차원 배열의 메모리 크기 2차원 배열이 메모리에서 차지하는 크기는 행의 개수와 열의 개수, 그리고 각 요소의 크기를 곱하여 계산할 수 있다. 문제에서 제시된 10행 20열의 int형 2차원 배열은 10 x 20 x 4 = 800바이트의 크기를 차지한다. 2. 배열의 시작 주소 배열의 시작 주소는 배열의 첫 번째 요소가 저장되는 공간의 주소이다. 문제에서 배열의 첫 번째 요소가 1000번지에 저장된다고 했으므로, 10번째 요소는 1000 + (4 x 10) = 1040번지에 저장된다. 3. 배열의 크기 비교 배열의 크기는 각 ...2025.05.14
-
c언어로 쉽게 풀어쓴 자료구조 개정 3판 6장(연결리스트) 연습문제 (해설 포함)2025.05.161. 원형 연결 리스트 원형 연결 리스트는 마지막 노드의 포인터가 첫 번째 노드를 가리킨다. 2. 배열 n번째 요소를 찾는다는 것은 특정한 값을 탐색한다는 것이 아니다. 즉 특정 요소로 접근하겠다는 의미인데, 이를 가장 빠르게 할 수 있는 것은 당연히 배열이다. 배열은 인덱스를 통해 특정 요소로 가장 빠르게 접근할 수 있는 자료구조다. 한 번에 접근이 가능하므로 당연히 시간복잡도는 O(1)이다. 3. 단순 연결리스트 단순 연결리스트의 마지막 노드의 링크(link) 필드는 항상 NULL을 가리킨다. 따라서 last->link==NUL...2025.05.16