스터디/GITHUB 필사

스터디/GITHUB 필사

[자료구조] Binary Heap

⭐ ⭐⭐ GITHUB 보러가기 ⭐ ⭐⭐ 1️⃣ Binary Heap 자료구조의 일종으로 Tree의 형식을 하고 있으며, Tree 중에서도 배열에 기반한 Complete Binary Tree 이다. 배열에 트리의 값들을 넣어줄 떄, 0번째는 건너뛰고 1번 index 부터 루트노드가 시작된다. 이는 노드의 고유번호 값과 배열의 Index 를 일치시켜 혼동을 줄이기 위함이다. 힙Heap 에는 최대힙(max heap), 최소힙(min heap) 두 종류가 있다. Max Heap 이란, 각 노드의 값이 해당 children 의 값보다 크거나 같은 complete binary tree 를 말한다. (Min Heap 은 그 반대이다.) Max Heap 에서는 Root Node 에 있는 값이 제일 크므로, 최대값을 찾..

스터디/GITHUB 필사

[자료구조] Tree

⭐ ⭐⭐ GITHUB 보러가기 ⭐ ⭐⭐ 1️⃣ Tree 트리는 스택이나 큐와 같은 선형 구조가 아니라 비선형 자료구조이다. 트리는 계층적 관계 (Hierarchical Relationship)을 표현하는 자료구조이다. 이 트리라는 자료구조는 표현에 집중한다. 무엇인가를 저장하고 꺼내야 한다는 사고에서 벗어나 트리라는 자료구조를 바라보자. [ 트리를 구성하고 있는 구성요소들 (용어) ] ① Node 노드 : 트리를 구성하고 있는 각각의 요소를 의미한다. ② Edge 간선 : 트리를 구성하기 위해 노드와 노드를 연결하는 선을 의미한다. ③ Root Node 루트 노드 : 트리 구조에서 최상위에 있는 노드를 의미한다. ④ Terminal Node ( = leaf Node , 단말 노드 ) : 하위에 다른 노드..

스터디/GITHUB 필사

[자료구조] Stack and Queue

⭐ ⭐⭐ GITHUB 보러가기 ⭐ ⭐⭐ 1️⃣ Stack 선형자료구조의 일종으로 Last In First Out (LIFO) - 나중에 들어간 원소가 가장 먼저 나온다. 또는 First In Last Out (FILO) - 먼저 들어간 원소가 나중에 나온다. 이것은 Stack 의 가장 큰 특징이다. 차곡차곡 쌓이는 구조로 먼저 Stack 에 들어가게 된 원소는 맨 바닥에 깔리게 된다. 그렇기 때문에 늦게 들어간 녀석들은 그 위에 쌓이게 되고 호출 시 가장 위에 있는 녀석이 호출되는 구조이다. 2️⃣ Queue 선형 자료구조의 일종으로 First In First Out (FIFO) - 먼저 들어간 놈이 먼저 나온다. Stack 과는 반대로 먼저 들어간 놈이 맨 앞에서 대기하고 있다가 먼저 나오게 되는 구조..

스터디/GITHUB 필사

[자료구조] Array vs Linkded List

⭐ ⭐⭐ GITHUB 보러가기 ⭐ ⭐⭐ 1️⃣ Array 가장 기본적인 자료구조인 Array 자료구조는, 논리적 저장 순서와 물리적 저장 순서가 일치한다. 따라서 Index 로 해당 원소(element)에 접근할 수 있다. 그렇기 때문에 찾고자 하는 원소의 인덱스 값을 알고 있으면 Big-0(1) 에 해당 원소로 접근할 수 있다. 즉 random access 가 가능하다는 장점이 있는 것이다. 하지만 삭제 또는 삽입의 과정에서는 해당 원소에 접근하여 작업을 완료한 뒤 (O(1)), 또 한가지의 작업을 추가적으로 해줘야 하기 때문에, 시간이 더 걸린다. 만약 배열의 원소 중 어느 원소를 삭제했다고 했을 때, 배열의 연속적인 특징이 깨지게된다. 즉 빈 공간이 생기는 것이다. 따라서 삭제한 원소보다 큰 인덱스..

공또뤼
'스터디/GITHUB 필사' 카테고리의 글 목록