Добро пожаловать! Сегодня поговорим о хеш-таблицах! Хеш-таблица упорядочивает данные, поэтому вы можете быстро найти значения для любого заданного ключа.
Сильные стороны:
- Быстрый поиск. Поиск в среднем занимает O (1) раз.
- Гибкие клавиши. Для ключей можно использовать большинство типов данных, если они хешируемы.
Слабые стороны:
- Медленный поиск в худшем случае. Иногда берут O (n).
- Неупорядоченный. Неееет!
- Нет кеша. Какие? На это уходит много времени!
Примеры хэш-карты
# Python 3 sunHeat = { 'core': 3.5, # in million of Sun's heat }
// C++ // In C++, it's called unordered_map.unordered_map<string, int> sunHeat; // In million of Sun's Heat sunHeat.insert(make_pair("core", 3.5)); // More Insertions
// JavaScript// Hash map is called object in JavaScript const sunHeat = { 'core': 3.5, // in million of Sun's heat };
// Java // In Java, it's called hash map.HashMap<String, Integer> sunHeat = new HashMap<>(); sunHeat.put("core", 3.5); // In million of Sun's Heat
// Swift // In Swift, Hash Map is called dictionaries.var sunHeat: [String: Int] = [:] sunHeat["core"] = 3.5 // in million of Sun's heat
Возникли проблемы с Hash Map?
Думайте о хэш-карте как о массиве.
Спасибо за чтение! Если вам это понравилось, пожалуйста, похлопайте! И не забудь подписаться на меня в Твиттере; Https://twitter.com/aaronhma/ и перейдите на мой личный веб-сайт: https://aaronhma.com/ и следите за новостями, чтобы узнать больше об алгоритмах и структурах данных! Хорошего дня!