确定从有限集A到有限集B的函数f是否是函数的算法。

时间:2016-10-23 22:41:16

标签: discrete-mathematics

如何编写一个算法来确定从有限集A到有限集B的函数f是否是函数。

这是我到目前为止所做的:

A: array ( members of set A )
B: array ( members of set B )

Mapped: associative array of Boolean variables.

for each b in B:

Mapped[b] = false


for each a in A:

Mapped[f(a)] = true


Onto = true;

for each b in B:

Onto = Onto AND Mapped[b]


return Onto

这是对的吗?

1 个答案:

答案 0 :(得分:0)

是的,那将会奏效。可能更容易的方法是

for each a in A:
    remove f(a) from B
return (is B empty?)

然后你当然应该先排序B,这样你就可以更快地删除。