본문 바로가기

Data Structure2

Data Structure - Graph, Tree, Binary Search Tree Graph (그래프) vertex(정점)와 edge(간선)로 구성된 한정된 자료구조 그래프는 무방향일 수 있음 간선에 의해 연결된 2개의 노드가 대칭일 수 있다는 의미 방향성을 가질 수 있는데, 이는 비대칭 관계를 의미 3개의 꼭짓점과 3개의 변으로 이루어진 그래프 Tree (트리) 트리는 노드로 구성된 계층적 자료구조 최상위 노드(루트)를 만들고, 루트 노드의 Child를 추가하고, Child에 또 Child를 추가하는 방식 A, B, C, D 등 트리의 구성요소를 노드(node)라고 합니다 위 그림의 A처럼, 트리 구조에서 최상위에 존재하는 노드를 root라고 합니다 루트를 기준으로, 다른 노드로의 접근하기 위한 거리를 depth라고 합니다 같은 depth에 존재하는 노드들은 sibling 관계에 있.. 2020. 7. 27.
Data Structure - Linked List & Hash Table Linked List (연결 리스트) 크기가 동적인 자료구조 자료구조를 구성하는 요소 => 이것을 노드(Node)라고 부름 노드의 연결로 이루어진 자료 구조 연결 리스트의 어떠한 임의의 지점에 데이터의 추가와 삭제를 할 경우, O(1) (상수 시간)의 시간 복잡도를 가짐 추가와 삭제에 대해 O(n) (선형 시간)의 복잡도를 갖는 배열과는 다름 추가와 삭제 속도에 대한 대가로, 연결 리스트의 각 노드는 인덱스를 가지지 않음 연결 리스트에서 검색하고자 할 때 전체 연결 리스트를 훑어야 하며, 이는 O(n) (선형 시간)의 복잡도를 필요로 함 Linked List method addToTail(value) : 주어진 값을 연결 리스트의 끝에 추가 remove(value) : 주어진 값을 찾아서 연결을 해제(삭.. 2020. 7. 24.