tree2 [09-1] 트리(Tree)란? 벌써 트리구조까지 왔다. 트리(Tree)구조는 말그래도 트리모양으로 생각하면 된다. 가지치기 된 모양이다. 그림으로 이해해보자. 트리란? 서로 연결된 노드의 계층형 자료구조이며, 부모-자식 관계로 구성되어 있다. 트리를 올바르게 이해하기 위해선 용어들을 이해해야 한다. - 각 노드들이 있고, 노드들을 연결해서 트리를 만든다. - 루트노드(root): 맨 처음(시작) 노드(A) - 리프노드(leaf): 더이상 뻗어나갈 수 없는 노드 - 자식노드(child), 부모노드(parent), 형제노드(sibling): 계층 구조를 확인하며 상대적 개념 - 차수(degree) : 노드가 갖는 자식의 수. 모든 노드가 n개 이하의 트리를 가진 n진 트리라고 정의.(그림은 3진 트리) - 높이(height): 가장 멀리.. 2023. 11. 15. [04-2] 연결 리스트의 활용 연결 리스트는 앞서 정리한대로 활용성이 매우 뛰어나다. 분명 용량도 크고, 시간도 오래걸리고 복잡도도 크지만 쓰는 데에는 다 이유가 있다. 그래서 활용할 수 있는 Operations들을 정리해보고 구현해보자. - get() 특정 인덱스의 값을 가져온다. 어떻게 해야할까? 1번의 인덱스,,n번의 인덱스 값을 가져오려면? 앞서 든 예시로 보자. 우리반에 18번애 이름을 알고 싶으면? 1번부터 물어서...18번까지 찾으면 된다. 그러면 1번(head)에 접근해서 18번까지 쭉 간다음에 value를 return 하면 되겠지? 즉 n번까지 해야하니까 시간 복잡도는 O(n)이 된다. -insert_at() 특정 위치에 값을 넣고 싶다 어떻게 해야할까? 우선 넣고 싶은 위치(idx)와 값(value)를 받아야겠지. .. 2023. 11. 9. 이전 1 다음