Trie 的简单实现(lua)

    xiaoxiao2022-07-05  159

    function creatTrieNode() return {val = 1} end function InsertTrie(node, s) if node == nil then return end local k = string.sub(s,1,1) if node[k] == nil then node[k] = creatTrieNode() else node[k].val = node[k].val + 1 end if #s > 1 then InsertTrie(node[k], string.sub(s, 2)) end end function SearchTrie(node, s) if node == nil then return 0 end local k = string.sub(s,1,1) if node[k] == nil then return 0 else if #s > 1 then return SearchTrie(node[k], string.sub(s, 2)) else return node[k].val end end end local n = creatTrieNode() local rfile=io.open("1.txt", "r") assert(rfile) for str in rfile:lines() do InsertTrie(n, str) end rfile:close() print("xxxxxxxx", SearchTrie(n, "ab"))

     

    最新回复(0)