BT의 ADT의 설명 [영상첨부]
template <class btElementType>
BinaryTree <btElementType>
::BinaryTree()
{
nullTree = true;
leftTree = 0;
rightTree = 0;
}
template <class btElementType>
bool
BinaryTree <btElementType>
::isEmpty() const
{
return nullTree;
}
template <class btElementType>
btElementType
BinaryTree <btElementType>
::getData() const
{
assert(!isEmpty());
return treeData;
}
template <class btElementType>
void
BinaryTree <btElementType>
::insert(const btElementType& d)
{
treeData = d;
if (nullTree)
{
nullTree = false;
leftTree = new BinaryTree;
rightTree = new BinaryTree;
}
}
template <class btElementType>
BinaryTree <btElementType>*
BinaryTree <btElementType>
::left()
{
assert(!isEmpty());
return leftTree;
}
left()와 동일하게 어떤 기준노드로 부터 오른쪽 child tree의 주소를 얻어오는 것입니다.
template <class btElementType>
BinaryTree <btElementType>*
BinaryTree <btElementType>
::right()
{
assert(!isEmpty());
return rightTree;
}
template <class btElementType>
void
BinaryTree <btElementType>
::makeLeft(BinaryTree* T1)
{
assert(!isEmpty());
assert(left()->isEmpty);
delete left();
leftTree = T1;
}
makeLeft(BinaryTree* T1)과 동일한 과정을 거칩니다. 다만 왼쪽에 붙히는 걸 오른쪽으로 바꿨을 뿐이죠!
template <class btElementType>
void
BinaryTree <btElementType>
::makeRight(BinaryTree* T1)
{
assert(!isEmpty());
assert(right()->isEmpty());
delete right();
rightTree = T1;
}
'Data Structure' 카테고리의 다른 글
binarySearchTree (0) | 2021.05.27 |
---|---|
LinkedListHashTable (0) | 2021.05.21 |
arrayHashTable (0) | 2021.05.21 |
arrayTable (0) | 2021.05.21 |