728x90
728x90

자료구조 33

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 1

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장 - 1 C언어로 쉽게 풀어쓴 자료구조9장 Exercise 문제다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 19. 삽입 정렬의 코드를 수정하여 삽입 정렬의 각 단계를 출력하도록 하라. 아래 그림에서 왼쪽 괄호 안에 있는 숫자는 정렬이 되어 있는 숫자들이다. 오른 쪽은 정렬을 해야 할 숫자들이다. 삽입 정렬의 단계에서 다음과 같이 출력하도록 insertion_sort 함수를 수정하라. 이를 위하여 사용자로부터 숫자를 입력받을 수 있도록 하여라. 123456789101112131415161718..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 8장 - 5

DataStructure] C언어로 쉽게 풀어쓴 자료구조 8장 - 5 C언어로 쉽게 풀어쓴 자료구조8장 Exercise 문제다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 12345678910111213141516171819202122#ifndef __HEAP_TREE_H__#define __HEAP_TREE_H__ #define MAX_ELEMENT 200 typedef struct { int key;} element;typedef struct { element heap[MAX_ELEMENT]; int size;} HeapType; void Init(H..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 8장 - 4

DataStructure] C언어로 쉽게 풀어쓴 자료구조 8장 - 4 C언어로 쉽게 풀어쓴 자료구조8장 Exercise 문제다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 19. 우선순위 큐 추상 자료형의 연산들 중에서find 연산, is_empty 연산, is_full 연산을 구현하여보라.우선순위 큐가 히프로 구현되었다고 가정한다. 12345678910111213141516171819202122#ifndef __HEAP_PQ_H__#define __HEAP_PQ_H__ #define MAX_ELEMENT 200 typedef struct { int ke..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 8장 - 3

DataStructure] C언어로 쉽게 풀어쓴 자료구조 8장 - 3 C언어로 쉽게 풀어쓴 자료구조8장 Exercise 문제다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 18. 앞에서 공부한 리스트 추상 자료형을 사용하여 우선순위 큐 추상 자료형을 구현하여보라.리스트 추상 자료형의 각종 연산들을 사용하라.삽입 연산은 O(1)의 시간 안에, 삭제 연산은 O(n)만큼의 시간이 걸리게끔 구현하라.여기서 n은 큐 안에 있는 요소들의 개수이다. 12345678910111213141516171819202122232425262728293031#ifndef __S_L..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 8장 - 2

DataStructure] C언어로 쉽게 풀어쓴 자료구조 8장 - 2 C언어로 쉽게 풀어쓴 자료구조8장 Exercise 문제다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 17. 연결 리스트(linked list)를 이용하여 우선순위 큐 추상 자료형의 각종 연산들을 구현하여보라. 1234567891011121314151617181920212223242526#ifndef __LIST_PQ_H__#define __LIST_PQ_H__#define ELEMENT_MAX 200 typedef int element;typedef struct ListNode { e..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 8장 - 1

DataStructure] C언어로 쉽게 풀어쓴 자료구조 8장 - 1 C언어로 쉽게 풀어쓴 자료구조8장 Exercise 문제다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 16. 정렬되지 않은 배열(array)를 이용하여 우선순위 큐 추상 자료형의 각종 연산들을 구현하여 보라. 1234567891011121314151617181920212223#ifndef __ARRAY_PQ_H__#define __ARRAY_PQ_H__ #define ELEMENT_MAX 200 typedef int element;typedef struct { element Queue[..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 4장 - 3

DataStructure] C언어로 쉽게 풀어쓴 자료구조 4장 - 3 C언어로 쉽게 풀어쓴 자료구조4장 Exercise 문제들이다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 29번. 이중 연결 리스트를 이용하여 숫자들을 항상 정렬된 상태로 유지하는 리스트 SortedList를 구현하여보라.앞의 문제의 연산들을 구현하면 된다. 123456789101112131415161718192021222324252627282930#ifndef __SORTED_LIST_H__#define __SORTED_LIST_H__#define TRUE 1#define FALSE ..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 4장 - 2

DataStructure] C언어로 쉽게 풀어쓴 자료구조 4장 - 2 C언어로 쉽게 풀어쓴 자료구조4장 Exercise 문제들이다.필자가 학교 다니면서 자료구조론 수업을 들었는데,과제로 제출했던 것들이고,난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다.자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 14. 단순 연결 리스트에 정수가 저장되어 있다. 단순 연결 리스트의 모든 데이터 값을 더한 합을 출력하는 프로그램을 작성하여라. 15. 단순 연결 리스트에서 특정한 데이터 값을 갖는 노드의 개수를 계산하는 함수를 작성하라. 16. 단순 연결 리스트에서의 탐색 함수를 참고하여 특정한 데이터 값을 갖는 노드를 삭제하는 함수를 작성하라. 17. 단순 연결 리스트의 헤드 포인터가 주어져 ..

DataStructure] C++ 이중연결리스트(Double Linked List)

C언어로만 작성했던 것들을 C++로 작성하면서 C++과 자료구조 공부를 동시에 하려고 한다. 지난번에는 C++로 간단한 삽입, 삭제, 출력 기능만 넣은 단일 연결 리스트를 구현했다. 이번에 올리는 글은 이중 연결 리스트(Double Linked List)로, 다음 노드에 대한 포인터만 가지고 있는 단일 연결 리스트와는 달리 이전 노드에 대한 포인터도 가지고 있어, 노드 간의 이동을 양방향으로 할 수 있게 구현하는 자료구조를 뜻한다. #include using namespace std; class Node { friend class List; private: Node* next; Node* prev; int value; Node(Node* n, Node* p, int v) { next = n; prev =..

DataStructure] C++ 연결 리스트(Single Linked List)

2학년 1학기(벌써 작년이다)에 필자는 C언어로 자료구조론을 배운 적이 있다.당시에는 C언어로 모든 것을 작성했었다.자료구조도 복습하고, C++ 연습하는 겸,C++로 자료구조들을 구현하는 시도를 하고 있다.오늘은 그 첫번째 시도로 단일 연결 리스트(혹은 단순 연결 리스트;Single Linked List)를 만들어봤다. head, tail, 중간 삽입이 모두 가능하고,삭제하는 건 head에서만 이뤄지도록 했다.그냥 구현에 초점을 둬서 완벽한 예외처리나, template을 활용하거나 하지는 않았지만,근시일내에 그런 걸 다 집어넣고 다시 한 번 짤 생각이다. (왜 remove만 핫핑크로 하이라이팅되는 거지?...) #include using namespace std; class Node { friend cl..

728x90