크래프톤 정글 5기(23)
-
B-Tree, Balanced Tree
정의 : - 2개 이상의 자식 노드를 가질 수 있고, 노드에 2개 이상의 key를 넣을 수 있는 트리구조 특징 : - 다른 트리 구조와는 다르게, 1개의 노드에 2개 이상의 key를 입력할 수 있다. - M차 B-Tree 구조라면, 최대 M개의 자식 노드를 가진다. - Root node, Leaf node를 제외한 각 노드는 최소 ⌈M/2⌉ 개의 자식 노드를 가진다. (나눈 후 반올림) - 각 노드의 최대 key 개수는 M-1개이다. - 각 노드의 key는 정렬 상태이다. - 모든 Leaf node는 같은 높이에 위치한다. - Leaf node는 linked list로 연결되어 있다. - 부모 노드의 값보다 작은 자식노드는 왼쪽, 큰 자식노드는 오른쪽, 중간 값의 자식노드는 중앙에 위치한다. 장점 : -..
2024.04.06 -
MST, Minimum Spanning Tree
Minimum Spanning Tree는 최소 신장 트리이다. Spanning 이 무슨 뜻인지가 잘 와닿지 않았는데, 그래프에 존재하는 '모든 (Vertex=Node=)정점'을 탐색한 트리이다. Tree, Graph, Forest와 같은 다른 개념들이 선행되어야 이해하기 편하기 때문에 차근차근 내가 이해한 걸 작성해보겠다. [Tree] Graph는 Directed/Undirected, Cyclic/Acyclic 구분 없이 Vertex와 Edge로 구성된 하나의 집합체를 의미한다. Tree는 Graph의 하위 개념으로, Undirected + Acyclic 구조를 가진 그래프를 말한다. 1. Vertex마다 개별적인 Edge로 연결되어 있고 (Acyclic) 2. Edge에 특정 방향으로만 가게 하는 방향..
2024.03.29 -
DFS, Depth First Search
DFS는 '깊이 우선 탐색' 으로, 존재하는 자식 노드를 끝까지 탐색한 이후 옆 노드로 들어가서 다시 자식 노드까지 탐색하는 탐색이다. 그림과 같은 트리 구조를 DFS 하게 된다면, [0 -> 1 -> 4 -> 1 -> 5 -> 1 -> 0 -> 2 -> 6 -> 2 -> 0 -> 3 -> 7 -> 3 -> 0] 순서로 이동하게 되고 출력값은 [0 -> 1 -> 4 -> 5 -> 2 -> 6 -> 3 -> 7] 순서로 나온다. [Stack] DFS에서는 스택의 자료구조 형태를 사용한다. 스택의 형태가 적합한 이유는 스택의 LIFO 라는 특징이 가장 크다고 생각한다. 탐색과정을 스택에 저장해두다가, 다음 경로 탐색이 불필요하다고 생각하면 / 최근 경로로 되돌아가야 하기 때문이다. 다음 경로 탐색이 불필요하..
2024.03.28 -
SSR, CSR 동작원리와 장단점
SSR (Server Side Rendering) : 사용자에게 보여질 페이지를 서버가 모두 구성한 다음 전달하는 방식 출처 1. 사용자가 URL에 접근하면, 클라이언트가 서버에게 요청을 보낸다. 2. 서버는 접근 요청을 확인하고, 사용자에게 보여질 데이터가 포함된 HTML 파일과 JavaScript 링크를 클라이언트에 보낸다. 3. 사용자는 완성된 웹페이지를 확인할 수 있다. 이 때 JavaScript도 구성된다. 장점 1. [빠른 초기 로드 속도] : 클라이언트에게 전달이 완료된다면, 시각적으로 웹페이지 전체를 한번에 확인할 수 있다. 2. [검색 엔진 최적화 (SEO) 에 유리] : 사용자의 HTML 파일은 데이터를 포함하며 완성되어 있기 때문에, 크롤링 봇에게 더 우호적이다. 단점 1. [상호 ..
2024.03.25 -
크래프톤 정글을 시작하며
크래프톤 정글 5기, 0318 ~0801 정글에 들어서며 3/18(월) 부터 경기대학교에서 크래프톤 정글 5기 프로그램에 참여중이다. 시험과 면접을 치룰때의 나는 합격을 간절히 바랬겠지만, 막상 프로그램 시작일이 다가오니 입대하는 것 같은 약간의 불쾌한 느낌이 가득했다. 월요일 도착 이후 짧은 입소식과 함께 곧바로 미니 팀 프로젝트를 시작했고, 웹 개발 경험이 없는 나는 팀원들에게 짐덩이가 되지 말자는 목표를 달성하기 위해 열심히 무언갈 했다. 미니 프로젝트를 진행하며 (3/18 ~ 3/21) 목표를 달성했는지 내가 알 수 있는 방법은 없지만, 최대한 목표 +@를 위해 노력했다. 웹 개발 능력과 경험이 풍부한 팀원들과 3일 간 고생하며 느낀 가장 큰 스트레스는, 내가 팀원에게 피해를 줄 수 있다는 걱정 ..
2024.03.22