在 CLRS 练习 22.1-8 中(我是自学而非在任何大学学习),假设每个数组入口 Adj[u] 是一个哈希表,其中包含 (u, v) ∈ E 的顶点 v。如果所有边查找的可能性相等,那么确定边是否在图中的预期时间是多少?这种方案有什么缺点?为每个边列表建议一种替代数据结构来解决这些问题。与哈希表相比,你的替代方法有什么缺点吗?
因此,如果我用哈希表替换每个链表,则会有以下问题:
1. 确定边是否在图中的预期时间是多少? 2. 有哪些缺点? 3. 为每个边列表建议一种替代数据结构来解决这些问题。 4. 与哈希表相比,你的替代方法有什么缺点吗?
我的部分回答如下:
1. 我认为预期时间是 O(1),因为只需执行 Hashtable t = Adj[u],然后返回 t.get(v)。 2. 我认为缺点是哈希表将占用更多空间。 3. 对于另外两个问题,我还没有头绪。
请问有人能给我一些提示吗?
因此,如果我用哈希表替换每个链表,则会有以下问题:
1. 确定边是否在图中的预期时间是多少? 2. 有哪些缺点? 3. 为每个边列表建议一种替代数据结构来解决这些问题。 4. 与哈希表相比,你的替代方法有什么缺点吗?
我的部分回答如下:
1. 我认为预期时间是 O(1),因为只需执行 Hashtable t = Adj[u],然后返回 t.get(v)。 2. 我认为缺点是哈希表将占用更多空间。 3. 对于另外两个问题,我还没有头绪。
请问有人能给我一些提示吗?