2016-10-23 7 views
0

有限集合Aから有限集合Bまでの関数fが関数onであるかどうかを決定するアルゴリズムを書くにはどうしたらいいですか?有限集合Aから有限集合Bまでの関数fが関数onであるかどうかを決定するアルゴリズム。

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 

これは正しいです:

これは私がこれまで持っているものでしょうか?

+2

私によく見えます。あなたはA.を得る –

+0

ハハ!ありがとう! – user1738546

答えて

0

うん、うまくいく。潜在的に容易なアプローチは

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

だろうそしてもちろん、あなたはBが最初に並べ替える必要があるので、あなたはより迅速に削除することができます。

関連する問題