c++ 中的散列 table 能否以类似于 Python 中的字典的方式使用?
Can a hash table in c++ be used in a similar fashion to a dictionary in Python?
我在 12 年级学习计算机科学 class,我的老师要求我们做一个涉及基本功能复习的作业,以便自去年以来再次使用 C++ 来获得舒适table。
我正在重新创建一个 Python 程序,该程序使用字典将键值保存为商店产品(例如 "Pasta"),并将该键的值保存为价格(例如3.99) 并使用该字典创建购物体验,填充购物车,然后使用键及其值检查购物车中的商品。
但是,我很难重新创建字典在 C++ 中提供的键值存储。
我想知道散列 table 是否是一个有效的解决方案?我对此做了一些研究,它看起来很有希望,但我不知道它是否是死胡同。
C++ 标准库有一个名为 std::map
的容器,它存储 key-value 对,可以快速找到给定键的值。它是作为二叉搜索树实现的,因此它的搜索具有对数复杂度。
还有一个名为 std::unordered_map
的容器,它使用散列 table 来存储具有恒定平均搜索复杂度的元素。
我在 12 年级学习计算机科学 class,我的老师要求我们做一个涉及基本功能复习的作业,以便自去年以来再次使用 C++ 来获得舒适table。
我正在重新创建一个 Python 程序,该程序使用字典将键值保存为商店产品(例如 "Pasta"),并将该键的值保存为价格(例如3.99) 并使用该字典创建购物体验,填充购物车,然后使用键及其值检查购物车中的商品。
但是,我很难重新创建字典在 C++ 中提供的键值存储。
我想知道散列 table 是否是一个有效的解决方案?我对此做了一些研究,它看起来很有希望,但我不知道它是否是死胡同。
C++ 标准库有一个名为 std::map
的容器,它存储 key-value 对,可以快速找到给定键的值。它是作为二叉搜索树实现的,因此它的搜索具有对数复杂度。
还有一个名为 std::unordered_map
的容器,它使用散列 table 来存储具有恒定平均搜索复杂度的元素。