일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Segment Tree
- 리액트 성능 최적화
- useReducer
- 섬 연결하기
- rest operator
- java
- 객체지향 설계 5원칙
- State
- Greedy
- useContext
- batch udpate
- DFS
- 리액트의 작동방식
- MST구현
- Lifting State Up
- BOJ2042
- JS Array Functions
- useState
- Modern Javascript
- react
- 프로그래머스
- DB Navigator
- React 훅 사용규칙
- state update scheduling
- Kruskal Algorithm
- 프로그래머스#JAVA
- spread operator
- 리액트 상태값 업데이트
- heap
- codility
- Today
- Total
목록Segment Tree (2)
개발하는SM
https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 합을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net Segment Tree 를 활용하여 풀 수 있는 문제 2021.08.22 - [Algorithm - 이론] - [트리] 세그먼트 트리 - 부분 합 효율적으로 구하기 [트리] 세그먼트 트리 - 부분 합 효율적으로 구하기 여러 개의 데이터가 연속적으로 존재할 때, 특정한 범위의 데이터 합을 가장 빠르고 간단하게 구할 수 있는 자료구조 예시 데..

여러 개의 데이터가 연속적으로 존재할 때, 특정한 범위의 데이터 합을 가장 빠르고 간단하게 구할 수 있는 자료구조 예시 데이터 : A[] = {1,9,3,8,4,5,5,9,10,3,4,5}; 위와 같이 단순 배열을 사용해 특정 구간의 합을 선형적으로 구할 경우, (1~10) 범위의 데이터 합을 구하려면 원소 하나씩 접근하여 더해줘야 함. 따라서 O(10). 특정 구간에 포함되는 데이터의 개수가 N개일 경우 O(N) 이 된다. 하지만, 세그먼트 트리 구조를 이용해 구한다면, O(logN) 의 시간복잡도로 구할 수 있다. 세그먼트 트리는 아래와 같은 절차대로 활용할 수 있다. 1. 구간 합 트리(Segment Tree) 생성 구간 합 트리의 각 Node 에는 각각 위 예시 데이터 배열의 구간 합을 저장한다...