자료구조 독학중인 1인입니다.
이진탐색트리를 각 노드를 노드 클래스 객체로 구현해서 만들었습니다.
근데 다음으로 넘어가서 힙트리를 하려는 순간 힙정렬할 때 힙트리를 걍 배열로 만들었던 것이 기억났죠.
그 순간 현타가 와서 지금 손에 안잡히네요. 개 뻘짓을 한 걸까요?
B트리 B+트리 같이 복잡한 건 확실히 노드를 별도의 클래스로 구현하는게 좋아보이긴 하는데,
이진트리, AVL트리, 힙트리 같은 경우는 역시 실제 데이터는 배열에 저장하고,
트리 클래스에서 함수를 통해 트리 처럼 보이게 감싸주기만 하는게 정석인가요?
상황에 따라 다른데 예를들어 트리 크기의 변화가 크면 배열을 안쓰는게 좋겠져?
힙트리 같은 완전이진트리 기반 종류면 배열이 이점이 많을 거 같은데 나머진 모르겠네
바이너리힙이 특이한거야
케바케긴 한데 보통 트리는 각 노드를 객체로 구현할때가 많지 바이너리 힙이 좀 특이한 케이스고
배열 빨라서 조아