【发布时间】:2012-09-15 23:57:22
【问题描述】:
我正在处理一项任务,但我无法联系到教授来弄清楚某件事。我们的想法是,我们正在编写一个字谜求解器,使用给定的一组单词,我们将其存储在 3 个不同的字典类中:线性、二进制和哈希。
所以我们从文本文件中读取单词,对于前 2 个字典对象(线性和二进制),我们将单词存储为 ArrayList...很容易。
但是对于 HashDictionary,他希望我们将单词存储在 HashTable 中。我只是不确定 HashTable 的值是什么,或者你为什么要这样做。说明说我们将单词存储在哈希表中以便快速检索,但我只是不明白这是什么意思。将单词存储在数组列表中是有意义的,但我只是不确定键/值对如何帮助字典。
也许我没有提供足够的细节,但我想也许有人会看到这样的东西,而且对他们来说很明显。
我们的每个类都有一个 contains 方法,它返回一个布尔值,表示传入的单词是否在字典中,所以 linear 对 arraylist 进行线性搜索,binary 对 arraylist 进行二进制搜索,而且我不确定哈希....
【问题讨论】:
-
你负责实现三个对象?线性、二进制和散列?什么是“二叉树”——二叉树?二进制搜索?您是存储单词还是字谜?
-
抱歉,一个 LinearDictionary、一个 BinaryDictionary 和一个 HashDictionary。它们每个都从抽象类 Dictionary 扩展而来,该类具有一个名为 contains 的抽象方法,3 个类中的每一个都必须实现该方法。所以每个类通过读取文本文件来加载字典,并将单词存储在数组列表中,在线性和二进制字典的情况下,但我们被告知将单词存储在 HashTable 的 HashDictionary 中,我只是不'不明白为什么。
-
我从未听说过“LinearDictionary”或“BinaryDictionary”。
-
@Richard 如果我不得不猜测,线性字典基本上是一个实现地图样式接口的列表,而 BinaryDictionary 基本上是一个树形图。
-
通用标题暗示这解决了一个普遍问题,但它没有。所以这个问题引起了人们的注意,然后没有提供。因此,这不是一个好问题。 (在我看来,让标题更具体会解决这个问题。)
标签: java