【发布时间】:2011-09-05 06:52:37
【问题描述】:
我正在尝试使用哈希表构建符号表。总体思路是
int alpha;
2 int beta;
3 alpha = 0; // the alpha declared in line 1
4 beta = 0; // the beta declared in line 2
5 gamma = 0; // Error! gamma hasn't been declared.
6 {
7 int beta; // This beta shadows the one declared in line 2.
8 int gamma;
9 alpha = 0; // the alpha declared in line 1
10 beta = 0; // the beta declared in line 7
11 gamma = 0; // the gamma declared in line 8
12 }
等等。您只能使用向量、列表、堆栈和队列库,并尝试使其尽可能快。 我的想法是在每个范围内,我在列表中声明哈希表并将所有信息保存到该表中,并且每当我有新的范围时,我将新的哈希表 push_back 到列表中。 但是,当程序在远处寻找超出范围的项目时,这种方法似乎非常慢,因为您必须查找每个范围才能找到该项目。
你们有什么想法来实现这个比这更快的范围吗?它应该更快,因为我的实现比“他们提供的慢版本”要慢
非常感谢!
【问题讨论】:
标签: c++ hash hashmap hashtable