能不能设计针对确定数对的通用转换函数?


给你N个数对,形式为<a1, b1>、<a2, b2>、……、<aN, bN>,能不能设计一个转换函数r=transform(c),专门针对这N个数对的,其中c是数对左边的值,r是右边的值 。
注意这些数对是没有任何规律的,唯一确定的是所有数对的值都在0~255之间,数对个数在10个以内。

简单举个例子如下:
给你四个数对:
2, 4
5, 6
7, 187
128, 253
设计一个转换函数,使得4=transform(2),6=transform(5),187=transform(7),253=transform(128),不知道能不能利用数学表达式设计出这样的一个transform函数,谢谢。


更新:如果要求r=transform(c)的同时也要求c=transform(r)呢?也就是说是个对称函数

编程 方程式 程序员 数学

无节操的神官 5 years, 4 months ago

用数学表达式恐怕很难做到,这个我不熟,我只是觉得数学表达式只能表达确定的关系,对于这种完全随机配对的情况恐怕难以表达。

如果用算法逻辑来表达这个 transform 是完全没问题的,你可以看看 gperf 这个项目,你的这种需求就是 perfect hash 的典型需求。

十六夜乱舞 answered 5 years, 4 months ago

Your Answer