Для массива, если он не отсортирован, лучшее, что вы можете сделать, это O (n) средний / наихудший случай, потому что вы должны смотреть линейно, пока не найдете нужную строку.Если он отсортирован (что потребует O (nlog (n)), чтобы выполнить сортировку), вы можете сделать это O (log (n)), используя двоичный поиск.Для связанных списков лучшее, что вы можете сделать, независимо от сортировки, это O (n).