전체 글 (31) 썸네일형 리스트형 NeetCode 17번 알고리즘: Binary Search Tree Alogrithm Codedef search(root, target): if not root: return False if target > root.val: return search(root.right, target) elif target Time ComplexityBalanced: O(logn)Worst (skewed tree) : O(n) Array Binary Search와 다른점Search에서는 O(logn)으로 동일하지만 array와 다르게 insert와 delete가 매우 효율적임. NeetCode 16번 알고리즘: Binary Tree Codeclass TreeNode: def __init__(self, val): self.val = val self.left = None self.right = NoneRoot, Leaf NodesParent, Children Height, Depth Ancestor, DescendentAncestors of 4 : 1,2Dependent of 2 : 1, 3, 4 7/4 코테 일지 (Range Search 예시) Range Search 예시https://neetcode.io/problems/eating-bananas어떠한 문제를 풀 때, 답의 값의 범위 (최소, 최대)를 알고 있으면 최소 부터 1을 더해가며 for문을 돌리는 것이 아닌, binsear range search를 하는 것이 효과적이다. 단순 for문 class Solution: def minEatingSpeed(self, piles, h): k = 1 hours = h + 1 while (hours > h): hours = 0 for pile in piles : hours += int(pile/k) + (pile % k > 0) .. 이전 1 2 3 4 5 6 7 8 ··· 11 다음