Trie tree implementation in Swift.
https://developer.apple.com/documentation/xcode/adding_package_dependencies_to_your_app
-
Make tree
let tree = TrieTree<Character, String>() tree.insertValue(for: "sea", value: "🌊") tree.insertValue(for: "seat", value: "💺") tree.insertValue(for: "sheep", value: "🐑") tree.insertValue(for: "she", value: "👩") tree.insertValue(for: "tea", value: "🍵") tree.insertValue(for: "triangle", value: "🔺") tree.insertValue(for: "tree", value: "🌳") tree.insertValue(for: "apple", value: "🍎")
-
Tree traversal
print(tree.nextState(key: "a")).value // => nil print(tree.nextState(key: "p")).value // => nil print(tree.nextState(key: "p")).value // => nil print(tree.nextState(key: "l")).value // => nil print(tree.nextState(key: "e")).value // => "🍎"
TrieTree
can generate PlantUML format text for debugging.
print(tree.generatePlantUMLString()) // => "@startuml ... @enduml"
The generated text can be rendered like the figure below.
MIT