Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 序列号创建_Java_Algorithm - Fatal编程技术网

Java 序列号创建

Java 序列号创建,java,algorithm,Java,Algorithm,我要求为文件中发送的任务列表按顺序创建编号 序列号应按照任务的排列顺序进行分配 任务将以不同的时间间隔到达我的应用程序。可以在开始、结束或现有任务之间插入新任务 如果已为任务分配了编号,则在添加新任务时不应修改该编号 序列号可以是精度为1的整数或小数。 有什么算法可以解决这个问题吗?除非你能保证自己会有多倒霉(你必须在最小的会话id间隙中插入任务多少次),否则你最好每次平均邻居。对于足够大的数字和最多50个任务,这与整数兼容 Make fictional T endpoints with se

我要求为文件中发送的任务列表按顺序创建编号

  • 序列号应按照任务的排列顺序进行分配
  • 任务将以不同的时间间隔到达我的应用程序。可以在开始、结束或现有任务之间插入新任务
  • 如果已为任务分配了编号,则在添加新任务时不应修改该编号
  • 序列号可以是精度为1的整数或小数。

  • 有什么算法可以解决这个问题吗?

    除非你能保证自己会有多倒霉(你必须在最小的会话id间隙中插入任务多少次),否则你最好每次平均邻居。对于足够大的数字和最多50个任务,这与整数兼容

    Make fictional T endpoints with session IDs of 0 and 2^50 (# of tasks)
    Each task gets the average of its neighbors' session ids.
    T1 => S 2^49
    T2 => S (0+2^49)/2 = 2^48 or (2^49+2^50)/2 = 2^49 + 2^48
    etc...
    
    所有会话id间隔都是2的幂,我们从一个足够大的范围开始,如果需要,我们可以将其减半50倍


    2^49=562949953421312;idk这比使用浮点值要好多少除非你能保证自己会有多倒霉(你必须在最小的会话id间隔中插入任务多少次),否则你最好每次都平均邻居。对于足够大的数字和最多50个任务,这与整数兼容

    Make fictional T endpoints with session IDs of 0 and 2^50 (# of tasks)
    Each task gets the average of its neighbors' session ids.
    T1 => S 2^49
    T2 => S (0+2^49)/2 = 2^48 or (2^49+2^50)/2 = 2^49 + 2^48
    etc...
    
    所有会话id间隔都是2的幂,我们从一个足够大的范围开始,如果需要,我们可以将其减半50倍


    2^49=562949953421312;idk这比使用浮点值要好多少

    为什么在其他任务之间添加内容时不总是取相邻任务的平均值呢?@Dave这个数字应该很容易解释。如果我取平均值,它将增加更多的十进制精度,使它更复杂。此外,它不需要是十进制数。您所说的“安排订单任务”是什么意思?你不是说它们可以被洗牌吗?@orSt我所说的洗牌是指,新任务可以插入该文件中现有任务之间。我如何为这些新任务分配一个数字?@Vel什么时候应该在现有任务之间/之前插入新任务?为什么不在其他任务之间添加一些东西时总是取相邻任务的平均数?@Dave这个数字应该很容易解释。如果我取平均值,它将增加更多的十进制精度,使它更复杂。此外,它不需要是十进制数。您所说的“安排订单任务”是什么意思?你不是说它们可以被洗牌吗?@orSt我所说的洗牌是指,新任务可以插入该文件中现有任务之间。如何为这些新任务分配一个编号?@Vel什么时候新任务应该插入现有任务之间/之前?这取决于您对“编号”的定义;如果它是一个可变长度的数字(可以编码为
    字节[]
    短[]
    ,等等,您可以做得更好)。但遗憾的是,OP对需求不是很清楚,这取决于你对“数字”的定义;如果它是一个可变长度的数字(可以编码为
    字节[]
    短[]
    ,等等,您可以做得更好)。但遗憾的是,OP对需求不是很清楚。