gpt4 book ai didi

algorithm - 键/值对的最佳算法,其中键是 Delphi 中的 int64,Delphi 2009 之前?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:28 25 4
gpt4 key购买 nike

我需要一种算法来存储键/值对,其中键是 Int64。我目前正在使用排序的 IntList(与 TStringList 相同,但存储 int64)。这给了我 O(log n) 的搜索、插入和删除操作。因为我不需要对项目进行排序,所以效率有点低。我需要某种用于 O(1) 操作的哈希表。问题是我能找到的大多数实现都假设键是一个字符串。现在我显然可以将 Int64 键转换为字符串,但这看起来确实很浪费。有什么想法吗?

在输入数据结构之前,我不知道项目的数量。

我还应该补充一点,我已经在 .net 中使用 Dictionary 实现了相同的组件,并且它添加的项目在 .net 版本中要快得多。一旦设置了数据结构,相比之下遍历和检索并没有那么糟糕,但插入让我很头疼。

最佳答案

Delphi 2009 及更高版本添加了泛型。

因此从 Delphi 2009 开始,您可以使用 TDICTIONARY 以与在 .NET 中类似的方式实现键/值对。

而Delphi中的TDICTIONARY使用的是hash table表,操作复杂度为O(1)。

关于algorithm - 键/值对的最佳算法,其中键是 Delphi 中的 int64,Delphi 2009 之前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/280838/

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