1. 정의 힙(heap)이란 ‘더미’ 또는 ‘쌓다’라는 의미로 기본적으로 이진트리의 구조를 가진다. 힙 트리(Heap Tree)를 정의하면 모든 노드가 자식보다 큰(또는 작은) Complete Binary Tree이며 그 종류는 두가지 이다. (1) Max Heap Tree : 모든 노드가 자식보다 큰 Complete Binary Tree (2) Min Heap Tree : 모든 노드가 자식보다 작은 Complete Binary Tree 2. 배열을 이용한 트리 표현 이진 트리는 연결 리스트로 표현할 수 있으나, 배열을 이용하면 보다 간단하게 구현할 수 있다. [그림1] 데이터 배열 그림1은 임의의 데이터 배열이다. 배열의 인덱스가 완전 이진 트리의 래밸 순서를 표현한다면 아래 그림2 처럼 표현할 수 있..
#include #include #include #define QUESIZ 90000 // QUESIZ typedef struct _NODE{ int key; struct _NODE *left; struct _NODE *right; } NODE; //주요기능 NODE* makeRendTree(NODE*,int,int*); //입력받은 수만큼의 노드를 가진 랜덤 트리를 만들어준다. NODE* findNode(NODE*,int); //값은 key값을 찾아 주소를 return NODE* findPrntNode(NODE*,int); //찾는 노드의 부모노드의 주소를 return NODE* selectChild(NODE*,int); //부모주소의 주소를 입력받아 자식 노드주소 return NODE* insertN..
#include #include #define QUESIZ 5 void enqueue(char*,int*,int*,char); char dequeue(char*,int*,int*); void printQueue(char*,int*,int*); // 큐 내용 출력 void main(){ char queue[QUESIZ+1]; // 큐 int fr=0, rr=0; // 큐 포인터 enqueue(queue,&fr,&rr,'2'); //printf("\n",queue); enqueue(queue,&fr,&rr,'0'); enqueue(queue,&fr,&rr,'0'); enqueue(queue,&fr,&rr,'6'); enqueue(queue,&fr,&rr,'5'); printf("\n"); printQueue..
#include #define STACKSIZE 100 // 스텍 사이즈 void push(char*,int*,char); // 스텍에 데이터를 삽입한다. char pop(char*,int*); // 가장 마지막에 삽입된 데이터를 리턴한다. void printStack(char*,int*); // 현 스택의 내용을 출력한다. void main(void){ int pt = 0; // 스텍 포인터의 위치 char stack[STACKSIZE]; // 스텍으로 사용하기 위한 배열 push(stack,&pt,'2'); //push(스텍배열 index, 스텍 포인터, 데이터) push(stack,&pt,'0'); push(stack,&pt,'0'); push(stack,&pt,'6'); push(stack,&pt..
#include #include #include #define STKSIZ 30 // 스텍 사이즈 #define ARYSIZ 30 // 문자열 배열 사이즈 #define INULL -100 // int는 NULL을 0으로 인식하기에 Int용 NULL을 만듬 void inputData(int*); // 데이타 삽입 void itoo(int); // 치환된 연산자를 원래대로 출력해준다. void postfix(int*,int*); // postfix정렬 void pntAry(int*); // 배열의 내용을 출력한다. int oper(char); // int 배열에 넣기 위한 연산자 치환함수 int operOrder(int); // 연산자의 우선순위를 출력해 준다. float calculation(int *p..
#include #define STACKSIZE 100 // 스텍 사이즈 void push(char*,int*,char); // 스텍에 데이터를 삽입한다. char pop(char*,int*); // 가장 마지막에 삽입된 데이터를 리턴한다. void printStack(char*,int*); // 현 스택의 내용을 출력한다. void main(void){ int pt = 0; // 스텍 포인터의 위치 char stack[STACKSIZE]; // 스텍으로 사용하기 위한 배열 push(stack,&pt,'2'); //push(스텍배열 index, 스텍 포인터, 데이터) push(stack,&pt,'0'); push(stack,&pt,'0'); push(stack,&pt,'6'); push(stack,&pt..
//::단일링크드리스크와 인설션 #include #include #define NUMCNT 100 //한번에 입력받을 수 있는 숫자의 갯수 typedef struct _NODE{ int data; // 데이터 struct _NODE *next; // 다음노드의 주소 }NODE; NODE* createNode(); //해드노드 만들기 NODE* insertNode(NODE*,int); //마지막노드뒤에 새노드 삽입, 새노드 주소 리턴 NODE* reversNode(NODE*); //반전(reverse) void deleteNode(NODE*,int); //해당번째의 노드를 삭제한다. void prntNode(NODE*); //모든노드 출력 void endList(NODE*); //리스트 종료 모든 노드 삭..
#include #include typedef struct _NODE{ int data; // 데이터 struct _NODE *next; // 다음노드의 주소 }NODE; NODE* createNode(); //해드노드 만들기 NODE* insertNode(NODE*,int); //마지막노드뒤에 새노드 삽입, 새노드 주소 리턴 NODE* reversNode(NODE*); //반전(reverse) void deleteNode(NODE*,int); //해당번째의 노드를 삭제한다. void prntNode(NODE*); //모든노드 출력 void endList(NODE*); //리스트 종료 모든 노드 삭제 void main(){ NODE *hd, *pt; // hd = 첫노드주소 pt = 마지막노드 주소 pt..
- Total
- Today
- Yesterday
- 그라파나
- Independentsoft
- 443
- Stack
- LinkedList
- insertion
- 정렬
- 빌드 세팅
- 과거 버전 사용
- react-native
- springboot
- 젠킨스
- 링크드리스트
- Windows 서비스 등록
- 스머핑
- setDoInput
- 암호
- PoolingHttpClientConnectionManager
- java
- call back
- elasticsearch
- 개발 설정
- docker
- Gradle
- 선 없이
- array
- sort
- 안드로이드
- Queue
- code push
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |