목록Problem Solving/Algorithms (1)
러닝머신 하는 K-공대생
Segment Tree Implementation (Python)
정말 심심해져서 최근 교내 대회 문제를 업솔빙하고자 '바벨탑' 문제 를 풀다 세그먼트 트리가 기억이 안나서 다시 복습하고 재귀적 방식과 비재귀적 방식으로 구현해 보았다. 개인적으로 탑다운으로 짠게 직관적이고 레이지나 그 외 여러 확장적 측면에서 편한 것 같은데 Python으로 세그트리 문제들 풀어보면 성능적인 면은 확실히 Bottom-Up 방식이 유리한 것 같다. 1. 재귀적 방식 구현 class SegmentTree: def __init__(self, arr): self.n = len(arr) self.tree = [0] * (4 * self.n) self.build(arr, 1, 0, self.n - 1) def f(self, a, b): return min(a, b) def build(self, a..
Problem Solving/Algorithms
2023. 2. 12. 06:26