8.2.14. Хэш как разреженная матрица

8.2.14. Хэш как разреженная матрица

Часто в массиве или матрице заполнена лишь небольшая часть элементов. Можно хранить их как обычно, но такое расходование памяти неэкономно. Хэш позволяет хранить только реально существующие значения.

В следующем примере предполагается, что несуществующие значения по умолчанию равны нулю:

values = Hash.new(0)

values[1001] = 5

values[2010] = 7

values[9237] = 9

x = values[9237] # 9

y = values[5005] # 0

Ясно, что обычный массив в таком случае содержал бы более 9000 неиспользуемых элементов, что не всегда приемлемо.

А если нужно реализовать разреженную матрицу размерности два или более? В этом случае можно было бы использовать массивы в качестве ключей:

cube = Hash.new(0)

cube[[2000,2000,2000]] = 2

z = cube[[36,24,36]] # 0

Здесь обычная матрица содержала бы миллиарды элементов.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

FERRMA: Матрица. Эволюция

Из книги Журнал `Компьютерра` №721 автора Журнал «Компьютерра»

FERRMA: Матрица. Эволюция Автор: Денис Степанцов"Историографы" до сих пор расходятся во мнениях, что считать первой цифровой камерой. Кто-то ссылается на первую модель Sony Mavica 1981 года, записывающую снимки на дискеты; кто-то ведет отсчет от 1991-го, когда Kodak с Nikon, объединив


§ 137. Матрица эмоций

Из книги Ководство автора Лебедев Артём Андреевич

§ 137. Матрица эмоций 12 октября 2006Любой человек без труда покажет, где находятся верх и низ. Практически все согласятся с тем, что направление вперед смотрит направо, а назад — налево. Это подкрепляется и направлением письма в западной культуре, и ходом часовой стрелки


3.1. Матрица – «сердце» цифровой камеры

Из книги Цифровая фотография. Трюки и эффекты автора Гурский Юрий Анатольевич

3.1. Матрица – «сердце» цифровой камеры Главное различие цифровых и пленочных камер в том, что цифровая картинка создается не на пленке, а на светочувствительном электронном сенсоре. Это самая важная часть цифровой камеры, которая и определяет качество изображения.


Матрица сайта

Из книги Продвижение порталов и интернет-магазинов автора Гроховский Леонид О.

Матрица сайта Матрица – формат представления структуры сайта, удобный при изучении крупных проектов.Матрица сайта (рис. 10.2):? по горизонтали – категории сайта (ноутбуки, пылесосы);? по вертикали – шаблоны страниц (карточки товаров, каталог товаров);? на пересечении – типы