我有散列的散列。這個散列有一個字典。我需要找到它具有相同根的所有匹配。例如,我有:紅寶石通過散列迭代
#<Trie:0x00000001bf9a40 @root={
"m"=>{"a"=>{"x"=>{
:end=>true,
"i"=>{"m"=>{
:end=>true,
"i"=>{"m"=>{"l"=>{"i"=>{"a"=>{"n"=>{:end=>true}}}}}}
}},
"w"=>{"e"=>{"l"=>{"l"=>{:end=>true}}}}
}}}
}>
和文字"max"
,"maxim"
,"maximilian"
,"maxwell"
。我如何通過根獲得散列中的所有單詞?例如
t = Trie.new
t.add(.....# now we added words
t.find('max')
#result all words which begins from 'max'
t.find('maxim')
#result all words which begins from 'maxim' => maxim, maximilian
感謝您在格式化 – r90t
不有足夠的時間來獲得完整的答案,但是在找到一個前綴後,解決什麼問題還有一個線索:'remaining = @root [「m」] [「a」] [「x」]'。您的查找方法當然需要通過編程來發現。 。 。這是遞歸方法的練習 - 您需要兩個,一個找到,其他擴展剩餘 –
首先我有。我可以找到我需要的字符串。第二個遞歸方法中存在一個問題,用於查找其他匹配項 – r90t