计算机科学中"地图"的起源

Jam*_*son 9 history dictionary associative-array terminology

在计算机科学中,字图有两种定义.第一个是关联数组,一种容器类型,它将一种类型的值映射到另一种类型的值.一个例子是STL地图.第二个定义来自函数式编程,其中map是一个获取列表和函数的函数,按顺序将函数应用于列表的所有元素,并返回结果列表.

地图的不同定义的起源是什么?我猜测第二个定义可能来自McCarthy LISP的mapcar函数,但我不确定这是否来自另一个有用的.第一个定义对我来说很直观,但我不确定它的来源.

gle*_*ebm 15

这两种结构都在数学意义上定义了一个映射:从一个集合到另一个集合的元素映射.

  • 为了阐述这一点,第一个定义描述了一个映射,而第二个定义描述了映射过程.考虑一下:如果您使用函数映射将列表映射到新列表,并将新列表和旧列表并排放置,则会有一个映射(关联数组). (13认同)

Dav*_*ble 6

嗯,有地图的数学意义,这是一组从一组到另一组的元素.