Добро пожаловать! Сегодня поговорим о хеш-таблицах! Хеш-таблица упорядочивает данные, поэтому вы можете быстро найти значения для любого заданного ключа.

Сильные стороны:

  • Быстрый поиск. Поиск в среднем занимает 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/ и следите за новостями, чтобы узнать больше об алгоритмах и структурах данных! Хорошего дня!