0
다음의 회귀 관계는 T (n) = T (n-1) + 2 + T (n + 1)입니까?
모든 if 문이 다른 문을 제외하고 있기 때문에 중간 변수 할당과 마지막 행을 계산합니다 ...이 접근법이 맞습니까?다음 알고리즘의 반복 관계 란 무엇입니까?
/*
* V is sorted
* V.size() = N
* The function is initially called as searchNumOccurrence(V, k, 0, N-1)
*/
int searchNumOccurrence(vector<int> &V, int k, int start, int end) {
if (start > end) return 0;
int mid = (start + end)/2;
if (V[mid] < k) return searchNumOccurrence(V, k, mid + 1, end);
if (V[mid] > k) return searchNumOccurrence(V, k, start, mid - 1);
return searchNumOccurrence(V, k, start, mid - 1) + 1 + searchNumOccurrence(V, k, mid + 1, end);
}
이진 검색입니까? – Cameron
[이진 검색] (https://en.wikipedia.org/wiki/Binary_search_algorithm)과 유사합니다. 특정 값을 갖는 요소의 수를 계산하기 위해 하나의 일치하는 요소가 발견되면 주변 요소를 스캔 할 수 있다고 생각합니다. – ilkkachu
복잡성은 당신이 언급 한 것이 아닙니다. 그것은 T (n) = 2 * T (n/2) + c이다. –