Назад к вопросам
Middle
124
questionbank

Какова сложность поиска метода по ключу в коллекции TreeMap?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Сложность поиска метода по ключу в TreeMap составляет O(log n), где n - количество элементов в коллекции.

Это связано с тем, что TreeMap основан на структуре данных "красно-черное дерево". В таком дереве, балансировка гарантирует, что высота дерева логарифмически зависит от количества узлов. Операции поиска, вставки и удаления требуют обхода дерева от корня до нужного узла, что занимает время, пропорциональное высоте дерева.

// Пример поиска в TreeMap
import java.util.TreeMap;

public class TreeMapSearch {

    public static void main(String[] args) {
        TreeMap<Integer, String> treeMap = new TreeMap<>();
        treeMap.put(5, "Пять");
        treeMap.put(2, "Два");
        treeMap.put(8, "Восемь");
        treeMap.put(1, "Один");
        treeMap.put(6, "Шесть");

        // Поиск элемента с ключом 8
        String value = treeMap.get(8);
        // Сложность этой операции O(log n)
        System.out.println("Значение по ключу 8: " + value);

        // Поиск элемента с несуществующим ключом 10
        String notFoundValue = treeMap.get(10);
        // Сложность этой операции тоже O(log n)
        System.out.println("Значение по ключу 10: " + notFoundValue);
    }
}