gpt4 book ai didi

c - 确保对正确的类型进行正确的操作

转载 作者:行者123 更新时间:2023-11-30 16:03:55 24 4
gpt4 key购买 nike

我想编写一个程序来加载包含大量随机类型的随机数据的键值存储。假设键值存储支持三种类型(字符串、列表和集合),则某些操作对集合有效(例如 union ),但对字符串无效。

#define SUBSTR 0  // substring, only on strings 
#define SEARCH 1 // search, only on strings
#define PUSH 3 // only on lists
#define ADD 4 // only on sets
#define UNION 5 // only on sets

我正在使用随机操作填充表,但希望确保这些操作在正确类型的键上执行。例如,确保 union 操作始终在 set 类型的键上执行。

int optab[100];
optab[0] = ADD
optab[1] = SUBSTR
.
.
.
optab[99] = UNION

对于要执行的每个操作,我可以在程序中首次创建 key 时在本地记录每个 key 的类型,或者继续遍历 key 空间直到找到正确类型的 key 。但我也不想这样做。

使用第一个选项时,用于维护详细信息的结构的大小会随着新键(和类型)的添加而增长。使用第二个选项时,随着键(和类型)的添加,找到该类型的正确键所需的时间也会增加。

是否有一种巧妙的方法可以正确匹配类型和操作,而不依赖于键空间的大小或支持的类型数量?

我希望给定一个操作,我可以生成一个随 secret 钥名称(例如 key90876),其中 90876 是正确类型的随机部分。

最佳答案

如果每个操作仅对一种类型有效,则不需要任何额外的空间或时间 - 您只需根据键的类型将键加载到不同的列表中,每个操作都会在相应的列表上运行。

如果相同的操作可能适用于多种类型,则没有任何特别“聪明”的方法可以做到这一点。这是一个时空权衡的问题,你应该选择最适合你的方法。随机选择 key 直到它与操作匹配为止是可行的,但不能保证在获得正确类型的 key 之前需要尝试多少次。

关于c - 确保对正确的类型进行正确的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3721367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com