본문 바로가기

Data Structure

(3)
Heap 구현-C 1. Heap.h 12345678910111213141516171819202122232425262728293031323334353637383940414243#ifndef HEAP_H#define HEAP_H #include #define TRUE 1#define FALSE 0 #define HEAP_LEN 100 typedef char HData;typedef int Priority; typedef struct _heapElem { Priority pr; HData data;}HeapElem; typedef int PriorityComp(HData d1, HData d2); typedef struct _heap { PriorityComp* comp; int numOfData; HData heapArr[H..
이진트리(Binary_Tree) 구현-C 1. BTree.h : 이진트리 자료구조의 헤더파일, ADT1234567891011121314151617181920212223242526272829303132#ifndef BTREE_H#define BTREE_H #include #include typedef int BTData; typedef struct _BTreeNode{ BTData data; struct _BTreeNode* left; struct _BTreeNode* right;}BTreeNode; typedef void visitFunPtr(BTData data); BTreeNode* makeBTreeNode(void);//노드를 만들고 연결하지는 않음.BTData getData(BTreeNode* bt);//bt의 데이터를 return.vo..
재귀함수 개념, 문제 1. 재귀함수(Recursive Function) 재귀의 조건 생각하기 -->탈출조건, 끝나는 메커니즘재귀함수의 정의를 이용해서 함수의 이름을 만들고, 그 정의를 재귀적으로 사용한다.원하는 결과를 얻기 위해서 과정을 쪼개서 생각한다. 초기 설정만 잘 해주면 컴퓨터가 알아서 계산해준다.반환형을 생각한다. 2. Factorial : 1~n까지의 곱을 재귀함수로 구하기. 12345678910111213141516171819#include int factorial(int n) { if (n == 0) return 1; else return n*factorial(n - 1);} int main(void) { int n; scanf("%d", &n); printf("%d\n", factorial(n)); retur..