Предположим, у нас есть сбалансированное двоичное дерево поиска T, содержащее n чисел. Нам даны два числа L и H, и мы хотим суммировать все числа в T, которые лежат между L и H. Предположим, что в T таких чисел m. Если самая тесная верхняя граница времени для
вычислите сумму O (n a log b n + m c log d n), значение a + 10b + 100c + 1000d равно ____.
(А) 60
(Б) 110
(С) 210
(D) 50
Ответ: (Б)
Объяснение:
int getSum(node *root, int L, int H) { // Base Case if (root == NULL) return 0; if (root->key < L) return getSum(root->right, L, H); if (root->key > H) return getSum(root->left, L, H) if (root->key >= L && root->key <=H) return getSum(root->left, L, H) + root->key + getSum(root->right, L, H); }
Выше всегда занимает O (m + Logn) время. Обратите внимание, что код сначала перемещается по высоте, чтобы найти узел, который находится в диапазоне. Как только такой узел найден, он возвращается для левого и правого потомков. Два рекурсивных вызова выполняются, только если узел находится в зоне действия. Таким образом, для каждого узла, который находится в диапазоне, мы делаем не более одного дополнительного вызова (здесь дополнительный вызов означает вызов узла, который не находится в диапазоне).
Рекомендуемые посты:
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 52
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 65
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 64
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 53
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 54
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 55
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 56
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 57
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 58
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 59
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 60
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 61
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 62
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 63
- ВОРОТА | Sudo GATE 2020 Mock II (10 января 2019 года) | Вопрос 65
0.00 (0%) 0 votes