sfd
☕ Хеш-таблицы в Java: секреты производительности
Посмотрим на проблемы, которые возникают при имплементации хеш-таблицы, когда сложность добавления или удаления из нее не O(1), а линейная, и какие потенциальные атаки можно провести на эту структуру данных (и как их избегают в современных языках программирования на примере Java). Всем привет! Меня зовут Миша Рокс, я – разработчик в Яндексе, и сегодня мы глубже погрузимся в одну из основных и базовых структур данных любого языка – хеш-таблицу. Конкретно – мы посмотрим на проблемы, которые возникают...
Поиск
Алгоритмы поиска - это фундаментальные алгоритмы в компьютерных науках, которые позволяют находить элементы в структурах данных. В этой статье мы рассмотрим основные алгоритмы поиска, их характеристики и реализацию на языке Go. Самый простой алгоритм поиска - линейный. Он последовательно проверяет каждый элемент структуры данных до тех пор, пока не найдет искомый элемент. go func LinearSearch(arr []int, target int) int {
for i, v := range arr {
if v == target {
return i
}
}
return -1
}
// Пример использования
func main() {
data := []int{24, 7, 42, 18, 35, 91}
index := LinearSearch(data, 35)
fmt...