강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của kakanu
kakanu

câu hỏi đã được viết

Làm nó! Thuật toán kiểm tra lập trình với C++

LCA (ứng dụng - tính toán nhanh)

LCA 빠르게 찾기 - 트리의 높이에 따른 k값 질문

Viết

·

110

0

이번 강의 3회차로 잘 보고 있습니다.

앞선 강좌 LCA 빠르게 찾기에서는 트리의 깊이는

2^K < (트리의 최대 높이)를 만족하는 K의 최대값이라고 하셨는데

실제 코딩 하실때는 아래 코드 처럼 작성하셨는데 최악인 편향 트리일때 과정하고 넉넉하게 K값을 구하는건 이해했습니다.

아래 코드에서는 N이 2^K > N 을 만족하는 최소 K값을 구하식으로 구하셨더라구요 이렇게 구해도 답은 나오는데 왜 이런지 몰라서 그런데 보충 설명 가능할까요?

// N의 트리가 편향 트리라고 간주
// 최악일 경우 KMax를 구한다.
int temp = 1;
KMax = 0;
while (temp <= N)
{
	temp <<= 1;
	KMax++;
}
// 2^k < N
// KMax - 1 하는게 맞지 않나?
c++코딩-테스트알고리즘

Câu trả lời

Câu hỏi này đang chờ câu trả lời
Hãy là người đầu tiên trả lời!
Hình ảnh hồ sơ của kakanu
kakanu

câu hỏi đã được viết

Đặt câu hỏi