错位储存

错位储存

  • 当我们要给二维的数据一个用一维来表示的位置,我们可以给第一维度的数据赋予一个较大的权值,第二维度的数据赋予一个较小的权值,并确保两者在综合时不会出现交叉的现象。
  • 比如,当一个数据是由变量a和变量b共同来决定的时候,且知道变量a的数据范围是在1到100,变量b的范围在1到9,我可以给a乘上10,给b乘上1,这样这个数据就可以由10a+b来表示,并且不会发生冲突。
    • 冲突:当a的权值是1且b的权值是1时,要表示数字18,有多种表示方案,比如a=17,b=1和a=16,b=2等等,反过来,也就是说18可以表示多种由a和b组成的信息(指代不明)。

联系:

除数和余数的关系,哈希,进制

应用:

  • 二维的并查集
原文地址:https://www.cnblogs.com/BeautifulWater/p/15014302.html