-
자료구조 종류
Array
LinkedList
Stack
Queue
TeeeTree구분
Tree: Node가 하나이상의 자식을 가지는 것(없는것Ex: LinkedList)
Tree에서 leaf: Tree의 최하단에 더이상 자식이 없는 것.
BinaryTree: 자식이 최대 2개까지 붙는 것.
TernaryTree: 자식이 최대 3개까지 붙는 것.
BinarySearchTree: 부모Node의 왼쪽 자식Node과 그 이하Node들은 모두 작아야 한다. 오른쪽은 모두 커야 한다.
Tree에서 balance: Node들이 어느한쪽으로 심하게 치우쳐 지지 않은 경우 balance가 맞다고 본다.
balance가 맞는 대표적 트리: red-black tree, AVL tree
CompleteBinaryTree(완전이진트리): Node들의 최하단 레벨이 같아야하며(단 마지막 레벨을 제외한 것), 마지막 레벨은 왼쪽부터 채워져 있어야 한다.
FullBinaryTree: 모든 Node들에 자식이 모두 2개이거나 하나도 없는 경우.
PerfectBinaryTree: 모든 Node들이 2개의 자식을 가지며 최하단 레벨이 모두 일치하는 것. 레벨의 갯수를 n이라 가정하면 2^n-1개의 Node를 가지는 것.