2009-12-01 40 views
6

在計算機科學中,有兩個關於單詞地圖的定義。第一個是作爲關聯數組,一種將一種類型的值映射到另一種類型的值的容器。一個例子是STL map。第二個定義來自函數式編程,其中map是一個函數,它接受一個列表和一個函數,將函數按順序應用於列表中的所有元素,並返回結果列表。計算機科學中的「地圖」的起源

地圖的不同定義的起源是什麼?我猜想第二個定義可能來自mapcar function from McCarthy LISP,但我不確定這是否來自另一個有用的。第一個定義對我來說很直觀,但我不確定它來自哪裏。

+0

房子裏有電腦術語詞源學家嗎? – TechZen

回答

14

這些構造都定義了數學意義上的映射:元素從一個集合到另一個集合的映射。

+12

爲了說明這一點,第一個定義描述了一個映射,而第二個定義描述了映射的過程。考慮一下:如果您使用函數映射將列表映射到新列表,並且將新列表和新列表並排放置,那麼您將擁有一個映射(關聯數組)。 – mquander

6

那麼,有數學意義的map,這是從一組到另一組元素的配對。