何时选择字典ADT

时间:2011-07-01 13:00:49

标签: sql database data-structures abstract-data-type

在大学里,我们学习了三种主要的抽象数据类型:容器(堆栈,队列和表),字典和优先级队列。可能有无限多种方法可以将ADT分组到这样的高水平,但这是一个良好的开端。

我真的不明白你何时会选择Dictionary ADT来解决计算问题。堆栈和队列似乎很自然,但不是字典。

我能想到的一个例子是我们在现实世界中使用它的意义上的字典。字典保存和排序的单词集以便快速查找,当你查找单词时得到的是:正确的拼写,如何发音单词,它是什么词性,单词的定义等等。

当我开始更好地理解它时,似乎“字典”似乎是另一种思考查询数据库的方式。当您编写SQL SELECT语句时,通常会查找主键等于某个值的时间(当然,并不总是可以选择表中存在的任何字段)。

这是考虑字典ADT的正确方法吗?或者预期用途比这更有限......

1 个答案:

答案 0 :(得分:1)

您的SQL示例非常准确。您正在搜索主键(字典条目的键)以获取与其关联的一些字段(值)。

我个人发现字典在我的游戏编程课程中很有用。我会加载我的资源,然后将它们缓存到字典中供以后使用。这样,我不必知道特定资源的索引号,我可以给它一个与资源相关的密钥。