c++ - 如何在不使用STL的情况下实现C++字典数据结构

标签 c++ data-structures stl dictionary

我有一个正在进行的项目,主要目标是将单词列表(其中很多单词超过 15k+)加载到数据结构中,然后对该结构进行搜索。我做了一些研究,据我所知,哈希表最适合这个(如果我错了请纠正我,我也尝试过)

这是棘手的部分:我不能为这个项目使用任何 STL。因此,据我所知,我将不得不编写自己的哈希表类或找到一个非常有效的类。我了解表格在基本层面上是如何工作的,但我不确定我是否了解足够的知识来自己编写一个完整的表格。

我环顾了 Google,找不到任何合适的示例代码。

我的问题是有没有人知道如何在 C++ 中执行此操作和/或我可以从哪里找到一些代码来开始。我需要表格的 3 个基本功能:插入、搜索、删除。

思考这个问题时要记住的事情:

  1. 首要关注的问题是速度!这需要快速点亮,而不用担心系统资源。从我所做的阅读来看,哈希表可以比 O(log n) 做得更好考虑多线程吗?
  2. 不能使用 STL!

最佳答案

我认为,排序的字符串数组+二进制搜索应该非常有效。

关于c++ - 如何在不使用STL的情况下实现C++字典数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9344468/

相关文章:

c++ - 以二进制形式打印 double

c++ - 堆栈(数据结构)实现

r - 数据列表到数据矩阵 matlab/R

c++ - 我需要可复制的缓冲区,尽可能轻(例如不是零初始化)?

c++ - QThread::run() 中的 std::condition_variable 用法

C++ - 过度使用虚拟方法?

c++ - n维四阶Runge-Kutta求解器的大迭代误差

c++ - 依赖于规则的模板成员变量

algorithm - 在 O(n) 执行中显示数字金字塔

c++ - 缩小 vector