Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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
Algorithm 使用多个键存储和检索数据的最佳方法_Algorithm_Data Structures - Fatal编程技术网

Algorithm 使用多个键存储和检索数据的最佳方法

Algorithm 使用多个键存储和检索数据的最佳方法,algorithm,data-structures,Algorithm,Data Structures,作为用“C”语言开发的应用程序的一部分,客户端将发送带有两个16字节值和一些数据的请求。两个16字节值中的一个是每客户端UID,另一个是某个随机唯一对象UID。因此,服务器将从客户端接收以下类型的数据: 来自客户1: 来自客户2: 来自客户3: 在收到上述信息后,服务器需要将它们存储在一种表中,并为每个这样的请求响应一个8字节的唯一ID。客户机将使用组合或唯一的8字节ID(由服务器生成)返回服务器,以对与服务器关联的随机数据进行操作 由于收到的此类请求数量庞大,我无法将它们存储在数组中,并

作为用“C”语言开发的应用程序的一部分,客户端将发送带有两个16字节值和一些数据的请求。两个16字节值中的一个是每客户端UID,另一个是某个随机唯一对象UID。因此,服务器将从客户端接收以下类型的数据:

来自客户1:

来自客户2:

来自客户3:

在收到上述信息后,服务器需要将它们存储在一种表中,并为每个这样的请求响应一个8字节的唯一ID。客户机将使用组合或唯一的8字节ID(由服务器生成)返回服务器,以对与服务器关联的随机数据进行操作

由于收到的此类请求数量庞大,我无法将它们存储在数组中,并将索引用作8字节的唯一ID。这也将迫使我进行线性搜索以识别匹配项

那么,我能知道如何以高效的方式组织数据,以便能够使用8字节的唯一ID以及两者的组合进行索引吗?

我认为,您需要在这里使用和存储/查找数据。 添加或更新记录的速度非常快。 如果使用算法,则可以使用哈希表索引作为
唯一的8字节ID
,无需搜索即可直接访问表单元格。当然,该索引将少于8个字节,但我认为,可以用0或更高的值填充它

您可以在项目中获得我自己的双哈希实现作为基础