2009-12-01 2 views
6

В информатике есть две определения карты слова. Первый - как ассоциативный массив, тип контейнера, который сопоставляет значения одного типа значениям другого типа. Примером этого является STL map. Второе определение - это функциональное программирование, в котором применяется карта - функция, которая берет список и функцию, применяет функцию ко всем элементам списка по порядку и возвращает список результатов.Происхождение «карты» в области компьютерных наук

Каковы происхождение различных определений карты? Я предполагаю, что второе определение могло бы возникнуть из mapcar function from McCarthy LISP, но я не уверен, что это было получено из другого полезного. Первое определение имеет для меня интуитивный смысл, но я не уверен, откуда оно взялось.

+0

Есть ли компьютерный терминологический этимолог в доме? – TechZen

ответ

14

Обе эти конструкции определяют карту в математическом смысле: отображение элементов из одного набора в другое.

+12

Чтобы изложить это, первое определение описывает карту, тогда как второе определение описывает процесс сопоставления. Рассмотрим: если вы использовали карту функций для сопоставления списка в новый список и поместили новый и старый список бок о бок, у вас была бы карта (ассоциативный массив). – mquander

6

Ну, есть математический смысл map, который является соединением элементов из одного набора в другой.