# tree
Leetcode - 337. House Robber III
이진 트리 구조로 연결된 집이 존재한다. 인접한 두 집이 털렸을때 경보가 울린다. 경보를 울리지 않고 모든 집을 털때 가장 많이 훔칠 수 있는 금액은?인접한 두 노드를 훔치지 않아야한다. 이전 House Robber 문제들 처럼 현재 노드에서는 훔치거나, 훔치지 않는

[S2 U2]자료구조 회고
자료구조에 대한 회고코드스테이츠 백엔드 부트캠프에 참여한지 한달... 엄청난 벽을 만났다... 자료구조라는 아주 문송하게 만드는 벽...Stack부터 DFS까지... 3일간 짧지만 호되게 혼났다... 새벽 5시부터 화장실도 제대로 못 가고 저녁까지... 자면서도 도대체

[Java/자료구조] Tree, Graph, BST(Binary Search Tree)
데이터가 바로 아래에 있는 하나 이상의 데이터에 무방향으로 연결된 계층적 자료구조이다.하나의 데이터 아래에 여러 개의 데이터가 존재할 수 있는 비선형 구조이다.트리구조는 계층적으로 표현되고, 아래로만 뻗어나가기 때문에 사이클이 없다는 특징이 있다.깊이(depth)트리
파일과 디렉터리의 구조
파일 시스템: 파일들을 위한 일종의 world! 파일들이 잘 동작하게 하기 위한 환경운영체제와 실제 디렉터리들을 전체 관리해주고 있음계층 구조: Tree 형태그림출처:https://coding-factory.tistory.com/499일반 파일(regular

Tree
자료구조 Tree는 이름 그대로 나무의 형태를 가지고 있습니다. 정확히는 나무를 거꾸로 뒤집어 놓은 듯한 모습을 가지고 있습니다. 그래프의 여러 구조 중 단방향 그래프의 한 구조로, 하나의 뿌리로부터 가지가 사방으로 뻗은 형태가 나무와 닮아 있다고 해서 트리 구조라고
Leetcode - 437. Path Sum III 풀이
주어진 트리에서 root부터 leaf까지 path중에 합이 targetSum 과 같은 경우는 총 몇개인가 (root부터 시작될 필요 없음)https://leetcode.com/problems/path-sum-iii/기본적으로 560. Subarray Sum E
Leetcode - 113. Path Sum II
targetSum 값과 트리가 주어질때, 루트 노드부터 leaf까지 path의 합이 targetSum이 되는 path를 모두 찾아라. DFS로 순회하면서 모두 합을 더하여 pathsum값인지 확인. left/right 두개짜리 backtracking 이다. 루트부터 l
Leetcode - 106. Construct Binary Tree from Inorder and Postorder Traversal
어떤 이진트리의 중위순회, 후외순회한 순서가 나열된 두 배열이 주어진다. 이것으로 원래 트리를 만들어라. (단 모든 값은 유니크한 수를 갖는다.)Construct Binary Tree from Preorder and Inorder Traversal기본적으로 105. C
Leetcode - 105. Construct Binary Tree from Preorder and Inorder Traversal 풀이
어떤 이진트리의 전위순회, 중위순회한 순서가 나열된 두 배열이 주어진다. 이것으로 원래 트리를 만들어라. (단 모든 값은 유니크한 수를 갖는다.)Construct Binary Tree from Preorder and Inorder Traversal접근방법 -> 두 배열

B+Tree
B+ 트리 키에 의해서 각각 식별되는 레코드의 효율적인 삽입, 검색과 삭제를 통해 정렬된 데이터를 표현하기 위한 트리자료구조의 일종입니다. 특징 동적임 각각의 인덱스 세그먼트(블록, 노드) 내에 최대와 최소범위의 키의 개수를 가지는 다계층 인덱스로 구성됨 B트리와

kotlin으로 자료구조 알아보기(3) Graph, Tree, Heap, Priority Queue
kotlin Graph, Tree, Heap, Priority Queue
BOJ - 11724 - 연결 요소의 개수
11724번: 연결 요소의 개수문제방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오.입력첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-
Leetcode - 1644. Lowest Common Ancestor of a Binary Tree II
기본적으로 236. Lowest Common Ancestor of a Binary Tree 와 코드는 동일. 하지만 q, p노드를 실제로 방문했는지 체크했는지 여부 추가. 따라서 모든 노드를 방문해야함. 그래서 아래 (1) 코드는 양쪽 자식노드 재귀 호출을 마친 이후
Leetcode - 235. Lowest Common Ancestor of a Binary Search Tree
주어진 Binary Search Tree 에서 두 노드의 가장 가까운 공통 부모 (LCA)를 찾아라.현재 노드의 값이 p, q보다 작다면 LCA는 우측 자식노드에 존재. 이를 재귀적으로 반복.종료조건(base case) 현재 노드 값이 p, q보다 작지도 않고, p,