2013-02-27 1 views
1

Если у вас есть квадратная область, которая содержит различные числа, то в результате каждого рекуррентного отношения:Может ли кто-нибудь объяснить рекуррентные отношения для четырех и двоичных разделов для поиска в отсортированной таблице?

T (n) = 3T (n/2) + c и T (n) = 2T (n/2) + cn

Я знаю, что первый должен привести к разделению квадов, а второй - к двоичному разделу, но я не могу интуитивно обернуть мою голову вокруг , почему это тот случай. Почему мы делаем 3 рекурсивных вызова в первом случае и 2 во втором? Почему эффект + c или + cn влияет на то, что мы делаем с проблемой?

+0

Немного больше информации по вашему вопросу? что такое квадратная область? и как вы рекурсируете? Поскольку первый из них просто дает вам три рекурсивных вызова, если вы рисуете стоимость дерева рекурсии при каждом вызове, будет константа c. – sukunrt

+0

Таблица сортируется вдоль ее строк и столбцов, и алгоритм пытается найти какое-то определенное значение в регионе. Первым повторением является подход с «четырьмя разделами», а второй - «двоичный раздел». –

+0

Любая связь между вашим текстовым упоминанием о «четырехъядерных» и «двоичных» разделах и ваших повторных формулах совершенно неясна; если вы хотите, чтобы кто-то понял и объяснил это соединение, вы не предоставили контекста достаточно близко. У вас есть ссылка? – comingstorm

ответ

1

Я думаю, что это то, что вы ищете

http://leetcode.com/2010/10/searching-2d-sorted-matrix-part-ii.html

если ваш вопрос только о рекурсии объяснении, я рекомендую прочитать на решение рецидивов с использованием рекурсией дерева и метод мастера

http://courses.csail.mit.edu/6.006/spring11/rec/rec08.pdf

Это объясняет второе повторение и метод. В основном у вас будет дерево рекурсии с высотой (lgn) и стоимость на каждом уровне, равная n.

В первом случае дерево рекурсии будет иметь время выполнения порядка количества узлов в дереве. Высота все равно будет lgn, но стоимость на каждом уровне 3^h * c. Суммирование по этому вопросу даст вам сложность