2011-07-01 81 views
2

在大學時我們瞭解到三種主要的抽象數據類型是容器(堆棧,隊列和表),字典和優先級隊列。可能有無數種方法可以像這樣高水平對ADT進行分組,但這是一個好的開始。何時選擇字典ADT

我不明白什麼時候可以選擇字典ADT來解決計算問題。堆棧和隊列似乎自然而然地出現,但不是字典。

我能想到的一個例子就是我們在現實世界中使用它的字典。詞典保留並排序用於快速查找的單詞集合,並且當你查找單詞時得到的是:正確拼寫,如何發音單詞,它是什麼詞性,單詞的定義等。

隨着我開始更好地理解它,看起來像「字典」似乎是查詢數據庫的另一種方式。當你編寫一個SQL SELECT語句時,你通常會在主鍵等於某個特定值時尋找一個(當然,並不總是可以選擇表中存在的任何字段)。

這是想想字典ADT的正確方法嗎?或者是預期用途比此更有限...

回答

1

您的SQL示例非常準確。您正在搜索主鍵(字典條目的鍵)以獲取與其關聯的某些字段(值)。

我個人發現在我的遊戲編程課程中有用的字典。我會加載我的資源,然後將它們緩存到字典中供以後使用。這樣,我不必知道特定資源的索引號,我可以給它一個與資源相關的密鑰。