2013-05-03 45 views
-1

我得到了下面的任務,我不完全理解:什麼是十進制搜索樹?

寫一個程序,實行「十進制搜索樹」,用於搜索在圖書館,警察局,交通管制的流行工具, ...

十進制搜索樹是一棵樹,每個節點有10個孩子,每個數字一個。該樹由第一個程序生成的隨機3位數字文件構建而成。顯然,樹的深度將是4級。然後爲用戶提供以下功能:

目錄樹中的所有數字

搜索樹一定數量開始

搜索所有的數字與某些數字(如「45 *」)

添加一些新的數

刪除一定數量

有人可以向我解釋這是什麼意思?我知道二叉搜索樹是什麼,但無法理解這裏的含義。

+2

它與二叉樹相同,只有10個孩子而不是2個 – 2013-05-03 19:34:21

+2

有沒有像十進制搜索樹那樣的東西。你被要求實現的數據結構被稱爲* trie *(這是正確的拼寫,谷歌它)。我不知道你的教授爲什麼不使用既定的名字。 – 2013-05-03 19:38:12

回答

2

這看起來像trie data structure的特殊版本。一個trie是一種用於存儲字符串的樹(或者在這種情況下是數字)。它的工作原理是一次拆分一位數字。

一個trie中的每個節點總共有10個子指針,每個數字一個。要在樹狀結構中查找數字,請先閱讀第一個數字,然後按照該數字標記的指針。然後,查找第二個數字,然後按照該數字標記的指針。重複此過程,您最終將到達與該號碼對應的trie中的節點。 trie中的每個節點都存儲一個布爾值,指示該節點是否標記單詞的結尾。因此,您可以通過檢查您到達的節點是否設置了該位來檢查您搜索的號碼是否存在於trie中。

欲瞭解更多信息,我建議查看維基百科文章。它應該有很多有用的信息!

希望這會有所幫助!