Временная сложность, установленная в Java

Кто-нибудь может сказать мне временную сложность приведенного ниже кода?

a - это массив из внутр.

Set<Integer> set = new HashSet<Integer>();
for (int i = 0; i < a.length; i++) {
    if (set.contains(arr[i])) {
        System.out.println("Hello");
    }
    set.add(arr[i]);
}

Я думаю, что это O (n) , но я не уверен, так как он использует Set и также содержит методы. Он также вызывает метод add для set .

Может ли кто-нибудь подтвердить и объяснить, какова временная сложность всего приведенного выше кода? Кроме того, сколько места это займет?

17
задан sth 21 July 2011 в 00:20
поделиться