본문 바로가기

::public/자료구조11

이진 탐색 트리 모든 노드는 유일한 키를 갖는다. 왼쪽 서브트리의 키들은 루트의 키보다 작다. 오른쪽 서브트리의 키들은 루트의 키보다 크다. 왼쪽과 오른쪽 서브트리도 이진 탐색 트리이다. #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("탐색 성공: 키값이 %d인 노드 있음\n", node->getData()); else printf("탐색 실패: 키값이 %d.. 2019. 9. 3.
스레드 이진트리 노드의 개수가 n 이면 전체 링크의 수는 2n. 루트를 제외한 n-1 개의 노드가 부모와 연결됨(간선). 2n 중에 n-1 개를 제외한 n+1 개의 링크가 항상 NULL. n+1개의 NULL 링크에 중위 순회 시에 선행 노드인 중위선행자(inorder predecessor)나 중위 순회 시에 후속 노드인 중위 후속자(inorder successor)를 저장시켜 놓은 트리 class ThreadBinNode{private: int data; ThreadBinNode* left; ThreadBinNode* right;public: bool bThread; public: ThreadBinNode(int value, ThreadBinNode* l, ThreadBinNode* r, bool bTh) : data(.. 2019. 8. 29.
순환 int factorial(int n){ if (n == 1) return 1; else return (n * factorial(n - 1));} int factorialIter(int n){ int result = 1; for (int i = n; i > 0; i--) { result = result * i; } return result;} double power(double x, int n){ if (n == 0) return 1; else if (n % 2 == 0) return power(x*x, n / 2); else return x * power(x*x, (n - 1) / 2);} int fibonacci(int n){ if (n == 0) return 0; if (n == 1) return 1.. 2019. 8. 22.
LinkedList 구현. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134#include using namespace std; class MyNode{private: MyNode* link; int data;public: MyNode(int n) : data(.. 2019. 8. 21.
LinkedList 만들어 보기. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 #pragma once #include using namesp.. 2019. 6. 28.