Algorithm 공부 #21 - 세그먼트 트리 세그먼트 트리(Segmant Tree) ● 주어진 제이터의 구간 합과 데이트 업데이트를 빠르게 수행하기 위한 알고리즘 ● 트리 초기화 / 질의값 구하기(구간 합 구하기, 최대, 최소) / 데이터 업데이트하기의 과정으로 나뉨 ● 트리 초기화하기 1. 데이터의 개수가 2^k일때 start_index=2^k 2. 2^k+1 인덱스부터 리프노드를 제외한 나머지 노드의 값을 채우기 3. 구간 합일 때 : A[N] = A[2N] + A[2N+1] / 최대 : A[N] = max(A[2N], A[2N+1) 최소 : A[N] =min(A[2N],A[2N+1]) ● 질의값 구하기 1. 질의 인덱스를 세그먼트 트리 인덱스로 변환 => 세그먼트 트리 index = 주어진 질의..
Algorithm 공부 #02 - 자료구조(배열과 리스트, 벡터와 구간 합) 배열 ● 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조 ● 인덱스를 사용하여 값에 바로 접근할 수 있음 ● 배열의 크기는 선언할 때 저장할 수 있으며, 한 번 선언하면 크기를 늘리거나 줄일 수 없음 ● 새로운 값을 삽입하거나 특정 인덱스에 있는 값을 삭제하기 어려움, 값을 삽입하거나 삭제하려면 해당 인덱스 주변에 있는 값을 이동시키는 과정이 필요함 ● 구조가 간단하여 코테에서 많이 사용한다! 리스트 ● 값과 포인터를 묶은 노드라는 것을 포인터로 연결하는 자료구조 ● 인덱스가 없어서 값에 접근하기 위해 Head포인터부터 순서대로 접근해야 함, 값에 접근하는 속도가 느림 ● 포인터로 연결되어 있어 데이터를 삽입하거나 연산하..
- Total
- Today
- Yesterday
- 카운팅 정렬
- 이분 매칭
- 자바
- C++
- 에라토스테네스의 체
- java
- HTML5
- 알고리즘 공부
- 스택
- 유클리드 호제법
- 백준
- c++ string
- html
- 세그먼트 트리
- 반복문
- 알고리즘
- Do it!
- BFS
- DFS
- 스프링 부트 crud 게시판 구현
- 자료구조
- 우선순위 큐
- 투 포인터
- 유니온 파인드
- 자바스크립트
- DP
- C++ Stack
- 백준 풀이
- CSS
- js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |