Нахождение, если два элемента в предварительно отсортированном массиве суммируют равное определенному значению - PullRequest
5 голосов
/ 05 февраля 2010

Я работаю над проблемой домашней работы, и у меня возникают некоторые трудности при создании решения O (n * logn). Мне нужно написать функцию, которая принимает предварительно отсортированный массив и значение для поиска. Затем мне нужно найти, если любые два элемента массива равны этому значению.

Мне нужно создать оба алгоритма O (n) и O (n * logn) для этого.

O (n) было легко создать; однако, у меня возникают трудности при создании алгоритма O (n * logn) без добавления какого-либо бесплатного кода, который фактически не помогает в решении проблемы. Если бы кто-нибудь мог дать мне несколько советов о том, чего мне не хватает, это было бы оценено.

Ответы [ 2 ]

4 голосов
/ 05 февраля 2010

Начать с первого элемента и идти последовательно. Пока что, ищем второй элемент, используя бинарный поиск.

0 голосов
/ 05 февраля 2010

Поскольку они предварительно отсортированы, вы можете использовать бинарный поиск и линейный поиск

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...