2014-10-09 87 views
0

所以我有一個面試問題,我會用什麼數據結構來實現一本字典。我說了一張地圖,因爲你可以輸入單詞並獲得定義。你會用什麼數據結構來實現字典?

後續問題是我用什麼數據結構來實現一個系統,用戶只需要查找一個字的一定數量的起始字母(即前三個字母),這樣用戶就可以得到例如,字典中以fic開頭的所有單詞的列表。

我說了一些關於二叉樹的東西,但我真的不知道;面試官說答案是TYPEAHEAD,就像Microsoft Visual Studio的intellisense所做的一樣。我不知道那是什麼,我試圖在谷歌上查找它,但我得到了一些奇怪的搜索結果。即使我不知道這是什麼,從來沒有使用它,這絕對是一個有趣的問題。

有誰知道如何做到這一點?什麼樣的數據結構以及實施方法是什麼?

編輯:我很困惑,爲什麼這是關閉。這不是一個編程問題嗎?

+0

我會想象它仍然是一個地圖,你會使用專門的排序和發現謂詞來獲得你想要的鍵範圍。 – Aesthete 2014-10-09 22:24:02

+8

TYPEAHEAD不是我知道的標準數據結構的名稱。面試官充滿了這個問題,除非問題是針對提供這種數據結構的技術棧。但值得一提的是,您應該尋找一種名爲「trie」的基於樹的數據結構。這就是我認爲智能感知實際上已經實施的原因。 – 2014-10-09 22:29:25

回答

1

使用Trie,一種類型的樹。按照此鏈接解決方案和更好的理解:Trie

+0

這不是一個僅鏈接的答案。這是一個可以接受的嘗試來回答這個問題,但對細節來說很少。更大的問題是,整個問題過於廣泛和基於觀點。 – JasonMArcher 2014-12-29 18:16:13