
총 80개
-
c언어로 쉽게 풀어쓴 자료구조 개정 3판 6장(연결리스트) 연습문제 (해설 포함)2025.05.161. 원형 연결 리스트 원형 연결 리스트는 마지막 노드의 포인터가 첫 번째 노드를 가리킨다. 2. 배열 n번째 요소를 찾는다는 것은 특정한 값을 탐색한다는 것이 아니다. 즉 특정 요소로 접근하겠다는 의미인데, 이를 가장 빠르게 할 수 있는 것은 당연히 배열이다. 배열은 인덱스를 통해 특정 요소로 가장 빠르게 접근할 수 있는 자료구조다. 한 번에 접근이 가능하므로 당연히 시간복잡도는 O(1)이다. 3. 단순 연결리스트 단순 연결리스트의 마지막 노드의 링크(link) 필드는 항상 NULL을 가리킨다. 따라서 last->link==NUL...2025.05.16
-
스택과 큐의 구조 및 특징 비교와 실생활 사례2025.05.131. 스택의 구조 및 특징 스택은 후입선출(LIFO) 구조를 가진 자료구조로, 한 쪽이 막힌 통의 구조와 유사하다. 자료를 집어넣는 것을 푸시(push), 가장 나중에 넣은 것을 꺼내는 것을 팝(pop)이라고 한다. 스택의 실생활 사례로는 식판 및 접시, 동전 보관함, 좁은 주차장, CD 보관함, 이면지함 등이 있다. 2. 큐의 구조 및 특징 큐는 선입선출(FIFO) 구조를 가진 자료구조로, 양쪽이 모두 뚫린 기둥형의 모양과 유사하다. 한쪽 끝은 자료를 집어넣는 입구, 다른 쪽 끝은 자료를 꺼내는 출구의 역할을 한다. 자료를 넣는 ...2025.05.13
-
알고리즘: 재귀적 성질과 알고리즘 사례2025.01.151. 재귀적(Recursive) 성질의 의미 재귀적 성질은 반복적으로 스스로를 이용하여 정의하거나 응용하는 성질이며, 자기 자신을 호출하거나 사용하게 되는 것을 의미한다. 수학 분야에서는 자기 자신을 다시 이용하여 대상을 정의하는 것을 말하며, 신호처리 및 시스템 분야에서는 출력이 다시 입력으로 되돌아가서 사용되는 것을 뜻한다. 또한 프로그래밍에서의 재귀적 성질은 반복 연산 등과 같이 자기 자신을 다시 호출하는 프로그램을 말한다. 2. 재귀적 알고리즘과 그렇지 않은 경우의 차이점과 특징 재귀적 알고리즘(Recursive Algori...2025.01.15
-
자료구조_스택과 큐의 개념에 대하여 학습하였습니다2025.05.121. 스택 스택은 가장 대표적인 자료구조 중 하나로, 데이터를 하나씩 쌓아올린 형태의 자료 구조이다. 가장 먼저 들어온 데이터가 가장 마지막에 나간다. 즉, 후입선출의 구조를 가지고 있다. 그리고 리스트의 한쪽으로 삽입과 삭제 연산을 수행한다. 2. 큐 큐 또한 스택과 같은 자료 구조 중 하나이다. 하지만 스택과 반대로 가장 먼저 들어온 데이터가 가장 먼저 나가는 터널 형태의 자료구조다. 이는 선입선출 구조이고, 한쪽 끝에서는 삽입 연산이 반대쪽에서는 삭제 연산이 수행된다. 3. 스택의 활용 사례 웹 방문 기록을 볼 때 또는 뒤로가...2025.05.12
-
연결형 자료구조를 이용한 다항식의 계산 프로그래밍2025.01.131. 다항식 계산 프로그래밍 이 프로그래밍 과제에서는 연결형 자료구조를 이용하여 다항식의 계산을 구현하였습니다. 다항식의 항을 표현하는 구조체를 정의하고, 다항식을 입력받아 연결 리스트로 구성하는 함수, 두 다항식을 더하는 함수, 두 다항식을 곱하는 함수 등을 구현하였습니다. 이를 통해 연결 리스트, 포인터 연산, 알고리즘 설계의 중요성을 배웠고, 프로그래밍 경험을 쌓을 수 있었습니다. 2. 연결 리스트 이 프로그래밍 과제에서는 다항식을 연결 리스트로 표현하였습니다. 연결 리스트는 동적 메모리 할당을 통해 구현되며, 각 항목은 다음...2025.01.13
-
최대 힙과 최소 힙의 정의 / 힙의 삽입, 삭제 연산 방법 / 힙을 응용한 허프만 코드의 특징과 생성 방법2025.05.021. 최대 힙과 최소 힙의 정의 힙(heap)이란 피라미드 모양으로 차곡차곡 쌓아 올린 더미 모양을 말한다. 자료구조에서의 힙은 우선순위 큐를 구현하는 자료구조이며 빠르게 가장 크거나 작은 데이터를 찾을 수 있도록 만들어진 자료구조라고 정의할 수 있을 것이다. 최대 힙(Maxheap)이란 부모 노드의 key 값이 자식의 key 값보다 크거나 같은 완전 이진 트리 형식이다. 즉, 루트 노드에 저장된 값이 트리 전체에서 가장 큰 값이 된다. 반대로 최소 힙(Minheap)은 부모 노드의 key 값이 자식의 key 값보다 작거나 같은 완...2025.05.02
-
자료구조 스택 배열로 구현한 소스 코드2025.05.051. 배열 스택 이 코드는 학생 정보를 저장하고 관리하는 배열 기반 스택 구현을 보여줍니다. 스택의 기본 연산인 push, pop, peek, display 등이 구현되어 있습니다. 스택의 최대 크기는 100으로 정의되어 있으며, 학생 정보는 student_no, name, address 필드로 구성됩니다. 이 코드를 통해 배열을 이용한 스택 자료구조의 기본적인 동작을 이해할 수 있습니다. 1. 배열 스택 배열 스택은 데이터 구조의 한 종류로, 가장 최근에 추가된 데이터를 가장 먼저 꺼내는 LIFO(Last-In-First-Out)...2025.05.05
-
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판 7단원 연습문제2025.01.171. 선형 자료구조 선형 자료구조가 아닌 것은 트리입니다. 트리는 계층적 자료구조로 선형 자료구조와는 다릅니다. 2. 이진 트리 트리를 표현할 때 가장 적합한 자료구조는 이진 트리입니다. 이진 트리는 각 노드가 최대 2개의 자식 노드를 가지는 트리 구조입니다. 3. 트리의 노드 트리의 노드 중 차수가 0인 노드를 리프 노드라고 합니다. 리프 노드는 자식 노드가 없는 단말 노드입니다. 4. 트리의 차수 주어진 트리의 차수는 3입니다. 트리의 차수는 트리에서 가장 많은 자식 노드를 가진 노드의 자식 수를 의미합니다. 5. 트리의 터미널...2025.01.17
-
자료구조_C언어로 구현한 배열과 구조체의 차이점을 설명하시오2025.01.271. 배열 배열은 동일한 타입의 데이터를 메모리상에 연속적으로 저장하는 자료 구조를 말한다. 예를 들어, int 형의 성적을 저장하기 위한 배열이나, char 형의 문자들을 저장하기 위한 문자열 배열 등이 있다. 배열은 인덱스를 사용하여 각 요소에 접근할 수 있으며, 모든 요소가 같은 타입이어야 한다. 2. 구조체 구조체는 서로 다른 타입의 데이터를 하나의 단위로 묶어서 관리할 수 있는 방법으로, 예를 들어, 학생의 이름과 학번, 각 과목 점수 등 서로 다른 타입의 정보를 하나로 묶어 구조체로 정의할 수 있다. 3. 배열과 구조체의...2025.01.27