Programming/DS SorceCode 썸네일형 리스트형 HeapNode : 힙에 저장할 노드 클래스 #pragma once#ifndef ___HeapNode#define ___HeapNode//HeapNode : 힙에 저장할 노드 클래스#include class HeapNode {int key;//key값public:HeapNode(int k = 0) : key(k) {}void setKey(int k) { key = k; }int getKey() { return key; }void display() { printf("%4d", key); }};#endif // !___HeapNode 더보기 BinSrchTree_Dictionary.h : 사전 클래스를 위한 이진 탐색 트리 클래스 #오류가 있음 #ifndef ___BinSrchTree_Dictionary#define ___BinSrchTree_Dictionary//BinSrchTree_Dictionary.h : 사전 클래스를 위한 이진 탐색 트리 클래스#include "BinaryTree_Dictionary.h" class BinSrchTree : public BinaryTree {public:BinSrchTree(void) {}~BinSrchTree(void) {} //이진 탐색 트리의 탐색 연산BinaryNode* search(const char* key) { return searchRecur(root, key); }//키 값으로 노드를 탐색하는 함수 (순환적인 방법)//n을 루트로 갖는 서브트리에서 key를 키값으로 갖는 노드 탐색 함수B.. 더보기 BinaryTree_Dictionary.h :사전 클래스를 위한 이진 트리 클래스 #pragma once#ifndef ___BinaryTree_Dictionary#define ___BinaryTree_Dictionary#include "BinaryNode_Dictionary.h"//BinaryTree_Dictionary.h :사전 클래스를 위한 이진 트리 클래스class BinaryTree {protected:BinaryNode* root;public:BinaryTree() : root(NULL) {}bool isEmpty() { return root = NULL; }void inorder(BinaryNode* node) {if (node != NULL) {if (node->getLeft() != NULL) inorder(node->getLeft());node->display();if.. 더보기 BinaryNode_Dictionary.h : 사전 클래스를 위한 노드 클래스 #pragma once#ifndef ___BinaryNode_Dictionary#define ___BinaryNode_Dictionary//BinaryNode_Dictionary.h : 사전 클래스를 위한 노드 클래스#include #include "Record.h" class BinaryNode : public Record{protected:BinaryNode* left;//왼쪽 자식 노드의 포인터BinaryNode* right;//오른쪽 자식 노드의 포인터public:BinaryNode(const char* w = "", const char* m=""): Record(w,m), left(NULL), right(NULL) {}void setLeft(BinaryNode* l) { left = l; }vo.. 더보기 BinSrchTree.h : 이진 탐색 트리 클래스 #ifndef ___BinSrchTree#define ___BinSrchTree//BinSrchTree.h : 이진 탐색 트리 클래스#include "BinaryTree.h" class BinSrchTree : public BinaryTree{public:BinSrchTree(void){}~BinSrchTree(void){} //이진 탐색 트리의 탐색 연산BinaryNode* search(int key) {BinaryNode* node = searchRecur(root, key);if (node != NULL)printf("탐색 성공 : 키값이 %2d인 노드 = 0x%x\n",node->getData(), node);elseprintf("탐색 실패 : 키값이 %2d인 노드 없음\n", key);retur.. 더보기 BinaryTree : 이진트리 클래스 #pragma once#ifndef ___BinaryTree#define ___BinaryTree//BinaryTree : 이진트리 클래스#include "BinaryNode.h"#include "CircularQueue_Binary.h" class BinaryTree {protected:BinaryNode* root;public:BinaryTree() : root(NULL) {}void setRoot(BinaryNode* node) { root = node; }BinaryNode* getRoot() { return root; }bool isEmpty() { return root == NULL; } //이진트리의 순회 연산 void inorder() { printf("\n inorder: "); inor.. 더보기 BinaryNode.h : 이진 트리를 위한 노드 클래스 #pragma once#ifndef ___BinaryNode#define ___BinaryNode//BinaryNode.h : 이진 트리를 위한 노드 클래스#include class BinaryNode{protected:int data;//트리에 저장할 데이터BinaryNode* left;//왼쪽 자식 노드의 포인터BinaryNode* right;//오른쪽 자식 노드의 포인터public:BinaryNode(int val = 0, BinaryNode* l = NULL, BinaryNode* r = NULL): data(val), left(l), right(r) {}void setData(int val) { data = val; }void setLeft(BinaryNode* l) { left = l; }vo.. 더보기 스레드 이진트리(Thread Binary Tree)를 위한 노드 클래스 ##뭔가 오류가 있음 #pragma once#ifndef ___ThreadedBinTree#define ___ThreadedBinTree//스레드 이진트리(Thread Binary Tree)를 위한 노드 클래스//스레드 이진 트리는 순회를 빠르게 하는 장점이 있으나 문제는 스레드를 설정하기 위하여 삽입이나 삭제 함수가 더 많은 일을 하여야 한다.#include "ThreadedBinNode.h"#include class ThreadedBinTree {ThreadedBinNode* root;public:ThreadedBinTree(): root(NULL) {}void setRoot(ThreadedBinNode* node) { root = node; }bool isEmpty() { return root = NULL; } //스레.. 더보기 이전 1 2 3 4 5 6 7 8 다음