C语言词典



我正在尝试用C实现一个非常简单的字典。我正在考虑使用链表。我在网上看到了这个实现: https://gist.github.com/kgabis/3141664(我试图在这里发布代码,但它不允许我(。

这似乎有点像我的想法,除了我的值必须是整数。同样在我自己的"get"函数中,我在返回值后没有让我的列表指向尾部,我做错了吗?

我的问题是:它被认为是字典的良好实现代码吗? 我自己的代码有点不同,因为我希望能够打印字典(很难弄清楚我应该如何打印我的键值对! 我还希望能够用键数组和值数组制作字典!

我已经困在那些上几天了,任何帮助都将不胜感激!

我正在尝试用 C 实现一个非常简单的字典。我正在考虑使用链表。[...]它被认为是字典的良好实现代码吗?

,绝对不是。类似字典结构的主要目的是提供非常快速的值插入,删除和查找(给定一个键(,这通常是恒定的时间复杂度(O(1)(。链表将具有线性插入和查找时间复杂性,这意味着要访问知道其键的值,需要O(n)操作,其中n是列表中已经存在的值的数量。这基本上具有与简单未排序数组相同的性能,从而使结构的效用无效。实现这种结构的事实标准方法是使用哈希表,它允许在给定一个相当好的哈希函数和冲突解决策略的情况下,在恒定时间内访问数据。

另请参阅:大 O 表示法。

相关内容

  • 没有找到相关文章

最新更新